ZZ : http://blog.sina.com.cn/s/blog_4d2bb0b10100ld29.html
nore 表示非递归
学会了Vim的简单使用的后,往往是开始折腾Vim的配置文件vimrc,让它赶上其它编辑器:)。vimrc中的设置实在是太多了,待日后把我的vimrc文件贴出来后再做更多的说明,这里先对我已知道的按键映射(好像有的也叫按键绑定)做个笔记,同时也记下几个比较有意思的命令。
Vim的模式
在设置按键映射之前有必要先了解一下Vim的几种模式。据说Vim有十多种模式,但只要了解最基本的3种,基本上就可以满足日常应用了。
1. Normalmode (常态模式)
运行Vim后进入的就是Normal模式,在这种模式下可以移动鼠标、寻找、替换、编辑指令,但不能输入文字——这与其它编辑器有很大的差别。
2. Insertmode (插入模式)
在Insert模式下,可以像在其它编辑器中一样输入文字。此时左下角状态列会有“-INSERT-”(-插入-)字样。在Normal模式按下下面的键可以进入 Insert 模式:i(在当前字符的前面插入);a(在当前字符的后面插入);o(在当前行的后面添加新的一行);O(在当前行的上面添加新的一行)。
3. Visual mode(反白模式)
在Visual模式下可以把文字反白起来,此时左下角状态栏会有“-VISUAL-”或“-VISUAL LINE-”或“-VISUALBLOCK-”字样。在Normal模式下按v或V(有什么差别呢?)可以进入Visual模式。
不管是在Insert模式或Visual模式或其它的什么模式,按Ese键都可以返回Normal模式。
按键映射
nmap:映射一个Normal模式下的键,只有在Normal模式这个命令才会生效。
例:nmap ,s:source $VIM/_vimrc<cr>
说明:绑定“,s”在Normal模式下映射为“:source$VIM/_vimrc<cr>”命令,即重新读取配置文件_vimrc。
imap:映射一个Insert模式下的键,只有在Insert模式这个命令才会生效。
例:imap<F11> :r c:\boot.ini<cr>
说明:绑定F11在Insert模式下的映射为“:rc:\boot.ini<cr>”命令,即读取c:\boot.ini文件到当前位置。
vmap:映射一个Visual模式下的键,只有在Visual模式这个命令才会生效。
例:vmap sb"zbi<b><c-r>z</b><ESC>
说明:选中文字后按sb,选中文字的前后将分别加上<b>和</b>。
再例:vmap g/y/<c-r>"<cr>
说明:映射“g/”这个组合键匹配选中的字并给予高亮显示。
cmap:表示在命令行模式下生效
cmap W w
cmap Q q
map:用map绑定的键对Normal, Insert, Visual和Command-line模式均有效。
例:map<F5> :ls<cr>:e #
说明:映射F5键,使得按下F5会显示当前可编辑文件的buffer,然后提示你输入buffer的行号。(我很喜欢这个!)
nnoremap
vnoremap
inoremap
<C-l> = ctrl + l
<S-F7> shift + F7
<Esc>