vim 中按键映射问题

按键映射关键字的组成开始让我摸不着头脑,查了资料,然后来做一个log

按键绑定命令:模式前缀(缺省为normal) + 递归前缀(缺省为空) + map

前缀表示生效范围,递归前缀表示是否递归查找命令

map 表示在普通模式下即normal模式下生效

inoremap 表示在insert模式下生效

vnoremap 表示在visual模式下生效

nnoremap 表示在normal模式下生效

键表:

<k0>-<k9> 0~9

<S-...> Shift+*

<C-...>Control+*

<M-...>Alt+* 或 meta +*

<A-...>Alt+* 或 meta +*

特殊参数:

1.<buffer>

如果按键映射命令第一个参数是<buffer>, 映射局限于当前缓冲区

2.<silent>

执行键绑定时不在命令行上回显

3.<special>

用于定义特殊键怕有副作用的场合.

4.<unique>

用于定义新的按键映射或者缩写命令的同时检查该按键是否已经被映射,如果有该映射或者缩写已经存在,则该命令会失败

5.<expr>

如果定义新映射的第一个参数是<expr>那么参数会作为表达式来进行计算结果使用实际使用的<rhs>

6.<Leader>mapleader

mapleader变量对所有map映射命令起效,它的作用是将参数<leader>替换mapleader变量的值.

默认mapleader = "" 可以自定义: let mapleader = ","

引用自:

http://www.douban.com/group/topic/10866937/

http://www.zhihu.com/question/20741941

原文地址:https://www.cnblogs.com/malware/p/3331483.html