[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]的关键字补全的更多相关文章
- 我的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 ...
随机推荐
- ShellExecuteA()&MessageBoxA()
#include<windows.h> #include<stdlib.h> void main() { ) { ShellExecuteA(, , , ); //0代表系统启 ...
- mysql字段不能为空的字段为空时也能插入的方法
接手了一个项目,设计数据库的时候字段全部是不能为空,但是空值又可以插入数据,刚拿过来的时候就提示各种sql语法错误,现记录一下解决办法. 将my.ini中设置: #sql-mode=STRICT_TR ...
- git 一般的开发流程中的代码管理
一般的开发流程中的代码管理 1. 从版本库中下载代码 git clone ssh://wenbin@192.168.1.3:29418/mustang-web 2. 针对某个feature(比如ins ...
- Erlang 虚拟机 BEAM 指令集之内存管理相关的指令
翻看 BEAM 虚拟机指令集的时候(在编译器源码目录下:lib/compiler/src/genop.tab),会发现有一些和内存分配/解除分配相关的指令,如下所示: allocate StackNe ...
- QT的QWebView显示网页不全
最近使用QWebView控件遇到一个问题,就是无论窗口多大,网页都显示那么大,而且,显示不完全,有滚动条 试过使用showMaximized()方法, 还是一样,网上一直说是布局问题,也没说清楚是虾米 ...
- python module getopt usage
import getopt import sys def usage(): print 'this is a usage.' def main(): try: print sys.argv #sys. ...
- LESSON THREE
安装redis,并使用ruby进行简单测试. 使用redis客户端ruby测试 安装gem yum install rubygems 安装ruby所需的redis-rb程序库 ...
- HTML常用文本元素
HTML是超文本标记语言,它提供网页的具体内容,包括文本.表单.图像.表格.链接.多媒体.列表等.其中文本是我们遇到的最多的展示内容.正确的使用文本标签,会使页面具有语义化,也有利于SEO. 文本标签 ...
- 电磁兼容设计经验(转载 原文电子科技大学硕士毕业论文DDS扩频技术研究)
2 Corinthians 1:3-4“[Praise to the God of All Comfort] Praise be to the God and Father of our Lord J ...
- 【MVC 4】3.MVC 基本工具(创建示例项目、使用 Ninject)
作者:[美]Adam Freeman 来源:<精通ASP.NET MVC 4> 本次将考察三类工具,它们是每一位 MVC 程序员工具库的成员:DI容器.单元测试框架和模仿工具. ...