无法从VIM中删除映射?

时间:2014-04-12 01:39:43

标签: 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

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

3 个答案:

答案 0 :(得分:2)

*输出中的:imap将其删除:这是缓冲区本地映射,因此为了取消映射,您还需要指定{ {1}}属性:

<buffer>

要撤消所有iunmap <buffer> <C-C>a 缓冲区的ftplugin映射,请将其放入sql

答案 1 :(得分:0)

首先按<Ctrl-c>然后按Ctrl-v

,尝试逐字插入Ctrl-c

答案 2 :(得分:0)

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

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