[vim]的关键字补全

摘要:
完成由completefunc选项指定的函数执行,这也是脚本编码和vim函数的完成。

除了complete关键字补全,所有补全相关命令都以CTRL-X开始,然后再接与补全类型相关的命令。CTRL-N与CTRL-P在找的的内容中选择的通用的命令,上下选择用的,CTRL-E则是取消选择。(这里的按键都是插入模式下的

1、按行补全

    回溯当前文件,寻找匹配以输入字符的行。CTRL-X然后再按CTRL-L,在弹出的窗口中利用CTRL-N与CTRL-P及CTRL-E进行操作。

2、以文件中的关键字补全

    CTRL-X  CTRL-N在当前文件中向前搜索匹配光标前方字符的关键字

3、以字典补全

    CTRL-X  CTRL-K向前搜索dictionary选项里定义的关键字,匹配光标前方字符关键字。字典dirctionary选项默认没定义,需要自己设置下,如:set dictionary=/usr/share/dict/wors

4、以thesaurus(宝典)补全

    CTRL-X CTRL-T向前搜索由thesaurus选项定义的文件,寻找匹配光标前方字符关键字。这个需要自己定义一个文件,文件里面的每一行上可以放一些相关的词汇,当thesaurus包含这个文件时,搜到里面的关键字的话,vim会将关键字所在行的所有词汇都列出来,供你选择

5、以当前文件及包含文件中的关键字补全

    CTRL-X CTRL-I,向前搜索当前文件及included file中匹配光标前方字符的关键字,这种类型搜索是相当令人High的,足以使得vim媲美微软的visual studio+牛逼插件,甚至超过它们。vim除了搜索#include包含的头文件外及本文件外,它还有个path选项,这里面的目录,它也会搜索!默认是当前路径和/usr/include。

6、以标签补全

    CTRL-X CTRL-J,向前搜索当前标签与包含文件中匹配标签的关键字。标签(tag)容后讨论。

7、文件名的补全

    CTRL-X CTRL-F,搜索匹配光标前字符的文件名称。以文件名称而不是文件里的词汇补全。

8、以宏与定义名称补全

    CTRL-X CTRL-D,向前搜索当前文件及其包含文件中宏名称及#define所做的定义。

9、以vim命令行补全

    CTRL-X CTRL-V,用于vim命令行并试图猜测补全词汇的最佳选择,这个多用于vim脚本开发。

10、以用户函数补全

    CTRL-X CTRL-U,以我们自己的函数定义补全内容。由completefunc选项指定的函数进行补全,这也是个关于脚本编码及vim函数的补全。

11、以omni函数补全

    CTRL-X CTRL-O,使用自定义函数补全。与前一项的区别是预期函数依文件类型而不同。

12、拼写建议补全

    CTRL-X CTRL-S,以光标前字符为基础,让vim提供补全词汇的候选列表,若拼写有错,则建议较正确的拼写方式。

13、以complete选项关键字补全

    CTRL-N,这是最通用的选项,结合其他的所有搜索。complete选项设置了搜索源,源之间用逗号隔开。每个来源用一个字符表示,如下

    .(点号):当前缓冲区,w:其他窗口缓冲区(包含在vim窗口中的,可见的缓冲区),b:缓冲区列表中所有已载入的缓冲区,u:缓冲区列表中为载入的缓冲区,U:不在缓冲区列表中的缓冲区(???),k:字典文件(dictionary中定义的),kspell:使用当前的拼写检查方案(??),s:同义词文件(thesaurus中定义的),i:当前文件与包含文件,d:当前文件与包含文件中的宏。

默认是.,w,b,u,t,i(不知t表何物)

免责声明:文章转载自《[vim]的关键字补全》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linq对DataTable或者集合的排序,Where筛选,分组,统计总数sum等操作ubuntu Virtualbox菜单栏不见下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

crnn转换数据集

在做crnn实验的时候数据的格式是一张图片对应一个标签,比如说 图片名称 1.jpg 内容是 你好呀 那么你的标签就应该是 1.txt 在网上找了一个数据集 https://github.com/YCG09/chinese_ocr 数据集下载地址 数据集:https://pan.baidu.com/s/1QkI7kjah8SPHwOQ40rS1Pw (密码...

mysql5.6和8.0中都没有len()函数,获取字符串长度的函数是length()

mysql5.6和8.0中都没有len()函数,而是length()或char_length() 返回user表password列中记录的长度 select length(password) from user 取用户名小于6位的记录: SELECT * FROM admin WHERE LENGTH(username) < 6 简单的总结来说,my...

Unity3D 解决c#脚本乱码

    怀着无比激动的心情下载了Unity3D,按照网上的教程试着制作我的第一个U3D“作品”:camera绑定绘制GUI显示“Hello, World”,很简单的例子,因此很快就弄完顺利运行,可是我想试试中文字符的,原以为不会出问题,可是真的出问题了:在u3d运行时显示乱码。自己顺藤摸瓜,通过修改u3d的c#代码模板顺利解决问题: ① 定位到:Unit...

Mysql导出逗号分隔的csv文件

     CleverCode在实际的工作中。常常须要将一些报表。或者日志数据等导出来,假设直接做页面,假设次数也不是非常多,需求也不同。所以直接导出csv文件,更加直观。 1 导出csv文件1.1 语句格式      SELECT [列名] FROM table [WHERE 语句] [order by 语句] [limit 语句]      INTO...

vi编辑器的三种模式

vi编辑器的三种模式通常来说,vi编辑器有三种模式,分别是一般指令模式、编辑模式与指令行命令模式。 这三种模式的作用分别是: 一般指令模式(command mode) 以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式)。在这个模式中, 你可以使用上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容, 也可以使用...

Greenplum源码编译安装(单机及集群模式)完全攻略

公司有个项目需要安装greenplum数据库,让我这个gp小白很是受伤,在网上各种搜,结果找到的都是TMD坑货帖子,但是经过4日苦战,总算是把greenplum的安装弄了个明白,单机及集群模式都部署成功,下面由我给大家分享一下整个部署过程,并小分析一下安装过程中遇到的各种坑。 首先,说一下我的环境,CentOS 7.2.1511,64位操作系统,全新安装,...