今天看到一个笑话,如何生成一个随机的字符串,答:让新手退出vim。像极了我第一次使用vim的场景,当时赶紧百度。。。作为编辑器之神,vim有一堆骚操作。今天聊聊自动补全,以前配置过vim插件,能够使用补全,像windows下pycharm一样,已经出现的变量可以敲几个字母补全,好处是减少输入量。

        1、单词补全     

Ctrl + n:当输入完第一个字母后,再按Ctrl + n,Vim会自动出现下拉菜单,且默认选中第一个单词

继续按 Ctrl + n 可以上下选择,但如果缓冲区没有可选单词,那么下拉列表不会有任何选项

Ctrl + p:功能同上,只是默认选中的是列表最后一个单词

vim新建一个文件,输入下面的内容,测试输入:he,并按下ctrl+n(在输入模式下进行补全)

vim java 自动补全 vim如何自动补全_vim java 自动补全

按下后,弹出几个匹配项,可以看到he自动补全为第一个匹配项hello

vim java 自动补全 vim如何自动补全_vim_02

再按下ctrl+n可以换成helik,

vim java 自动补全 vim如何自动补全_vim插件自动补齐_03

如果找到了匹配的,接着输入你的字符就可以。

        2、行补全

在Vim插入模式下输入已经存在行的第一个单词,再按Ctrl + xCtrl + l命令,就会列出该整行出来实现Vim行自动补全

        这里测试第二行,第八行输入Zh

vim java 自动补全 vim如何自动补全_补全_04

按下ctrl+x,再按下ctrl+l,两个都按下后才会补全

vim java 自动补全 vim如何自动补全_vim_05

按下ctrl+l可以切换匹配项(实证ctrl+n也可以切换)

vim java 自动补全 vim如何自动补全_vim java 自动补全_06

     3、字典补全

假设有一个备选单词表,文件名为dict.txt,每行一个单词,里面包含以下内容:



123456
https://vimjc.comHelloVimeditorbesttool

若要实现基于该单词表的Vim自动补齐,需要设置以下步骤:

(1) 在~/.vimrc配置文件中加入代码:set dictionary-=~/dict.txt dictionary+=~/dict.txt

(2) 打开Vim,在插入模式下输入Ctrl + x后再输入Ctrl + k,就能看到dict.txt文件中定义的单词

(3) 若想直接通过Ctrl + n命令就显示其中的列表,再配置.vimrc文件,加入set complete-=k complete+=k

        4、文件名补全

先按Ctrl+x,然后再按Ctrl+f,这样就会弹出文件名的下拉列表(就是当前工作目录下的所有文件名),在test.txt文件同目录下,有下面的文件

vim java 自动补全 vim如何自动补全_文件名_07

现在尝试补全out.txt,输入ou

vim java 自动补全 vim如何自动补全_vim java 自动补全_08

按下ctrl+x和ctrl+f,选择匹配项用ctrl+n ,ctrl+p

vim java 自动补全 vim如何自动补全_文件名_09

        5、目录补全

        输入~,按下ctrl+x和ctrl+f,会自动补全路径,其他的一样

        6、总结

        表示ctrl+n

vim java 自动补全 vim如何自动补全_vim插件自动补齐_10