用户工具

站点工具


vim:map-basic

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

vim:map-basic [2011/09/14 03:58] (当前版本)
行 1: 行 1:
 +====== Vim按键映射 ======
 +
 +Vim的映射(map)是Vim强大功能的一个体现,利用map映射可以打造更强大的编辑器,大大提高编辑效率。
 +
 +你可以将常用的命令组合映射为简单的命令,这样Vim下简单的命令可以实现复杂的功能。
 +
 +===== 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  ====
 +
 +nmap:映射一个Normal模式下的键,只有在Normal模式这个命令才会生效。
 +
 +例:nmap ,s :source $VIM/​_vimrc<​cr>​
 +
 +说明:绑定“,​s”在Normal模式下映射为“:​source $VIM/​_vimrc<​cr>​”命令,即重新读取配置文件_vimrc 。
 +
 +==== imap ====
 +
 +
 +imap:映射一个Insert 模式下的键,只有在Insert 模式这个命令才会生效。
 +
 +例:imap <F11> :r c:​\boot.ini<​cr>​
 +
 +说明:绑定F11在Insert 模式下的映射为“:​r c:​\boot.ini<​cr>​”命令,即读取c:​\boot.ini文件到当前位置。
 +
 +==== vmap  ====
 +
 +
 +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的行号。
 +
 +===== 参考 =====
 +  * http://​xxxcjr.blogspot.com/​2010/​01/​vim.html
 +  * http://​vim.wikia.com/​wiki/​Mapping_keys_in_Vim_-_Tutorial_%28Part_1%29
  
vim/map-basic.txt · 最后更改: 2011/09/14 03:58 (外部编辑)