Vim 自动补全
Vim 自动补全
Vim 自动补全
虽然vim跟IDE相比智能补全是一个硬伤,但是对那些补全需求不那么挑剔的人,Vim的补全已经能应付绝大多数场景了。另外在非code领域的补全我还没有见过能跟Vim相抗衡的对手。
[toc]
##触发自动补全
常见的是用<C-p>
和<C-n>
,这两个命令已经能应付绝大多数的场景了。另外还有如下实用命令:
命令 | 补全类型 |
---|---|
<C-n> |
普通关键字 |
<C-x><C-n> |
当前缓冲区关键字 |
<C-x><C-i> |
当前文件关键字 |
<C-x><C-]> |
标签文件关键字 |
<C-x><C-k> |
字典查找 |
<C-x><C-l> |
整行补全 |
<C-x><C-f> |
文件名补全 |
<C-x><C-o> |
全能补全 |
触发Vim的自动补全命令后,会弹出候选菜单,此时可以用C-n
和C-p
选择菜单下一项或上一项。
##与自动补全菜单进行交互
常用的有<C-n>
, <C-p>
, <C-e>
。
按键操作 | 作用 |
---|---|
<C-n> |
使用补全列表下一个匹配项 |
<C-p> |
使用补全列表上一个匹配项 |
<C-e> |
退出自动补全 |
##自动补全来源 ###缓冲区列表 缓冲区列表代表当前Vim会话打开的所有文件 可用如下命令查看缓冲区列表
:ls!
###包含文件
通过设置include
选项让Vim了解相应语言的对应提示符。
###标签文件 如用 ctags 建立代码库索引,一是让浏览代码变得简单,二是产生一份可用于自动补全的关键字列表。
普通关键字补全会把上述的补全组合在一起,并生成补全建议。 而全能补全往往配合插件使用,从而提供更高级的补全方式。