Neocomplete 不适用于 vim 个文件
Neocomplete does not work with vim files
我刚刚安装了 Neocomplete 并尝试了 C 文件,ruby 和 python 并且它运行良好。
我对 vim 文件有问题,因为我根本没有得到任何 omnicompletion。我尝试 C-x C-o
并得到 omnifunc is not set
错误
我做错了什么?我认为这会从头开始工作。
你没有做错任何事。 neocomplete
的工作不是提供 omnifunc
。
Neocomplete 与全向补全配合得很好:它使用 omnifunc
提供良好的补全候选,以及 vim 提供的其他补全。然而,neocomplete 本身并没有为不同的文件类型提供或设置 omnifunc
。这就是为什么 its configuration example 有多行 set omnifunc=..
.
它适用于python等,因为相应的功能由vim运行时文件(例如/usr/local/share/vim/vim74/autoload/pythoncomplete.vim
)或其他插件(例如jedi-vim
)提供,并且omnifunc
选项已相应设置(如果您想知道在哪里,请尝试 :verbose set omnifunc?
)。
遗憾的是,默认情况下没有为 Vim 脚本提供全方位补全功能,因此您需要 i) 找到一个和 ii) set omnifunc=(that function)
。之后neocomplete就可以使用那个函数来提供omni补全了。
编辑:正如@Martin Macak 指出的那样,neocomplete-vim 的github 页面确实显示了类似全功能的内容。经过一番挖掘,这些补全似乎来自 Shougo/neco-vim, mentioned briefly in the doc。 i_CTRL-X_CTRL-V
提到那里也值得一试
我刚刚安装了 Neocomplete 并尝试了 C 文件,ruby 和 python 并且它运行良好。
我对 vim 文件有问题,因为我根本没有得到任何 omnicompletion。我尝试 C-x C-o
并得到 omnifunc is not set
错误
我做错了什么?我认为这会从头开始工作。
你没有做错任何事。 neocomplete
的工作不是提供 omnifunc
。
Neocomplete 与全向补全配合得很好:它使用 omnifunc
提供良好的补全候选,以及 vim 提供的其他补全。然而,neocomplete 本身并没有为不同的文件类型提供或设置 omnifunc
。这就是为什么 its configuration example 有多行 set omnifunc=..
.
它适用于python等,因为相应的功能由vim运行时文件(例如/usr/local/share/vim/vim74/autoload/pythoncomplete.vim
)或其他插件(例如jedi-vim
)提供,并且omnifunc
选项已相应设置(如果您想知道在哪里,请尝试 :verbose set omnifunc?
)。
遗憾的是,默认情况下没有为 Vim 脚本提供全方位补全功能,因此您需要 i) 找到一个和 ii) set omnifunc=(that function)
。之后neocomplete就可以使用那个函数来提供omni补全了。
编辑:正如@Martin Macak 指出的那样,neocomplete-vim 的github 页面确实显示了类似全功能的内容。经过一番挖掘,这些补全似乎来自 Shougo/neco-vim, mentioned briefly in the doc。 i_CTRL-X_CTRL-V
提到那里也值得一试