vim - vim 用ctrl-n 调用什么函数来完成

标签 vim

当我使用 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
  • grep for E854在您的 ~/.vim文件夹,$ grep -r E854 ~/.vim .
  • 关于vim - vim 用ctrl-n 调用什么函数来完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9401762/

    相关文章:

    linux - 如何设置tags文件的路径?

    Vimrc 冲突导致加载时出现垃圾

    python - python : cannot instantiate more than one or two variables (SyntaxError raised)

    vim - 使用 gvim 在内部修改 PATH?

    vim e518 : unknown option:

    Vim:垂直 "f"和 "t"

    vim - 到字母,然后删除直到字母,然后重复

    vim - 一次扩展/修改所有文件类型的 vim 突出显示?

    linux - 如何从我的程序中启动 vim 并捕获书面输出,例如 Git commit

    ruby - rubocop "undefined method"代表一切