键映射在vim中有两个定义?

时间:2018-03-09 01:40:30

标签: vim

当我在vim编辑器中输入:imap <BS>时,它会输出两行:

i  <BS>        *@<C-R>=AutoPairsDelete()<CR>
i  <BS>        * neocomplete#smart_close_popup()."\<C-H>"

第一行以&#39; * @&#39;开头。第二个以&#39; *&#39;开头,一个键映射在vim中是否有多个定义?

PS:也许你知道,我使用的是spf-vim-13配置。

1 个答案:

答案 0 :(得分:2)

来自:h map-listing

Just before the {rhs} a special character can appear:
  *   indicates that it is not remappable
  &   indicates that only script-local mappings are remappable
  @   indicates a buffer-local mapping

所以您看到这一点,一般<BS>已映射到neocomplete#smart_close_popup()."\<C-H>",但在您当前的缓冲区中,只有<BS>被映射到<C-R>=AutoPairsDelete()<CR>

你可能有一个插件或ftplugin,它根据文件类型重新映射当前缓冲区<BS>