vim使用了几天,真是强大如斯,呵呵。总结一下。网上有太多的介绍文档了,我了解还不深,就先做个使用记录吧。
以下VIM的配置可参考文章:
a) 把VIM打造成一个真正的IDE(http://www.vimer.cn/2009/10/%E6%8A%8Avim%E6%89%93%E9%80%A0%E6%88%90%E4%B8%80%E4%B8%AA%E7%9C%9F%E6%AD%A3%E7%9A%84ide1.html)
b) vi/vim使用进阶(http://easwy.com/blog/archives/advanced-vim-skills-catalog/)
c) 通过.vimrc学习Vim(http://www.chinavim.org/%E9%80%9A%E8%BF%87-vimrc%E5%AD%A6%E4%B9%A0vim.html)
vim 使用命令:以下内容都是根据已配置好的插件来做的。
1. 打开Tlist的分割窗口:F3
2. 重新生成ctags:F9 (需要管理员权限,而且需要将文件保存)
3. 产生Dox注释: fd
4. 寻求帮助文档:help 文档名,如:help user-manual
**基本:**
1. i (光标就在本位置) 或 a(光标移动到下一个字符的位置) 进入插入模式
2. h j k l 光标左移、下移、上移、右移
3. x 删除一个字符
4. dd 删除一行
5. o 在光标所在行下插入一行,并进入edit模式
6. r字符 替换光标所在字符为新字符
7. ^ $ 分别是光标移到行首和行末
8. 数字G 移动光标到第若干行,如果直接按 G 则移动到最后一行
9. :q :q! :w :w! :wq
10. :new 文件名 打开或新建文件(同时关闭当前文件)。如果不指定文件名或者文件名不存在则是新建文件
11. :help 帮助! 看完后用 :q 关掉窗口, 可以在 help 后面加某个帮助主题的名称,如 :help dd 或 :help help或help <文档名>
12. x或d 剪切(即删除,同时所选的文本进入剪贴板)
13. y 复制
14. u U ~ 分别是所有字母变小写、变大写、反转大小写
15. > < 分别是缩进和反缩进
16. p或P 在当前位置粘贴剪贴板的内容,p 粘在光标所在字符后面,P 粘在前面
17. u 撤销(Undo)上次所做的修改
18. <C-R> 恢复(Redo)上次撤销的内容
**高级命令**
说明:以“:”开头表示该命令在命令行输入,以“i”开头表示这是插入模式下的命令,其它则是普通模式下的命令。<C-X> 表示按 Ctrl+X。
**转到定义**
1. <C-]> 转到定义,(在 :help 中,遇到超连接可以按 Ctrl+] 跳转),但只限于本文档
2. <C-T> 转到先前的位置,也就是回跳,(在 :help 中,按 Ctrl+T 往回跳转)
**打开多个文件**
1. :split(vsplit) 文件名[文件夹名],切分出一个新窗口,打开指定文件;如果是文件夹,则会新窗口打开文件目录。
2. <C-W>f 切分显示光标所指的文件名,VIM 会在 path 中搜索该文件名,比如常用它打开 #include 语句中的文件
3. <C-W><C-W> 当同时打开几个文件时,按 <C-W><C-W> 在各窗口之间切换
**字符串搜索替换**
1. /字符串 向下搜索字符串
2. ?字符串 向上搜索字符串
3. * # 分别是向下和向上搜索光标所指的词
4. n 重复上一次搜索
5. :起始行,结束行s/搜索串/替换串/g 从起始行到结束行,把所有的搜索串替换为替换串
6. :set ignorecase 设置忽略字母大小写。可以用 :set noignorecase 取消忽略字母大小写
**补全及其它**
1. i<C-P> 向上搜索,补全一个词
2. i<C-N> 向下搜索,补全一个词
3. i<C-X><C-L> 补全一行。
4. i<C-X><C-F> 在文件系统中搜索,补全一个文件名
5. i<C-O> 执行一个普通模式的命令,执行完毕后回到插入模式
6. <C-W>i 跳转到光标所指标识符的定义行。如你在编程时遇到一个函数 CreateWindow,想看它的定义语句,
你就可以在它上面按 <C-W>i,VIM 将打开新窗口,把光标移到它定义的地方。当然,前提是在当前
文件或它的 #include 文件中存在 CreateWindow 的定义。这也牵涉到 path 的设置。不过,VIM 找得不一定很准。
7. K 看光标所指标识符的 man 帮助页(注意这个命令是大写)
8. <C-A> 光标所指整数加一
9. <C-X> 光标所指整数减一
10. <C-O> 光标返回到以前的位置。相当于光标移动的“撤销”
11. <C-I> 光标返回到后来的位置。相当于光标移动的“恢复”
**文本显示**
1. (可视模式下) zf 手工创建折叠。在可视模式下选择一段文本,然后按 zf 可以手工创建一个折叠
2. 方向键左或右 打开折叠。普通或插入模式下,在折叠行上横向移动光标将打开被折叠的行
3. zc 关闭折叠
4. diff 模式 一般来说,比如你要比较编辑 A 跟 B 两个文件,你可以命令行启动 vim -d A B 或者这样
**语意**
1. :nmap 键只对普通模式有效
2. :imap 键只对插入模式有效
3. :vmap 键只对可视模式有效
4. :cmap 键只在命令行下有效
5. :map 键在普通模式和可视模式都有效
6. :map! 键在插入模式和命令行下都有效
7. :!命令行 执行一条外部命令