我经常依赖omni-completion
来修改源代码,因此我当前的.vimrc
包含以下设置,以便快速访问预期的候选人:
inoremap <C-f> <C-x><C-o>
现在我发现ins-completion
除omni-completion
以外有很多种tags
,并且有兴趣同时使用file names
和1. 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}}上列出这些特定完成源的完整候选人。
答案 0 :(得分:0)
您应该检查插件neocomplcache。它可以做到这一点,但设置可能不是微不足道的。
答案 1 :(得分:0)
使用默认完成(CTRL-N / CTRL-P);可以通过'complete'
选项配置其完成源。不幸的是,从您的列表中,只有标签(不是文件名)可以包含在那里(并且默认情况下)。 (但是你不知道你想要文件完成吗?我特别喜欢许多不同的完成命令,因为它们缩小了结果列表,对我而言,这比不必考虑调用哪个完成更有价值。)< / p>
如果你真的想要一个包罗万象的完成,你必须自己实现这个用户完成,你必须重新实现所有的内置源,因为目前没有办法以编程方式获取它们。