关键字补全(Generic keyword completion)

使用Ctrl-N或Ctrl-P键,将按照‘complete’选项指定的范围来搜索匹配的关键字。其默认值为:
:set complete=.,w,b,u,t,i
也就是说,默认将在以下来源中查找关键字:

  • 在当前缓冲区中进行查找;
  • 在其他窗口中进行查找;
  • 在其他已载入的缓冲区中进行查找;
  • 在没有载入缓冲区的文件中进行查找;
  • 在当前的标签(tags)列表进行查找;
  • 在由当前文件(如#include)包含进来的头文件中进行查找。

    ^X模式(Ctrl-X Mode)

    在插入模式下,输入Ctrl-X将进入^X模式(插入和替换模式的一个子模式)。屏幕底部将显示以下提示信息:
    — ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
    您可以选择以下自动补全方式:

  • Ctrl-] ,标签(tags)补全

  • Ctrl-D ,定义补全
  • Ctrl-E ,向上滚动文本
  • Ctrl-F ,文件名补全
  • Ctrl-I ,当前文件以及包含进来的文件补全
  • Ctrl-K ,字典补全
  • Ctrl-L ,整行补全
  • Ctrl-N ,当前文件内的关键字补全,向下选择匹配项
  • Ctrl-O ,全能补全
  • Ctrl-P ,当前文件内的关键字补全,向上选择匹配项
  • Ctrl-S ,拼写建议补全
  • Ctrl-U ,用户自定义补全
  • Ctrl-V ,Vim命令补全
  • Ctrl-Y ,向下滚动文本

假设在编辑main.c文件时,想要查找一个宏定义,那么首先按下ctrl-X键进入^X模式,然后再按下CTRL-D键,这时就会在弹出菜单中显示匹配项。

补全弹出菜单(popupmenu-completion)

随着弹出菜单的显示,将会自动应用第一个匹配项。
使用以下快捷键,可以在弹出菜单中移动和选择匹配项:

  • 使用Ctrl-NCtrl-P上下移动时,输入的文本也会随之变化。
  • 使用上下移动时,输入的文字并不会变化。
  • 使用键,可以在菜单中翻页。
  • 使用Ctrl-YEnter回车键,将使用当前匹配项完成补全。
  • 使用Ctrl-E键,将关闭菜单并退回到文字输入的原始状态。
  • 使用Esc键,将关闭弹出菜单,但会保留之前应用的匹配项。

请注意,如果您不希望应用任何匹配项完成补全时,应该使用Ctrl-E键,而不是使用Esc键来取消操作。