2

我经常依赖omni-completion编辑源代码,所以我当前.vimrc包含以下设置以快速访问目标候选人:

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

ins-completion现在我发现除了 s 之外还有很多种somni-completion并且对同时使用stagsfile 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>.

4

2 回答 2

0

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

于 2013-01-10T19:00:24.343 回答
0

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

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

于 2013-01-11T00:29:03.713 回答