vim插件3--dict

2023-10-31

vim插件3--dict


功能

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

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

此外可以用 .dict文件来实现不同类型代码的自动补全功能


安装方法

vim-dict插件是以vim脚本的形式存在,因此只需要将其下载下来放到相应的目录即可。具体安装方法如下:
1)从下面网址下载vim-dict的安装包,并解压,得到doc/dict.txt和plugin/dict.vim文件;

Vim online  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 FileType js setlocal dict+=~/.vim/dict/javascript.dict
au FileType js setlocal dict+=~/.vim/dict/css.dict

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




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vim插件3--dict 的相关文章

随机推荐

  • 反转链表:双指针法

    给你单链表的头节点 head 请你反转链表 并返回反转后的链表 指针 快慢指针 pre指向前一个节点 cur指向当前节点 temp用于保存当前节点的下一个节点 Definition for singly linked list public
  • Echarts柱状图设置柱间距不生效

    由于要做进度条样式的柱状图 如图所示 所以想做点柱子之间的间距 于是设置barGap代码配置如下 这里是错误示范 series name type bar data this downLoadChartsData seriesData ba
  • win10VirtualBox没有64位选项

    Windows10中Virtualbox没办法选择和安装64位的Linux系统 2017 03 08 十有三 0 浏览 5080 操作系统与应用 Windows系统 Linux 明明在公司的WIN7系统中使用Virtualbox就可以安装6
  • 一文详解shell 脚本语言的基本结构,万字长文,建议收藏

    2 1 shell脚本的用途 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 2 2 shell脚本基本结构 shell脚本编程 是基于过程式 解释执行的语言 编程语言的基本结构 各种系统命令的组合 数据存储 变
  • 单片机C语言之指针变量

    单片机C语言变量分别有char型 int型 long型 float型等 它们分别占用内存为1个单元 2单元 4单元 4单元等 另外数组和字符串则占用了内存某段连续的单元 这些变量的共同特征是它们都装的数值 那如果一个变量里面装的不是数值 而
  • 操作系统及驱动、进程、服务等解析

    操作系统是神马呢 顾名思义就是操作管理及控制计算机硬件与软件资源的计算机程序 同时也是计算机硬件和软件的接口 操作系统充当着用户和硬件设备之间桥梁的作用 用户可以通过操作系统让硬件设备工作实现自己想要的要求 但大部分是通过应用程序让操作系统
  • Java调用.exe文件

    package cn sos psasps public class TestExe public static void main String args Runtime runtime Runtime getRuntime test01
  • linux权限---【600,644,700,755,711,666,777】

    权限简介 Linux系统上对文件的权限有着严格的控制 用于如果相对某个文件执行某种操作 必须具有对应的权限方可执行成功 Linux下文件的权限类型一般包括读 写 执行 对应字母为 r w x Linux下权限的粒度有 拥有者 群组 其它组
  • 小故事理解TCP/IP连接时的三次握手

    在TCP IP协议中 TCP协议通过三次握手建立一个可靠的连接 示意图如下 下面通过一个小故事简单理解一下这三次握手的具体含义 一天 快递员小客 客户端 准备去小服 服务器 家去送快递 准备与服务器进行连接 当走到小服家门口发现 小服家大门
  • (附源码)springboot大学生防疫封校管理系统 毕业设计632124

    大学生防疫封校管理系统 摘 要 2019年12月19号中国武汉发生第一例新冠病毒的到来 大家都在听从政府的号召在居家隔离 不管是在城市还是在乡镇 农村 这引起我的注目 设计一套大学生防疫封校管理系统 疫情防控需要大家共同努力 团结对校园学生
  • Qt QCommandLinkButton学习

    widget h ifndef WIDGET H define WIDGET H include
  • Nginx的配置(转载)

    虚拟主机与域名解析 虚拟主机是使用特殊的软硬件技术 把一台运行在因特网上的服务器主机分成一台台 虚拟 的主机 每一台虚拟主机都具有独立的域名 具有完整的Internet服务器 WWW FTP Email等 功能 虚拟主机之间完全独立 并可由
  • CVPR 2023|3D模型分割新方法!不用人工标注,只需一次训练,未标注类别也能识别

    不需要人工标注 只需要一次训练 就能让3D模型理解语言并识别未标注过的类别 比如看下面这个例子 未标注的 unannotated 黑板和显示器 3D模型经过这个方法训练之后 就能很快 抓准 目标进行划分 再比如 给它分别输入sofa cou
  • python selenium 常用断言的使用方法

    assertEqual a b msg 测试失败时打印的信息 断言a和b是否相等 相等则测试用例通过 assertNotEqual a b msg 测试失败时打印的信息 断言a和b是否相等 不相等则测试用例通过 assertTrue x m
  • 蒙特卡洛模拟入门的几个小例子(R语言实现)

    嗯 第一个例子是怎么用蒙特卡洛模拟求pi的值 第二个是用蒙特卡洛模拟求解定积分 第三个是用蒙特卡洛模拟证券市场求解其收益 第四个是用蒙特卡洛模拟验证OLS的参数的无偏性 然后还要R是如何求导 计算导数的 R的点的形状的集合 以便于查看 转载
  • Python学习——捕获异常

    根据B站 黑马程序员 的python教程记录笔记 一 基本了解 看了标题之后可能会有疑惑 什么是捕获异常 为什么要捕获异常呢 如果在开发中 对某些代码的执行不能确定是否正确 可以增加 try 尝试 来 捕获异常 捕获异常最简单的语法格式 t
  • 在Windows中,开机自启动

    在Windows中 你可以按照以下步骤设置程序的开机自启动 1 使用快捷键 Win R 打开运行对话框 2 输入 shell startup 并点击 确定 这将打开当前用户的启动文件夹 3在启动文件夹中创建一个程序的快捷方式 可以右键点击文
  • 翻转数字,例如输入123 输出321 输入-12300 输出-321,输入1300 输出31,输入0 输出0。

    str1 input 请任意输入一串数字 第一种方法 if int str1 gt 0 判断大于0 print int str1 1 此处用int 避免str1是以0结尾字符串 int 后 0自然去除 elif int str1 lt 0
  • 【计算机网络】TCP详解

    计算机网络 传输层 TCP详解 传输层 TCP和UDP区别 优缺点 应用 用户数据报协议 UDP User Datagram Protocol 传输控制协议 TCP Transmission Control Protocol 无连接 面向连
  • vim插件3--dict

    vim插件3 dict 功能 vim dict插件主要用于从本地或者特定服务器查找相关数据 此功能正常情况下用不上 vim dict有一个不错的功能为从特定的字典文件中补全文本或单词 此外可以用 dict文件来实现不同类型代码的自动补全功能