暂时禁用vim中的keymap

时间:2016-02-27 23:30:18

标签: vim

我在vim中有以下键盘映射:

inoremap { { }<Esc><BS>i<CR><CR><Esc>ki<Space><Space>

如果我想在没有其他字符的情况下输入文字{,我该怎么办?

2 个答案:

答案 0 :(得分:3)

在vim中输入文字字符的方法是使用Ctrl-V

在您的情况下,在插入模式下,您需要输入Ctrl-V,然后输入{

答案 1 :(得分:2)

另请注意,存在多个面向括号的插件,用于检测上下文,以便不在注释或字符串上下文中展开{之类的内容。我保持的lh-brackets也有一个启用/禁用功能,在触发键上切换。

否则,对于与可识别的上下文不匹配的准时禁用,ffledgling告诉您CTRL-V

注意:上下文检测背后的想法是将synIDattr(synID(line('.'),col('.')-1,1),'name')的结果与'comment\|string\|character\|doxygen'相匹配(请参阅lh括号中的lh#map#*context*()函数),并让您的map-<expr>扩展{{} +光标移动,不会破坏重做+其他可能的事情。