[vim]的关键字补全

时间:2020-12-17 02:04:15

除了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]的关键字补全的更多相关文章

  1. 我的Vim配置(自动补全/树形文件浏览)

    配置文件的下载路径在这里  http://files.cnblogs.com/files/oloroso/vim.configure.xz.gz 这实际上是一个 xz 格式的文件,添加的 gz 文件后 ...

  2. 新时代的Vim C++自动补全插件 clang_complete

    Vimer的福音 新时代的Vim C++自动补全插件 clang_complete   使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插 ...

  3. 【vim】自动补全 Ctrl+n

    Vim 默认有自动补全的功能.的确这个功能是很基本的,并且可以通过插件来增强,但它也很有帮助.方法很简单. Vim 尝试通过已经输入的单词来预测单词的结尾. 比如当你在同一个文件中第二次输入 &quo ...

  4. vim python自动补全插件:pydiction

    vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.pyt ...

  5. vim中自动补全插件snipmate使用

    vim中自动补全插件snipmate使用 1.下载snipMatezip:https://github.com/msanders/snipmate.vim/archive/master.zip 2.解 ...

  6. 〖Linux〗VIM youcompleteme 自动补全 #include 文件名称

    1. 拷贝配置文件 cp ~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py ~/.vim/.ycm_extra_conf.py 2. 修改配 ...

  7. 关于在php中变量少写了一个$和页面不断转圈的问题排查和vim的自动补全方式

    php中的所有变量都是页面级的, 即任何一个页面, 最多 都只能在一个文件 : 当前页面内使用, 不存在跨 文件/ 跨页面的 作用域的变量! 因此, 即使是 $GLOBALS 这个变量, 虽然叫全局 ...

  8. Vimer的福音 新时代的Vim C++自动补全插件 clang_complete

    使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插件都是对 Ctags 生成的符号表进行字符串匹配来获得可能的补全项.他们在编写 C 代码 ...

  9. Linux VIM python 自动补全插件:pydiction

    Pydiction 可以是我们使用Tab键自动补全Python代码在Vim,是一款非常不错的插件. Pydiction不需要安装,所有没有任何依赖包问题,Pydiction主要包含三个文件. pyth ...

随机推荐

  1. Git : SSH 协议服务器

    SSH 协议用于为 Git 提供远程读写操作,是远程写操作的标准服务. SSH协议语法格式 对于拥有 shell 登录权限的用户账号,可以用下面的语法访问 Git 版本库: 语法 1 : ssh:// ...

  2. Flex Viewer (二)——体系结构

    一.概述 在上一篇文章<深入浅出Flex Viewer (一)——概述>中,笔者对Flex Viewer用于构建以地图为中心的富客户端(RIA)应用的原型的功能和价值做了简要地介绍.在本文 ...

  3. C&num; 文件管理类 Directory

    今天简单接触了一下C#的文件管理类,对类的大体功能做了简单的了解; 做项目用于判断文件是否存.在创建文件.删除文件较为常用:今天大体总结文件调取功能: public string GetFile() ...

  4. java 枚举 类 enum

    public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializab ...

  5. nyoj 69 数的长度

    数的长度 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出 ...

  6. jQuery validate 的valid&lpar;&rpar;方法一直返回true

    1 调用$('#myForm').valid(),一直返回ture eg:html <form id="myForm"> <input class="f ...

  7. Qt核心剖析&colon; 寻找 QObject 的源代码

    本来打算把<Qt学习之路>作为一个类似教程的东西,所以就不打算把一些关系到源代码的内容放在那个系列之中啦.因此今天就先来看一个新的开始吧!这个系列估计不会进展很快,因为最近公司里面要做 f ...

  8. 知乎上看到的关于类&period;class&comma;对象&period;getClass

    public class TestDemo { //测试 @Test public void fun01() { TestDemo q=new TestDemo(); A a = new A(); q ...

  9. nginx学习笔记(一)

    select模型主要是apache用   FD 文件描述符   soa架构 安装nginx ping baidu.com netstat -lntup 查看端口 cat /etc/redhat-rel ...

  10. Java虚拟机 内存区域划分

    (图片来自https://www.cnblogs.com/whgk/p/6138522.html) 先从线程私有区开始介绍 虚拟机栈 Java虚拟机栈是由一个个栈帧组成的,当一个方法被调用时,代表这个 ...