我想出了一个解决方法:编辑,替换withsupertab.vim
的实例,这会导致字符串变成.<Plug>SuperTab
<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.
那么,对于我来说,在imap
字符串中存在 langmap 映射字符(即插入模式映射)会产生任何影响,这对我来说毫无意义。如果是这样,它将随机破坏任何使用长imap
字符串的插件,例如 SuperTab。只是为了说明这有多么奇怪,如果我这样做了imap no yes
,就必须通过写作jo
来触发它。我不知道这背后的逻辑是如何运作的。