Vim是款强大的文本编辑器,可是众多指令须要学习,此次记录了指令大全方便之后翻阅。html
Vim的几种模式java
Vim键盘命令图:正则表达式
如下移动都是在normal模式下。算法
上面的操做均可以配合n使用,好比在正常模式(下面会讲到)下输入3h, 则光标向左移动3个字符。shell
使用标记能够快速移动。到达标记后,能够用Ctrl+o返回原来的位置。 Ctrl+o和Ctrl+i 很像浏览器上的 后退 和 前进 。编程
注意,相似cnw,dnw,ynw的形式一样能够写为ncw,ndw,nyw。vim
y, d, c, v均可以跟文本对象。windows
关于range的规定为:浏览器
高级的查找替换就要用到正则表达式。服务器
:help pattern获得更多帮助。
g ^g能够统计文档字符数,行数。 将光标放在最后一个字符上,用字符数减去行数能够粗略统计中文文档的字数。 以上对 Mac 或 Unix 的文件格式适用。 若是是 Windows 文件格式(即换行符有两个字节),字数的统计方法为: 字符数 - 行数 * 2。
咱们能够一次打开多个文件,如
vi a.txt b.txt c.txt
若是支持鼠标,切换和调整子窗口的大小就简单了。
让vim 正确处理文件格式和文件编码,有赖于 ~/.vimrc的正确配置
大体有三种文件格式:unix, dos, mac. 三种格式的区别主要在于回车键的编码:dos 下是回车加换行,unix 下只有 换行符,mac 下只有回车符。
下面的括号匹配对编程很实用的。
vim提供了:make来编译程序,默认调用的是make, 若是你当前目录下有makefile,简单地:make便可。
若是你没有make程序,你能够经过配置makeprg选项来更改make调用的程序。 若是你只有一个abc.Java文件,你能够这样设置:
set makeprg=javac\ abc.java
而后:make便可。若是程序有错,能够经过quickfix窗口查看错误。 不过若是要正肯定位错误,须要设置好errorformat,让vim识别错误信息。 如:
:setl efm=%A%f:%l:\ %m,%-Z%p^,%-C%.%#
%f表示文件名,%l表示行号, %m表示错误信息,其它的还不能理解。 请参考 :help errorformat。
实际上是quickfix插件提供的功能, 对编译调试程序很是有用 :)
快速修改窗口在make程序时很是有用,当make以后:
当弹出补全菜单后:
normal模式下按:进入命令行模式