除了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]的关键字补全的更多相关文章
-
我的Vim配置(自动补全/树形文件浏览)
配置文件的下载路径在这里 http://files.cnblogs.com/files/oloroso/vim.configure.xz.gz 这实际上是一个 xz 格式的文件,添加的 gz 文件后 ...
-
新时代的Vim C++自动补全插件 clang_complete
Vimer的福音 新时代的Vim C++自动补全插件 clang_complete 使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插 ...
-
【vim】自动补全 Ctrl+n
Vim 默认有自动补全的功能.的确这个功能是很基本的,并且可以通过插件来增强,但它也很有帮助.方法很简单. Vim 尝试通过已经输入的单词来预测单词的结尾. 比如当你在同一个文件中第二次输入 &quo ...
-
vim python自动补全插件:pydiction
vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.pyt ...
-
vim中自动补全插件snipmate使用
vim中自动补全插件snipmate使用 1.下载snipMatezip:https://github.com/msanders/snipmate.vim/archive/master.zip 2.解 ...
-
〖Linux〗VIM youcompleteme 自动补全 #include 文件名称
1. 拷贝配置文件 cp ~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py ~/.vim/.ycm_extra_conf.py 2. 修改配 ...
-
关于在php中变量少写了一个$和页面不断转圈的问题排查和vim的自动补全方式
php中的所有变量都是页面级的, 即任何一个页面, 最多 都只能在一个文件 : 当前页面内使用, 不存在跨 文件/ 跨页面的 作用域的变量! 因此, 即使是 $GLOBALS 这个变量, 虽然叫全局 ...
-
Vimer的福音 新时代的Vim C++自动补全插件 clang_complete
使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插件都是对 Ctags 生成的符号表进行字符串匹配来获得可能的补全项.他们在编写 C 代码 ...
-
Linux VIM python 自动补全插件:pydiction
Pydiction 可以是我们使用Tab键自动补全Python代码在Vim,是一款非常不错的插件. Pydiction不需要安装,所有没有任何依赖包问题,Pydiction主要包含三个文件. pyth ...
随机推荐
-
Git : SSH 协议服务器
SSH 协议用于为 Git 提供远程读写操作,是远程写操作的标准服务. SSH协议语法格式 对于拥有 shell 登录权限的用户账号,可以用下面的语法访问 Git 版本库: 语法 1 : ssh:// ...
-
Flex Viewer (二)——体系结构
一.概述 在上一篇文章<深入浅出Flex Viewer (一)——概述>中,笔者对Flex Viewer用于构建以地图为中心的富客户端(RIA)应用的原型的功能和价值做了简要地介绍.在本文 ...
-
C# 文件管理类 Directory
今天简单接触了一下C#的文件管理类,对类的大体功能做了简单的了解; 做项目用于判断文件是否存.在创建文件.删除文件较为常用:今天大体总结文件调取功能: public string GetFile() ...
-
java 枚举 类 enum
public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializab ...
-
nyoj 69 数的长度
数的长度 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出 ...
-
jQuery validate 的valid()方法一直返回true
1 调用$('#myForm').valid(),一直返回ture eg:html <form id="myForm"> <input class="f ...
-
Qt核心剖析: 寻找 QObject 的源代码
本来打算把<Qt学习之路>作为一个类似教程的东西,所以就不打算把一些关系到源代码的内容放在那个系列之中啦.因此今天就先来看一个新的开始吧!这个系列估计不会进展很快,因为最近公司里面要做 f ...
-
知乎上看到的关于类.class,对象.getClass
public class TestDemo { //测试 @Test public void fun01() { TestDemo q=new TestDemo(); A a = new A(); q ...
-
nginx学习笔记(一)
select模型主要是apache用 FD 文件描述符 soa架构 安装nginx ping baidu.com netstat -lntup 查看端口 cat /etc/redhat-rel ...
-
Java虚拟机 内存区域划分
(图片来自https://www.cnblogs.com/whgk/p/6138522.html) 先从线程私有区开始介绍 虚拟机栈 Java虚拟机栈是由一个个栈帧组成的,当一个方法被调用时,代表这个 ...