我的 vimrc 文件中有以下配置。
inoremap <C-A> <Plug>InsertComment
我在 vim 文件夹中的某个地方定义了
inoremap <silent> <Plug>InsertComment <ESC>:call INSERT_MY_COMMENT
配置好映射后,它工作得很好。但最近不知怎么的,它停止工作了。每当我可以在插入模式下使用键绑定,而不是调用我映射的函数时,vim 就会将整个<Plug>InsertComment
内容粘贴到我的缓冲区中。
我尝试调试并发现如果我映射
inoremap <C-A> <ESC>:call INSERT_MY_COMMENT
它仍然可以按预期工作,这意味着该部件一定有问题<Plug>
。
但我真的不知道为什么<Plug>
它会停止被 vim 解释为调用其他插件的句柄。
我也尝试过手动复制和粘贴
inoremap <silent> <Plug>InsertComment <ESC>:call INSERT_MY_COMMENT
inoremap <C-A> <Plug>InsertComment
进入 vim 的命令行,以确保配置没有被意外取消设置。但是,vim 仍然不会将其作为函数接受,而是将纯文本复制到缓冲区。
答案1
抱歉,我弄清楚了问题所在。noremap
处理时我们根本不应该使用配置<Plug>
。将地图改回imap
即可。