VIM的使用
来源:互联网 发布:淘宝客自媒体推广平台 编辑:程序博客网 时间:2024/05/16 05:35
- Ctrl + f 屏幕向前翻动一页(常用)
- Ctrl + b 屏幕向后翻动一页(常用)
- Ctrl + d 屏幕向前翻动半页
- Ctrl + u 屏幕向后翻动半页
- mchar 用字母char标记当前光标的位置
- `char 移至char所标记处
- 'char 移至char标记所在行的开头处
- "(一个双引号) 移至当前行上一次所在位置(在光标移动之后)
- ''(两个单引号) 移至当前行上第一次所在位置的行的开头处(在光标移动之后)
- n<space> 按下数字后再按空格键,光标会向右移动这一行的n个字符。例如:20<space>,则光标会向右移动20个字符
- 0 (这是数字0)移动到这一行的第一个字符处(常用)
- $ 移动到这一行的最后一个字符处(常用)
- H 光标移动到这个屏幕最上方的那一行
- M 光标移动到这个屏幕中央的那一行
- L 光标移动到这个屏幕最下方的那一行
- G 移动到这个文件的最后一行(常用)
- nG 移动到这个文件的第n行。例如20G,则会移动到这个文件的第20行(可配合:set nu)
- n+<h>|<j>|<k>|<l> 光标向左|下|上|右移动n次(常用)
- n<Enter> 光标向下移动n行
- /word 在光标之后查找一个名为word的字符串(常用)
- ?word 在光标之前查找一个名为word的字符串
- :n1,n2s/word1/word2/g 在第n1与n2行之间查找word1这个字符串,并将该字符串替换为word2(常用)
- :1,$s/word1/word2/g 从第一行到最后一行查找word1字符串,并将该字符串替换为word2(常用)
- :1,$s/word1/word2/gc 从第一行到最后一行查找word1字符串,并将该字符串替换为word2,且在替换前显示提示符让用户确认(conform)(常用)
- x,X x为向后删除一个字符,X为向前删除一个字符(常用)
- nx 向后删除n个字符
- dd 删除光标所在的那一整行(常用)
- ndd 删除光标所在行的向下n行,例如,20dd则是删除20行(常用)
- d1G 删除光标所在行到第一行的所有数据
- dG 删除光标所在行到最后一行的所有数据
- yy 复制光标所在行(常用)
- nyy 复制光标所在行的向下n行,例如,20yy则是复制20行(常用)
- y1G 复制光标所在行到第一行的所有数据
- yG 复制光标所在行到最后一行的所有数据
- y+<h>|<j>|<k>|<l> 复制光标向左|下|上|右的文本(常用)
- p,P p为复制的数据粘贴在光标下一列,P则为粘贴在光标列(常用)
- J 将光标所在行与下一行的数据结合成一行
- u 恢复前一个动作(常用)
- i, I 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退(常用)
- a, A 添加:由当前光标所在处的下一个字符开始输入,已存在的字符会向后退(常用)
- o, O 插入新的一行:从光标所在处的下一行行首开始输入字符(常用)
- r, R 替换:r会替换光标所指的那一个字符;R会一直替换光标所指的文字,直到按下Esc为止(常用)
- :w 将编辑的数据写入硬盘文件中(常用)
- :w! 若文件属性为只读,强制写入该文件
- :q 退出vi(常用)
- :q! 若曾修改过文件,又不想保存,使用!为强制退出不保存文件
- :wq 保存后退出,若为:wq!,则为强制保存后退出(常用)
- :w [filename] 将编辑数据保存为另一个文件(类似另存新文档)
- :r [filename] 在编辑的数据中,读入另一个文件的数据。亦即将 filename这个文件内容加到光标所在行的后面
- :set nu 显示行号,设定之后,会在每一行的前面显示该行的行号
- :set nonu 与set nu相反,为取消行号
- n1,n2 w [filename] 将n1到n2的内容保存为filename这个文件。
- xp 交换两个字符位置
- ddp 上下两行调换
- d$ 从当前位置删除到行尾
- y$ 从当前位置复制到行尾,如果要粘贴到其他地方 p 就可以了
- :ab string strings
- :map keys new_seq 定义你当前 键盘命令
- :set [all] 如显示行号 :set nu 写程序时自动缩进 :set autoindent
- 单个字符替换用r,覆盖多个字符用R,用多个字符替换一个字符用s,整行替换用S
- :%s/old_word/new_word/g 这个指令是于在整个文件中替换特定字符串
- d l 删除当前字符(与x命令功能相同)
- d 0 删除到某一行的开始位置
- d ^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)
- d w 删除到某个单词的结尾位置
- d 3 w 删除到第三个单词的结尾位置
- d b 删除到某个单词的开始位置
- d W 删除到某个以空格作为分隔符的单词的结尾位置
- d B 删除到某个以空格作为分隔符的单词的开始位置
- d 7 B 删除到前面7个以空格作为分隔符的单词的开始位置
- d) 删除到某个语句的结尾位置
- d 4) 删除到第四个语句的结尾位置
- d( 删除到某个语句的开始位置
- d } 删除到某个段落的结尾位置
- d { 删除到某个段落的开始位置
- d 7 { 删除到当前段落起始位置之前的第7个段落位置
- d d 删除当前行
- d /text 删除从文本中出现“ text”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容
- d fc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容
- d tc 删除当前行直到下一个字符“ c”所出现位置之间的内容
- D 删除到某一行的结尾
- d $ 删除到某一行的结尾
- 5 d d 删除从当前行所开始的5行内容
- d L 删除直到屏幕上最后一行的内容
- d H 删除直到屏幕上第一行的内容
- d G 删除直到工作缓存区结尾的内容
- d 1 G 删除直到工作缓存区开始的内容
- c l 更改当前字符
- c w 修改到某个单词的结尾位置
- c 3 w 修改到第三个单词的结尾位置
- c b 修改到某个单词的开始位置
- c W 修改到某个以空格作为分隔符的单词的结尾位置
- c B 修改到某个以空格作为分隔符的单词的开始位置
- c 7 B 修改到前面7个以空格作为分隔符的单词的开始位置
- c 0 修改到某行的结尾位置
- c) 修改到某个语句的结尾位置
- c 4) 修改到第四个语句的结尾位置
- c( 修改到某个语句的开始位置
- c } 修改到某个段落的结尾位置
- c { 修改到某个段落的开始位置
- c 7 { 修改到当前段落起始位置之前的第7个段落位置
- c tc 修改当前行直到下一个字符c所出现位置之间的内容
- C 修改到某一行的结尾
- c c 修改当前行
- 5 c c 修改从当前行所开始的5行内容
- . 重复上一次修改!
- s 将当前字符替换为一个或多个字符
- S 将当前行替换为一个或多个字符
- 5 s 将从当前字符开始的5个字符替换为一个或多个字符
- :g/s1/s/s2/s3/g 第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换,s表示替换,s2是要被替换的字符串,它可以和s1相同(如果相同的话用//代替),s3是替换字符串
- fx 往右移动到 x 字符上
- Fx 往左移动到 x 字符上
- tx 往右移动到 x 字符前
- Tx 往左移动到 x 字符后
- ; 分号,配合 f 和 t 使用,重复一次
- , 逗号,配合 f 和 t 使用,反方向重复一次
- vi 环境选项
noautoindent nomodelines noshowmode
autoprint nonumber noslowopen
noautowrite nonovice tabstop=8
nobeautify nooptimize taglength=0
directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpbtags=tags /usr/lib/tags
noedcompatible prompt tagstack
noerrorbells noreadonly term=vt100
noexrc redraw noterse
flash remap timeout
hardtabs=8 report=5 ttytype=vt100
noignorecase scroll=11 warn
nolisp sections=NHSHH HUuhsh+c window=23
nolist shell=/bin/ksh wrapscan
magic shiftwidth=8 wrapmargin=0
mesg noshowmatch nowriteany
在 .profile 里设置 vi 的环境选项
- vi同时打开多个文件时,CTRL-SHIFT-6回到上一个文件,在本次vi的文件和上次vi的文件之间切换。也可以使用 :e# 进行切换。
编程相关
- 若想查找socket()函数的man page,只需在vim中把光标至于socket()上面,然后按K(大写),vim就会自动跳转,看完man后按q再按回车又可以回到原处。
- 去掉/etc/vim/vimrc文件中的“"syntax on “前面的双引号就能开启语法高亮
- vim的使用
- vim的使用
- vim的初级使用
- vim的使用
- 高效率的使用VIM
- vim+cscope的使用
- VIM的使用
- vim+cscope的使用
- vim taglist的使用
- Vim中退格键的使用
- vim+cscope的使用
- vim的使用 - 笔记
- vim 的使用
- 高效率的使用VIM
- vim的使用技巧
- vim的使用
- 高效率的使用VIM
- vim的使用技巧
- 将一个十六进制字符串转换为十进制数值的问题
- 想写一个供教育培训机构排课和教师管理的软件
- struct2 需导入的包
- VIM中查看头文件和库函数的方法
- Operating System not found for VMware解决方案
- VIM的使用
- typedef用法小结
- typedef使用大全3(指向函数的指针)//typedef的使用可以隐藏复杂的函数指针语法
- C/C++中函数指针的含义
- Linux上批量删除.svn目录
- 算法 - 插入排序(C#)
- C语言---回调函数------------->解析
- c++编译小错误解决2009_10_10(不断增加中)
- 在程序中启动或关闭另一个程序