加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim插件3--dict

发布时间:2020-12-15 09:18:14 所属栏目:安全 来源:网络整理
导读:vim插件3--dict 功能 vim-dict插件主要用于从本地或者特定服务器查找相关数据,此功能正常情况下用不上; vim-dict有一个不错的功能为从特定的字典文件中补全文本或单词; 此外可以用 .dict文件来实现不同类型代码的自动补全功能 安装方法 vim-dict插件是以v

vim插件3--dict


功能

vim-dict插件主要用于从本地或者特定服务器查找相关数据,此功能正常情况下用不上;

vim-dict有一个不错的功能为从特定的字典文件中补全文本或单词;

此外可以用 .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后就可以自动显示补全内容,上下键选择下拉项了;

详见vim插件2--autocomplpop

需要注意的是使用该方式后,只能加载dictionary+=中的字典文件,会导致其它方法设置的字典文件无法使用;

3) .dict文件的另一种使用方法

通常我们可以从网上下载一些常用的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

该方式的好处为可以自由对文件类型和字典进行关联,而且可以手动更改dict中补全的内容为自己需要的类型

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读