当我使用 ctrl-n 完成时,我的 vim 有 50% 的时间抛出令人讨厌的错误
E854: path too long for completion
我真的很想重新映射它,并使用 :silent 选项调用它来抑制错误,但我不知道什么函数提供完成,所以我不能重新映射它。
所以我的问题是我在哪里可以找到在插入模式下调用时 C-N 调用的确切内容
解决方案:
正如对我接受的答案的评论中所述,我找到了解决方法。根据此处构建自己的 vim 的说明:brightcorners.org/2011/02/building-vim-on-osx-snow-leopard
我搜索了 E854 的源目录,它只出现在 1 个文件中。如果您打开该文件,您会看到它只被引用了两次。我刚刚删除了那些错误调用并构建了 vim
这并不能解决任何实际问题,但它与忽略的效果相同。它现在很好用,并且不会抛出任何错误,我希望其他遇到此问题的人对此有所帮助。
最佳答案
在插入模式下,<C-n>
通常用缓冲区的内容来完成单词。我不知道它在内部是如何工作的,但它可能会提示缓冲区相关文件的路径长度。
但我找不到对 E854
的引用在 Vim 中 :help
,如果它来自我没有的插件,这可能是正常的。
你可以:
:verbose imap <c-n>
找到它的来源或E854
, :help E854
或 E854
, :helpgrep E854
或 E854
在您的 ~/.vim
文件夹,$ grep -r E854 ~/.vim
. 关于vim - vim 用ctrl-n 调用什么函数来完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9401762/