繁体   English   中英

无法从VIM中删除映射?

[英]Can't remove mapping from VIM?

我的vim配置为sql文件类型添加了一些非常恼人的映射,这与我自己的文件类型冲突。

我可以使用以下命令验证它:

:imap <C-c>a

i  <C-C>a      *@<C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>

我想删除它,但如果我尝试它的任何方式失败:

:unmap <C-C>a
E31: No such mapping

:iunmap <C-C>a
E31: No such mapping

我可以清楚地看到映射存在,为什么它告诉我它没有?

:imap输出中的*给出了它:这是一个缓冲区本地映射,所以为了取消映射,你还需要指定<buffer>属性:

iunmap <buffer> <C-C>a

要撤消所有sql缓冲区的ftplugin映射,请将其放入~/.vim/after/ftplugin/sql.vim

首先按Ctrl-v然后Ctrl-c尝试<Ctrl-c>字面插入<Ctrl-c>

看来,在您列出映射的第一个命令中,您正在使用:imap <Cc>a ,其中第二个c是小写,但在unmap <CC>a命令中,您的第二个C是大写。

由于这些命令通常区分大小写,我怀疑这可能是您的问题的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM