除了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. iOS设计模式 - 命令模式

    前言: 命令对象封装了如何对目标执行指令的信息,因此客户端或调用者不必了解目标的任何细节,却仍可以对他执行任何已有的操作.通过把请求封装成对象,客 户端可 以把它参数化并置入队列或日志中,也能够支持可 ...

  2. SharePoint 指定配置数据库访问账户“域账户\用户”

    大家在安装sharepoint时都会遇到这个问题,域账户,什么是域账户哪?域账户简单理解就是网路账户,与本地账户不同,什么是域哪?域就是控制器. 一台Windows 计算机,它要么隶属于工作组,要么隶 ...

  3. 软件测试Lab2

    1.本次上机实验任务:使用webDriver完后自动化测试 2.本次上机实验目的:掌握webDriver的用法和配置. 3.本次上机实验内容: 3.1Selenium的安装: 首先我们上Seleniu ...

  4. python代码学习day03-序列化学习pickle及json

    #!/usr/bin/env python #coding:utf8 import pickle,json import datetime dic1 = {'name':'alex', 'age':4 ...

  5. statement和preparedstatement用法区别

    1. PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象.   2.作为 ...

  6. 烂泥:通过vsphere给esxi添加本地硬盘

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 公司ESXi服务器的硬盘空间不够使用,现在新加了一块硬盘在ESxi服务器上.在服务器上添加完硬盘后,在Vsphere上是看不到新加硬盘的. 下面我们来通 ...

  7. python 练习多级菜单思路

    只写了一个zj的三级菜单,后面的功能没写 #-*- coding :utf-8 -*- print """ 你可以输入省份然后根据市县输入 ""&qu ...

  8. Java SWT 做计算器。

    java  --  swt  - -  计算器 环境搭建 安装java.eclipse.以及对应的swt插件. 开始工程 建立工程: 在java下建立一个在其他 —- WindowsBuilder — ...

  9. Linux学习之一——开机必备知识

    linux最重要的特色是指令交互,利用一个个指令来进行各种操作.当然可以用X Window获得友好的linux窗口,但是还是有很多局限性. linux用户登录后默认进入 /root目录下. 比较重要的 ...

  10. Spring4定时器 cronTrigger和simpleTrigger实现方法

    spring4定时器 cronTrigger和simpleTrigger实现方法 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz 允许 ...