一、Buffer
1. 查看buffer :ls
2. 跳转到某个buffer N+Ctrl+^. (^这个键我以为是Shift+6,后来发现N+Ctrl+6也可以)
3. 删除buffer :bd 删除当前buffer :nbw 删除编号为n的buffer
4. 将所有buffer转为tab :tab ball
二、文件操作
1. :r filename 在当前文件里面插入外部文件
2. :w !sudo tee % 这个命令用于保存只读文件。
3. 返回上次编辑的地方 `. (反引号加句号)
4. zz 将当前行放置于屏幕中间
zt 将当前行放置于屏幕顶端
zb 将当前行放置于屏幕底部
5. ~:光标所在处的字符进行大小写互换
6. gv 可恢复上次进入该模式时选定的区域
7. 键入 . (小数点),便能重复上次在普通模式下的编辑命令,
8. 键入 @: , 便能重复上次在命令行模式下的编辑命令
9. 命令行模式下按C-F,可以查询命令行历史记录
normal mode下按q: 也可以查询命令历史
10. set filetype 查看当前filetype
11. :diffoff 退出vimdiff mode
12. ]c 下一个不同,[c 上一个不同
三、查找与替换
http://blog.csdn.net/glorin/article/details/6317098
/%s/\s\+$//g 删除句尾空格
:%s/^\n$//g 删除多余空行
g Ctrl-G 查看当前文件字数等信息
:vimgrep /XXX/j (filenames) 多文件查找
:cw 打开查找结果窗口
四、工作目录1. :pwd 查询当前工作目录
2. :cd 指定工作目录,此命令将会改变所有窗口的工作目录
3. :lcd 特别指定工作目录,此命令只会改变当前窗口的工作目录
五、窗口
1. Ctrl+w+j/k/l/h 在窗口间跳转
2. Ctrl+w+J/K/L/H 移动窗口
3. Ctrl+w+w 窗口之间轮流跳转
4. Ctrl+w+s :sp :split 水平分割窗口
5. Ctrl+w+v :vsp :vsplit 垂直分割窗口
6. Ctrl+w++/- 增高/降低窗口高度
7. Ctrl+w+</> 缩短/加宽窗口宽度
8. Ctrl+w+_ 使窗口高度最大 Ctrl+w+1+_ 使窗口高度最小
9. Ctrl+w+| 使窗口宽度最大 Ctrl+w+1+| 使窗口宽度最小
10. Ctrl+w+= 使窗口等宽等高
六、标签
1. :tabo 关闭其他标签
七、拼写检查
1. :set spell 启动拼写检查,默认为英语, :set nospell 关闭拼写检查
2. zg 将光标下的词语加入词典,认为其是正确拼写。
3. zw 将光标下的词语移出词典,认为其是错误拼写。
4. zug, zuw 撤销命令
5. ]s 查找下一处拼写错误。
6. z= 显示拼写建议
八、跳转
1. C-O 跳转到前一处
2. C-I 跳转到后一处
九、折叠
http://www.cnblogs.com/abeen/archive/2010/08/06/1794197.html
http://www.cnblogs.com/fakis/archive/2011/04/14/2016213.html
zi 展开/折叠所有fold
取消indent折叠方法:先将折叠都展开,然后切换到其他折叠方式,如:set fdm=marker,最后重新打开文件,折叠就取消了。
在fold中检索
有时候vim的search功能只在unfold的文字中起作用,这样的话,被折叠起来的文字就无法被检索到了。
如果想检索fold的文字,就执行:set fdo+=search, 否则就执行:set fdo-=search
十、其他1. ctrl-a:可以将光标所在处的数字加1,负数和多位数都在支持范围内。可以用这个快捷键配合宏来干很多事情。
2. ctrl-x:与上一个相反,将数字减1`