我是 Vim 新手,正在尝试设置一些插件。到目前为止我已经安装了 Pathogen、pyflakes 和 supertab。后者似乎不起作用;紧迫tab
而在插入模式下只需写入字符串<Plug>SuperTabForward
.
该问题仅发生在我的 vimrc 中的以下行(为了使用 colemak 布局更好地导航):
set langmap=hjklneiHJKLNEI;kniejhlKNIEJHL
如果没有上面的行,它就可以正常工作。经过进一步的实验,我将其范围缩小到set langmap=e;h
。这一行中断了超级选项卡。
我对 Vim 完全没有经验,根本不知道发生了什么或如何解决它。即使是解决方法也会很有趣。
我想出了一个解决方法:编辑supertab.vim
,替换实例<Plug>SuperTab
with <P>P
,这会导致像这样的字符串<Plug>SuperTabForward
成为<P>PForward
.
我认为它有效,因为这些字符串不再包含涉及的任何字母set langmap=hjklneiHJKLNEI;kniejhlKNIEJHL
。有几个问题尚未解决。 langmap 有问题吗?对我来说,似乎明确存在该选项以允许仅影响命令的映射:
When you are typing text in Insert mode the characters are
inserted directly. When in command mode the 'langmap' option takes
care of translating these special characters to the original meaning
of the key. This means you don't have to change the keyboard mode to
be able to execute Normal mode commands.
那么,在 langmap 中映射字符的存在对我来说毫无意义。imap
字符串,即一个插入模式映射,有任何区别。如果是这样,它会随机破坏任何使用长的插件,例如 SuperTabimap
字符串。只是为了说明如果我这样做的话这是多么奇怪imap no yes
, 写作jo
是使其触发所必需的。我不知道其背后的逻辑是如何运作的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)