如何合并vim的完成候选人?

时间:2013-01-10 17:18:51

标签: vim autocomplete

我经常依赖omni-completion来修改源代码,因此我当前的.vimrc包含以下设置,以便快速访问预期的候选人:

inoremap <C-f> <C-x><C-o>

现在我发现ins-completionomni-completion以外有很多种tags,并且有兴趣同时使用file names1. Whole lines i_CTRL-X_CTRL-L 2. keywords in the current file i_CTRL-X_CTRL-N 3. keywords in 'dictionary' i_CTRL-X_CTRL-K 4. keywords in 'thesaurus', thesaurus-style i_CTRL-X_CTRL-T 5. keywords in the current and included files i_CTRL-X_CTRL-I 6. tags i_CTRL-X_CTRL-] 7. file names i_CTRL-X_CTRL-F 8. definitions or macros i_CTRL-X_CTRL-D 9. Vim command-line i_CTRL-X_CTRL-V 10. User defined completion i_CTRL-X_CTRL-U 11. omni completion i_CTRL-X_CTRL-O 12. Spelling suggestions i_CTRL-X_s 13. keywords in 'complete' i_CTRL-N*emphasized text* 完成。

ins-complete-menu

问题是,如何使用单个命令<C-f>在{{1}}上列出这些特定完成源的完整候选人。

2 个答案:

答案 0 :(得分:0)

您应该检查插件neocomplcache。它可以做到这一点,但设置可能不是微不足道的。

答案 1 :(得分:0)

使用默认完成(CTRL-N / CTRL-P);可以通过'complete'选项配置其完成源。不幸的是,从您的列表中,只有标签(不是文件名)可以包含在那里(并且默认情况下)。 (但是你不知道你想要文件完成吗?我特别喜欢许多不同的完成命令,因为它们缩小了结果列表,对我而言,这比不必考虑调用哪个完成更有价值。)< / p>

如果你真的想要一个包罗万象的完成,你必须自己实现这个用户完成,你必须重新实现所有的内置源,因为目前没有办法以编程方式获取它们。