我试图在使用 vim 时获得一种更崇高/atom-esq 的感觉。我设置的其中一件事是 neocomplete 以模仿其他编辑器的自动完成行为。
我希望<ESC>
钥匙在打开时关闭完成弹出窗口,否则行为正常。我想出了这个解决方案:
inoremap <expr><ESC> pumvisible() ? neocomplete#cancel_popup() : "\<ESC>"
这似乎工作正常(ESC 的行为与预期的一样),但它似乎打破了不兼容 - 箭头键在插入模式下不再按预期工作,它们插入 A/B/C/D,然后插入换行符(取决于哪个我按的键)。
在上述行之后添加set nocompatible
没有任何作用(我已经在我的 vimrc 的前几行中设置了它),并且:set nocompatible
在运行时键入没有效果。解决此问题的唯一方法是删除重新映射。
为什么会这样?我该如何解决?