map 说明(转)

map 在 vim 配置中起到至关重要的作用,它能使我们更方便的配置自己熟悉的快捷键。

MAP


语法:map {lhs} {rhs}


含义:把键系列  {lhs}  映射为  {rhs},{rhs}可进行映射扫描,也可递归映射。


例:
    map <F6> :set list! list?<CR>
    在其作用模式下,输入 <F6> 等价于输入 :set list! list?<CR> (<CR> 即回车)。


说明:
    根据 map 作用模式,是否递归等可以添加合适的前缀。


    作用模式前缀:

前缀/后缀 作用模式 命令格式 命令缩写
<Space> 普通、可视、选择和操作符等待 :map   {lhs} {rhs}  
n 普通 :nmap {lhs} {rhs} :nm {lhs} {rhs}
v 可视和选择 :vmap {lhs} {rhs} :vm {lhs} {rhs}
s 选择 :smap {lhs} {rhs}  
x 可视 :xmap {lhs} {rhs} :xm {lhs} {rhs}
o 操作符等待 :omap {lhs} {rhs} :om {lhs} {rhs}
! 插入和命令行 :map!  {lhs} {rhs}   
i 插入 :imap  {lhs} {rhs} :im {lhs} {rhs}
l 插入、命令行和 Lang-Arg 模式 :lmap  {lhs} {rhs} :lm {lhs} {rhs}
c 命令行 :cmap {lhs} {rhs} :cm {lhs} {rhs}

 

  其他前缀/后缀:

前缀/后缀 说明 命令格式 命令缩写
nore 不递归映射,即不允许再对 {rhs} 进行映射扫描,也就是 {lhs} 定义后的映射就是 {rhs} 的键序列,不再对 {rhs} 键序列重新解释扫描,一般用于重定义一个命令。 :noremap {lhs} {rhs}  :no  {lhs} {rhs}
:nor {lhs} {rhs}
un 取消 :map 绑定的 {lhs} :unmap {lhs}    
clear 取消所有 :map 绑定的 {lhs},慎用 :mapclear   

 

{rhs} 之前可能显示的特殊字符:

特殊字符 意义
* 不可重映射
& 仅脚本的局部映射可以被重映射
@ 缓冲区的局部映射

 

映射快捷键时常用的键表(关于键盘符号的详细说明,请使用:h key-notation命令查看帮助信息):

说明 组合键
<F1> ~ <F12> 按键 F1 ~ F12
<K0> ~ <K9> 小键盘 0 到 9
<Shift> Shift 键 <S-...>    <s-...>    <Shift-...>
<Ctrl> Ctrl 键 <C-...>    <c-...>    <Ctrl-...>
<Alt> Alt 键 <A-...>    <a-...>    <Alt-...>
<Up>/<Down>/<Right>/<Left> 方向键  
<ESC> Esc 键  
<CR> 回车  

 

特殊参数说明(这些参数必须在映射命令的后边,其他任何参数的前面):

参数 说明
<buffer> 如果映射命令的第一个参数是 <buffer> ,映射将只局限于当前缓冲区(即此时正在编辑的文件)内
<silent> 执行绑定键时不在命令行上回显按键映射的命令内容
<special> 一般用于定义特殊键怕有副作用的场合
<script> 如果定义新映射或缩写的命令的第一个参数是 <script>,该映射只使用通过以 "<SID>" 开头来定义的脚本局部映射来重映射 {rhs} 中的字符。这可以用于避免来自外部的脚本的干扰, 但是又需要使用该脚本中定义的其它映射的情形
<expr> 如果定义新映射的第一个参数是 <expr> ,那么参数会作为表达式来进行计算,计算结果作为实际使用的 <rhs>
<unique> 用于定义新的键映射或者缩写命令时检查是否该键已经被映射,如果该映射或者缩写已经存在,则该命令会失败

 

补充:

        查看系统已有键盘映射命令: :map
        第一列标明了映射在哪种模式下工作,第二列为 {lhs},第三列为 {rhs} 。

————————————————
版权声明:本文为CSDN博主「微尘_Frank」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bc516125634/article/details/90339637

posted @ 2020-02-17 17:43  汉学  阅读(137)  评论(0)    收藏  举报