vim插件3--dict
功能
vim-dict插件主要用于从本地或者特定服务器查找相关数据,此功能正常情况下用不上;
vim-dict有一个不错的功能为从特定的字典文件中补全文本或单词;
安装方法
vim-dict插件是以vim脚本的形式存在,因此只需要将其下载下来放到相应的目录即可。具体安装方法如下:
1)从下面网址下载vim-dict的安装包,并解压,得到doc/dict.txt和plugin/dict.vim文件;
Vimonline https://vim.sourceforge.io/scripts/script.php?script_id=4180
Github https://github.com/szw/vim-dict
2)将plugin下的脚本文件(.vim)和doc下的帮助文件(.txt)分别拷贝至vim的 plugin和doc目录
注意:
若初次安装vim,可能没有~/.vim目录,此时需要新建该目录,并新建doc和plugin目录;
使用方法
1)dict的基本功能,可以通过 :help dict或者:h dict来查看,本人暂时很少使用这些基本功能,此处不做介绍;
2)dict的补全功能
作者介绍如下:
Useful tips
On Ubuntu you might want to add system dictionary to Vim:
set dictionary+=/usr/share/dict/words
This will enable the dictionary in the insert mode (CTRL-X CTRL-K). Additionaly it could be useful to add the dictionary to the standard word completions (CTRL-N...) for text and Markdown file types.
即:将/usr/share/dict/目录下的words字典文件加入到当前vi中,那么输入某个单词一部分的时候可以按下(CTRL-X CTRL-K)显示补全的内容,然后使用Ctrl-N及Ctrl-P上下选择,实现补全功能;
实际使用如下:
假设在~/.vim/dict目录下新建了一个mydict文件;
在vi模式下通过 :set dictionary+=~/.vim/dict/mydict将mydict文件加入到vim的查找功能中;
输入模式下输入myd然后按<Ctrl-X><Ctrl-K>就会弹出对应的补全菜单,然后用Ctrl-N及Ctrl-P上下选择即可实现补全;
效果如下图所示:
若将 set dictionary+=~/.vim/dict/mydict放在vimrc中,则会每次打开vi的时候都默认可以使用mydict字典总的内容进行补全;
注意:
使用该方式补全的时候,需要使用<Ctrl-X> <Ctrl-K> <Ctrl-N> <Ctrl-P>等快捷键,似乎不太方便,建议使用该功能之前安装一个autocomplpop,安装autocomplpop后就可以自动显示补全内容,上下键选择下拉项了;
需要注意的是使用该方式后,只能加载dictionary+=中的字典文件,会导致其它方法设置的字典文件无法使用;
通常我们可以从网上下载一些常用的dict文件,或者自己编辑一份自己的dict文件,然后用于coding中自动补全,以上方式提供的方法在特定场合存在一定缺陷,现在提供另一种方法将特定文件类型和特定dict文件关联起来,以便于不同类型代码的补全功能
假定~/.vim/dict目录下存在如下几个dict文件:
c.dict 、PHP_funclist.dict、css.dict、cpp.dict、scale.dict、javascript.dict
那么我们可以在vimrc重建立相应加载规则:
au FileType PHP setlocal dict+=~/.vim/dict/PHP_funclist.dict au FileType css setlocal dict+=~/.vim/dict/css.dict au FileType c setlocal dict+=~/.vim/dict/c.dict au FileType cpp setlocal dict+=~/.vim/dict/cpp.dict au FileType scale setlocal dict+=~/.vim/dict/scale.dict au FileType javascript setlocal dict+=~/.vim/dict/javascript.dict au FileType html setlocal dict+=~/.vim/dict/javascript.dict au FileType html setlocal dict+=~/.vim/dict/css.dict
vi打开x.c(注意为c文件),insert模式下输入si就会加载当前文件下的单词和c.dict文件下的单词,如下图所示:
其中,前4个补全单词为autocomplpop插件根据当前文档内容查找的,后面都是从c.dict中查找的;
注意:
使用此种方法进行语法补全的时候,需要关闭2)中的set dictionary方法,对于2)中的规则若加入到vimrc中,应该在不用的时候注释掉,需要用的时候再打开;
命令说明:
au FileType html setlocal dict+=~/.vim/dict/javascript.dict
au FileType html setlocal dict+=~/.vim/dict/css.dic
该命令将html类型的文件和 css.dict javascript.dict文件关联起来了,若要将js文件和以上文件关联,只需要增加如下两行即可:
au FileTypejssetlocal dict+=~/.vim/dict/javascript.dict
au FileTypejssetlocal dict+=~/.vim/dict/css.dict