vim模式映射

来源:互联网 发布:国外人工智能网站 编辑:程序博客网 时间:2024/06/05 23:55

map 命令的首字母表明它作用于何中 vim 模式之下。
  n      普通

  v      可视和选择
  s      选择
  x      可视
  o      操作符等待
  !      插入和命令行
  i      插入

  l      插入、命令行和 Lang-Arg 模式的 ":lmap" 映射
  c      命令行

  映射是否起作用的一个关键因数是当前 vim 处于哪种模式之下。map 与六种 vim 模式相关(vim 有多少种工作模式请参考 :help vim-modes):

  - (o) 普通模式: 输入命令时。
  - (x) 可视模式: 可视区域高亮并输入命令时。
  - (s) 选择模式: 类似于可视模式,但键入的字符对选择区进行替换。
  - (o) 操作符等待模式: 操作符等待中 ("d","y","c" 等等之后)。
  - (i) 插入模式: 也用于替换模式。
  - (c) 命令行模式: 输入 ":" 或 "/" 命令时。

  了解到 map 是与 vim 的工作模式相关之后,这时候再看一下支持嵌套和递归的 map 命令命名有什么特别之处(:help map):

  命令           左边         右边             模式                          跳跃点
  :map         {lhs}     {rhs}         |mapmode-nvo|      *:map*
  :nm[ap]    {lhs}      {rhs}        |mapmode-n|           *:nm* *:nmap*
  :vm[ap]    {lhs}      {rhs}        |mapmode-v|           *:vm* *:vmap*
  :xm[ap]    {lhs}      {rhs}        |mapmode-x|           *:xm* *:xmap*
  :smap       {lhs}      {rhs}        |mapmode-s|           *:smap*
  :om[ap]    {lhs}      {rhs}        |mapmode-o|           *:om* *:omap*
  :map!       {lhs}      {rhs}        |mapmode-ic|          *:map!*
  :im[ap]     {lhs}      {rhs}        |mapmode-i|            *:im* *:imap*
  :lm[ap]     {lhs}      {rhs}        |mapmode-l|            *:lm* *:lmap*
  :cm[ap]    {lhs}      {rhs}        |mapmode-c|           *:cm* *:cmap*


0 0
原创粉丝点击