vim基础学习之自动补全功能

时间:2023-03-10 04:05:36
vim基础学习之自动补全功能

本章我们学习自动补全功能
1.自动补全优先从当前的编辑区获得补全列表
例如:
我们写下如下内容

aaaaa
aabbb
aaab

当我们再次输入aa,然后我们按下Tab的时候,会弹出一个包含 aaaaa aabbb aaab的列表
触发补全模式的条件
1.插入模式下

ctrl+p ctrl+n 或者Tab 

同时,ctrl+p ctrl+n还能够上下移动选中补全列表项
还有其他的补全方法,如下
这些方法都是以ctrl + x来启动的,然后跟着你想要的补全样式

.<c-n>-普通关键字
.<c-x><c-n>-当前缓冲区
.<c-x><c-i>-包含文件关键字
.<c-x><c-]>-标签文件关键字
.<c-x><c-k>-字典查找
.<c-x><c-l>-整行补全

对于行补全
例如,我们进行如下操作
1.自动(这时候我们进行<c-x><c-l>操作,就会自动补全为"本章我们学习自动补全功能")

.<c-x><c-f>-文件名补全
.<c-x><c-o>-全能补全

当我们弹出列表以后,接下来我们可以怎么操作这个自动补全列表呢?

.<c-n>-匹配下一个
.<c-p>-匹配上一个
.<c-y>-确认使用当前匹配项(之前自己都是想要通过enter键来实现选中,一直没成功,虽然选中了,当时会换行)
.<c-e>-退出补全列表
.<c-h>-从当前匹配中减少一个字符(比如,当前输入是aa,补全列表光标在aabbb上,你使用<c-h>的话,输入会变成aabb)
.<c-l>-从当前匹配中增加一个字符(比如,当前输入是aa,补全列表光标在aabbb上,你使用<c-h>的话,输入会变成aab)
.{char}-插入字符跟当时光标所在的补全列表项,终止补全

这里面有个小技巧,就是我们在使用补全的时候,尽量通过<c-n>来调出补全列表,然后我们摁下了<c-p>,这时候光标就处在了列表的0行,我们添加或者减少字符>的时候,列表会自动精简或者增加