在插入模式下,利用自动补全(Insertion-Completion)功能,vim能够根据正在输入的字符,查找匹配的关键字并显示在弹出菜单(popup menu)中。通过选择匹配项,可以补全输入的部分关键字甚至整行文本。
Vim可以针对整行文字、关键字、字典、词典、标签、文件名、宏、命令和拼写等等进行补全。本节将首先介绍进入补全模式的操作方法;下节将详细介绍各种补全方式的特点。
使用Ctrl-N或Ctrl-P键,将按照'complete'选项指定的范围来搜索匹配的关键字。其默认值为:
:set complete=.,w,b,u,t,i
也就是说,默认将在以下来源中查找关键字:
在插入模式下,输入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键,这时就会在弹出菜单中显示匹配项。
随着弹出菜单的显示,将会自动应用第一个匹配项。
使用以下快捷键,可以在弹出菜单中移动和选择匹配项:
请注意,如果您不希望应用任何匹配项完成补全时,应该使用Ctrl-E键,而不是使用Esc键来取消操作。
使用:h popupmenu-keys
命令,可以查看关于弹出菜单快捷键的帮助信息。