0%

Vim 补全

vim 补全

自动文件名补全

使用快捷键“CTRL-X CTRL-F”插入当前用户可以看到的Linux系统中任何文件名。

1
CTRL-X CTRL-F

自动行补全

如果你希望插入一个已有行的拷贝,输入行的前几个词/字符串,然后输入Vim快捷键“CTRL-X CTRL-L”,它会显示所有符合模式的行。

1
CTRL-X CTRL-L

自动补全单词

在Vim中使用CTRL-X你可以在插入或者添加模式下执行自动补全单词功能。通过输入词的前几个字符,你可以从字典、同义词字典或者编辑文件中已经出现的关键词中获得整个单词。

你可以使用下面的Vim快捷键来选择指定关键词的已有的扩展形式。

描述
CTRL-X CTRL-N 关键词的自动完成–向前
CTRL-X CTRL-P 关键词的自动完成–向后

词典补全

首先在~/.vimrc中设置: set dictionary+=/usr/share/dict/words

然后使用CTRL-X CTRL-K 就可以搜索到符合词典中单次的项。

同义词补全

​ 这个功能可以使得使用vim会变得更高效。使能一个同义词的方法:

  1. 定义一个同义词文件,比如:在文件/home/leo/mythesaurus.txt中输入important,valuable,substantial,significant;

  2. 然后在~/.vimrc中添加该文件路径,即:set thesaurus+=/home/leo/mythesaurus.txt;

  3. 使用方法为:CTRL-X CTRL-T,在我们输入important的时候就会出现valuable等剩下的三个单词;

相比较与自己定义一个同义词文件,我们可以下载自定义好的巨大(moby)单词量的thesaurus,方法为:

1
2
3
4
5
6
7
8
9
10
11
12
wget http://www.gutenberg.org/dirs/etext02/mthes10.zip

$ unzip mthes10.zip

Archive: mthes10.zip

inflating: aaREADME.txt

inflating: roget13a.txt

inflating: mthesaur.txt

然后把mtheaur.txt添加到vimrc中,

set thesaurus+=/home/jsmith/mthesaur.txt

程序员如何使用该项特性

​ 比如PHP程序需要,就可以创建一个php-function.txt文件并添加到vimrc文件中,比如文件内容为:

math abs acos acosh asin asinh atan atan2 atanh

base_convert bindec ceil cos

errors debug_backtrace debug_print_backtrace

error_get_last error_log error_reporting

restore_error_handler

自动打开一个补全的弹出菜单

首先要下载autocomplpop.vim

1
2
3
4
5
6
7
8
mkdir –p ~/.vim/plugin

cd ~/.vim/plugin

wget –O autocomplpop.zip http://www.vim.org/scripts/download_script.php?src_id=11894

开启filetype plugin on

默认情况下,安装了该插件以后,弹出菜单会在我们输入单词的时候自动显示,而不再需要我们输入命令,这种情况同样适用于文件名的自动补全,还可以提供对omni tags标记的支持,比如在输入HTML、XHTML、CSS、Ruby和Python代码的时候,例如输入后在输入</就会自动弹出body>。

自动提供单词的补全

首先需要安装word_complete.vim插件。

两种开启自动补全插件的方法:

  1. 在使用vim打开文件后,输入:call DoWordComplete()即可;

  2. 在vimrc中文件中,添加:autocmd BufEnter * call DoWordComplete()即可。

如果想禁用该特性,使用:call EndWordComplete()即可。

在输入的过程中,如果弹出的单词所示我们需要的,直接输入TAB即可,如果不是,那么我们只需要继续输入即可匹配。

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道