2. 命令:J 删除换行符
3. 命令:U 撤销对一行的操作
4. 命令:CTRL+R 对撤销的恢复
5. 命令:0 在可以在当前行的下面另起一行, 并使当前模式转为Insert模式
注:命令大写的'O'将在当前行上面另起一行
6. 命令:<数字>命令 对某个命令重复数字次,例如:9x ,相当于删9次
7. 光标移动命令:
. $, ^, [[ $移动到行尾, ^命令移动到行首, [[移动到程序块开始处(即函数开始处)
. w, e, b, ge 命令以字为单位移动光标,并置于第一个字符,e命令同样,但置于最后一个字符. b是w命令的反方向. ge是e的
反方向命令.
. fx, FX 在当前行上查找x字符,并移动到x字符上. FX是反方向的搜索.
. zz 将当前行置于屏幕正中央
8. 命令:" 移动到和当前"("相匹配的上一个括号上去
9. 命令:<数字>G 跳转到数字所示的行上, `命令(数字1左边的符号)会返回到刚才跳转的地方.
注:单独一个G会把光标定位到最后一行上, gg命令会跳转到第一行
10. 命令:r 替换当前字符
11. 命令:. 重复上次做出的修改(功能强大的命令).
12. 可视模式:v 进入可视模式,会移动光标移动光标以覆盖你想操纵的文本范围. 同时被选中的文本会以高亮显示. 最后
键入操作命令
13. 命令:p 粘贴命令
14. 命令:y 拉取命令
15. 命令:c 剪切命令
16. 替换模式:R 进入替换模式,你输入的每个字符会替换当前的字符。
17. 向上移动10行: 10k 其他类似
18. :e! 类似 :q!, :e!命令放弃所有修改,重新调入原始文件.
19. 搜索
. / ? /命令向前搜索,特殊字符前加\,n命令找到下一个,如果要确认找到第几个,可用3n命令等。?命令类似/,但
是向后搜索.
. 查找整个词,搜索模式为/the\>,匹配单词的结束处,/the\<匹配单词的开始处.
. :set hlsearch 高亮显示找到的字符,
:set nohlsearch 不高亮显示,
:nohlsearch 关闭当前的高亮显示.
20. % 跳转到配对的括号去
21. [[ 跳转到代码块的开头去(但要求代码块中'{'必须单独占一行)
22. gD 跳转到局部变量的定义处
23. '' 跳转到光标上次停靠的地方, 是两个', 而不是一个"
24. > 增加缩进,"x>"表示增加以下x行的缩进
25. < 减少缩进,"x<"表示减少以下x行的缩进
■ 编辑多个文件:
1. :next 开始编辑下一个文件
2. :previous 上一个文件
3. ctrl+shift+6 在各个文件间快速切换
4. :saveas xx.c 保存为新文件
■ 分割窗口
1. :split 分割两个窗口 CTRL+W命令切换窗口 :close 关闭当前窗口
2. :vsplit 左右分割两个窗口 CTRL+W h到左边的窗口
3. :qall 关闭所有窗口 :wall 保存所有窗口
■ 大刀阔斧
1. 替换::[range]substitute(或缩写为s)/from/to/[flags] 该命令将由[range]指定的行中的字符串“from”替换为“to”:
c(确认)标志告诉“:substitute”命令要在执行每个替换前要求用户确认.
1,5s 该命令将对第1到第5行的文本执行替换操作. 也包括第1行和第5行. %s是对整个文件进行操作
■ 编译程序
1. :make 命令后,编译如果有错误产生,则vim自动会将光标定位于第一个错误地点。
:cnext 命令会到下一个错误地点.
:cw 命令会列出所有的错误信息。
■ 加密文件:
1. vim -x hello.c 然后输入密码。
■ 补遗:
1. 移动光标包含的头文件处,然后按下gf,则vim会自动打开此头文件。
2. * 和 #: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)
3. dt" → 删除所有的内容,直到遇到双引号—— "
4. 在当前行上移动光标: 0 ^ $ f F t T , ;
0 → 到行头
^ → 到本行的第一个非blank字符
$ → 到行尾
g_ → 到本行最后一个不是blank字符的位置。
fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。
t, → 到逗号前的第一个字符。逗号可以变成其它字符。
3fa → 在当前行查找第三个出现的a。
F 和 T → 和 f 和 t 一样,只不过是相反方向。
5. 块操作
典型的操作:0或者^ <C-v> <C-d> I --(或者是//注释) [ESC] 给所选行前面加上--或者//
典型的操作:<C-v> 选中相关行,$到行最后,A输入字符串,按下ESC
6. 自动提示 <C-n> 或者 <C-p>
7. 可视化选择
可视化<C-v>,一旦选择好了,可以做如下事情
. J 把所有的行连接起来
. <或者> 左右缩进
. = 自动给缩进
8. 复制当前光标下单词, yiw
9. VIM中的正则表达式:
9.1 其中的元字符+ ?{ } 都需要转义,即都需要这样使用\+, \?
例如要匹配类似<HR SIZE和<HR SIZE,则正则表达式为/<HR\s\+或者/<HR\s?
9.2 如果要使用类似perl中的正常表达式,则只需在在开头加入\v即可
例如以上的表达式也可修改为:/\v<HR\s+或者/\v<HR\s?
10. :g/pattern/d 是找到pattern, 删之
11. :v/pattern/d 是找到非pattern, 删之
12. :%s/xxx//gn,统计xxx个数,n表示只报告匹配的个数而不进行实际的替换。