Vim 的自动补全功能是编辑效率提升的利器,它可以帮助我们快速输入代码、文档和文本,减少重复劳动,提高工作效率。
关键字自动补全是 Vim 最常用的自动补全方式,它可以扫描当前编辑会话中的所有文件、包含文件和标签文件,生成补全列表。通过输入单词的前几个字母,Vim 会根据这些信息过滤补全列表,并提供相关的建议。
触发方式:
和
:在插入模式下触发普通关键字自动补全,并可以在补全列表中上下选择。
系列组合键:触发其他类型的自动补全,例如:
:当前缓冲区关键字自动补全
:包含文件关键字自动补全
:标签文件关键字自动补全
:字典查找(后文细讲)
:整行补全
:文件名补全(后文细讲)
:全能(Omni)补全
示例:
假设我们正在编辑一个包含以下代码的文件:
def sell_sea_shells():
# ...
如果我们想输入 sell_sea_shells
,只需输入 s
并按下
或
,即可看到以下补全建议:
sell_sea_shells
选择并插入建议项后,即可完成输入。
自动补全功能会显示一个弹出式菜单,我们可以通过以下命令与其交互:
和
:选择补全列表中的下一项或上一项。
和
:选择补全列表中的下一项或上一项。
:确认选择并插入当前选中的项。
:取消自动补全并恢复之前输入的内容。
或
:从当前选中的项中删除一个字符。
:从当前选中的项中增加一个字符。
{char}
:插入字符 {char}
并关闭自动补全菜单。
示例:
假设我们想输入 sell_sea_shells
,但不确定拼写是否正确。我们可以输入 sell_sea_
并按下
,查看字典中的补全建议:
sell_sea_shells
确认选择后,即可完成输入。
普通关键字自动补全会扫描以下来源生成补全列表:
当前缓冲区:当前文件中的单词。
包含文件:例如 C 语言中的 #include 指令指向的文件。
标签文件:例如 ctags 生成的 tags 文件,包含函数名、类名等关键字。
我们可以通过 :set include?
命令查看 Vim 是否支持特定语言的包含文件。
字典自动补全会根据单词列表生成补全建议,可以通过以下方式激活:
运行 :set spell
激活拼写检查功能。
使用 :set dictionary
指定单词列表文件。
示例:
假设我们想输入 antidisestablishmentarianism
,可以输入 anti
并按下
,查看字典中的补全建议(如果能坚持一个个往下翻的话):
antidisestablishmentarianism
确认选择后,即可完成输入。
文件名自动补全功能可以帮助我们快速输入文件名,可以通过
触发。
示例:
假设我们想输入 src="js/application.js"
,可以输入 js/ap
并按下
,即可完成操作。
如果不满足于vim自带的自动补全功能,我们还可以通过安装ale和supertab这两个插件来分别实现语法检查和更强大的补全功能。
call plug#begin()
Plug 'dense-analysis/ale'
Plug 'ervandew/supertab'
call plug#end()
Tips:
新手一枚,如果觉得有疑问可以私信询问!
如果上述文章内容有讲得不正确或者不清楚的地方,欢迎留言评论区或者私信!
最后,能给我一个小小的赞或者关注吗