2010-01-01

Vim按键映射

学会了Vim的简单使用的后,往往是开始折腾Vim的配置文件vimrc ,让它赶上其它编辑器:)。vimrc 中的设置实在是太多了,待日后把我的vimrc 文件贴出来后再做更多的说明,这里先对我已知道的按键映射(好像有的也叫按键绑定)做个笔记,同时也记下几个比较有意思的命令。

Vim的模式

在设置按键映射之前有必要先了解一下Vim的几种模式。据说Vim有十多种模式,但只要了解最基本的3种,基本上就可以满足日常应用了。

1. Normal mode (常态模式)

运行Vim后进入的就是Normal模式,在这种模式下可以移动鼠标、寻找、替换、编辑指令,但不能输入文字——这与其它编辑器有很大的差别。

2. Insert mode (插入模式)

在Insert 模式下,可以像在其它编辑器中一样输入文字。此时左下角状态列会有“-INSERT-”(-插入-)字样。在Normal模式按下下面的键可以进入Insert 模式:i (在当前字符的前面插入);a (在当前字符的后面插入);o (在当前行的后面添加新的一行);O (在当前行的上面添加新的一行)。

3. Visual mode (反白模式)

在Visual 模式下可以把文字反白起来,此时左下角状态栏会有“-VISUAL-”或“-VISUAL LINE-”或“-VISUAL BLOCK-”字样。在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 模式下的映射为“:r c:\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/”这个组合键匹配选中的字并给予高亮显示。

map:用map绑定的键对Normal, Insert, Visual和Command-line模式均有效。

例:map <F5> :ls<cr>:e #

说明:映射F5键,使得按下F5会显示当前可编辑文件的buffer,然后提示你输入buffer的行号。(我很喜欢这个!)

(完)

没有评论:

留言须知:
0. 你有權保持沉默,但你所說的將作為此BLOG有人訪問的證據。
1. 支持的HTML標籤:<a href="" title=""> <b> <em> <i> <strong>。
2. 留言留名,不然易被无视。(在“评论”中选择“名称/网址”,网址可以不填)。
3. 原則上我不删除留言,除非那則留言侮辱到你。