10. 自动完成 i<C-P> 向上搜索,补全一个词 i<C-N> 向下搜索,补全一个词 i<C-X><C-L> 补全一行。 比如你写过一行 for (int i = 0; i < 100; i++),你想再写一模一样的一行,只要输入 for<C-X><C-L>即可。如果补全出来的不是你想要的那一行,你可以按 <C-P> 或 <C-N> 选择上一个或下一个匹配行i<C-X><C-F> 在文件系统中搜索,补全一个文件名 如果按 <C-P> 或 <C-N> 补全一个词,在当前文件中没有找到匹配,VIM 将搜索 #include 语句中的文件,而文件的位置将在 path 中搜索。 i<C-Y> 把上一行对应列的字符抄下来 i<C-E> 把下一行对应列的字符抄上来,这两个都可以一直按下去,到了行尾自己会停的.
11. 注释整块内容 注释块的方法: <C-V> 选定要注释掉的行 I // Esc I之后输入的东西就是插入到选定的行前边的,直至Esc. 要去掉注释的办法:<C-V>选定注释符//,然后d 列块选定后I是在前边都插入,A是在后边都插入 <C-V>是按列块模式的选定,<shift-V>是行选定,v是普通选定 12. 其他命令 u可以撤销上一步操作, ctrl+r可以恢复 i<C-O>命令执行一个普通模式的命令,执行完毕后回到插入模式,不用多次Esc i<C-V>后续字符 输入特殊的 ASCII 字符或键。 . 在光标当前位置处重复上一次操作 :!命令行 执行一条外部命令 *********************************************************************************** 我是 vim 粉丝, 用了许久, 有一些自己的感受, 又到处挖到一些别人的技巧. 感觉对 vim 粉丝比较有用, 就把它记在这儿. 希望借此文套出大家自己的巧活, 就正应了抛砖引玉的古话了.
先稍为介绍一下 vim. vi 是 unix/linux 下极为普遍的一种文本编辑器, 大部分机器上都有. vi 有各种变种, 在不同的机器上常用不同的变种软件. 其中 vim 比较好用也用得比较广泛. vim 是 Vi IMproved 的缩写, 表示更好的 vi. 我个人觉得它是非常好的编辑器(为了避免 Emacs 粉丝挑眼, 就不说最好了). 没用过的也建议试试看, 当然 vim 对编写文本文件很方便好用, 比如编写程序, html文档等等, 却不能用来编写 word 文档.
关于 vim 的安装, 基本使用方法等网络上能搜出许多, 就不在这里罗嗦了, 要是对 vim 有兴趣, 那就看看这里(中文文档): http://vcd.gro.clinux.org/
本文就说些其中比较有用, 比较常用的命令, 若能熟练运用这些命令, 那么会发现编辑文件很舒服.
说明: 以下的例子中 xxx 表示在命令模式下输入 xxx 并回车 以下的例子中 :xxx 表示在扩展模式下输入 xxx 并回车 小括号中的命令表示相关命令. 在编辑模式或可视模式下输入的命令会另外注明.
1. 查找
/xxx(?xxx) 表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示 向上查找.其中xxx可以是正规表达式,关于正规式就不多说了. 一般来说是区分大小写的, 要想不区分大小写, 那得先输入 :set ignorecase 查找到以后, 再输入 n 查找下一个匹配处, 输入 N 反方向查找.
*(#) 当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的 下(上)一个单词. 同样, 再输入 n 查找下一个匹配处, 输入 N 反方 向查找.
g*(g#) 此命令与上条命令相似, 只不过它不完全匹配光标所在处的单词, 而 是匹配包含该单词的所有字符串.
gd 本命令查找与光标所在单词相匹配的单词, 并将光标停留在文档的非 注释段中第一次出现这个单词的地方.
% 本命令查找与光标所在处相匹配的反括号, 包括 () [] {}
f(F)x 本命令表示在光标所在行进行查找, 查找光标右(左)方第一个x字符. 找到后: 输入 ; 表示继续往下找 输入 , 表示反方向查找 |