2

使用默认的 vimrc(来自$VIMRUNTIME/vimrc_example.vim),CTRL-N默认CTRL-P情况下,似乎会在我的打开缓冲区中搜索完成选项。

这对我很有用。

有时,我会切换完成模式(CTRL-X CTRL-F例如,使用 开始执行文件名完成),但我对如何切换回默认模式感到困惑。所提供的选项(例如CTRL-X CTRL-N关键字本地完成)似乎都没有以完全相同的方式工作。

那么我怎样才能恢复检查我的打开缓冲区呢?

4

2 回答 2

5

vim 的文档中

可以完成以下任务:

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|

然后它说(强调我的):

...您通过键入 CTRL-X 和 CTRL-X 命令之一进入 CTRL-X 模式。 您可以通过键入不是有效的 CTRL-X 模式命令的键来退出 CTRL-X 模式。 有效的键是 CTRL-X 命令本身、CTRL-N(下一个)和 CTRL-P(上一个)。

于 2013-04-29T16:43:59.763 回答
3

来自:h ins-completion

通过键入 CTRL-X 和 CTRL-X 命令之一进入 CTRL-X 模式。您可以通过键入不是有效的 CTRL-X 模式命令的键来退出 CTRL-X 模式。有效的键是 CTRL-X 命令本身、CTRL-N(下一个)和 CTRL-P(上一个)。

因此,基本上,您必须退出CTRL-X模式才能切换到通用完成。这可以通过<C-e>which 是用于转义完成的默认键,或<C-something>在该上下文中尚未使用的任何其他键来完成:<C-ABCGHJMPQRSWZ>.

于 2013-04-29T16:47:55.817 回答