vim的关键词的补全功能

在插入模式下,利用自动补全(Insertion-Completion)功能,vim能够根据正在输入的字符,查找匹配的关键字并显示在弹出菜单(popup menu)中。通过选择匹配项,可以补全输入的部分关键字甚至整行文本。

Vim可以针对整行文字、关键字、字典、词典、标签、文件名、宏、命令和拼写等等进行补全。本节将首先介绍进入补全模式的操作方法;下节将详细介绍各种补全方式的特点。

关键字补全(Generic keyword completion)

使用Ctrl-NCtrl-P键,将按照'complete'选项指定的范围来搜索匹配的关键字。其默认值为:

:set complete=.,w,b,u,t,i

也就是说,默认将在以下来源中查找关键字:

  • 在当前缓冲区中进行查找;
  • 在其他窗口中进行查找;
  • 在其他已载入的缓冲区中进行查找;
  • 在没有载入缓冲区的文件中进行查找;
  • 在当前的标签(tags)列表进行查找;
  • 在由当前文件(如#include)包含进来的头文件中进行查找。

通过以下命令设置'complete'选项,可以定义自动补全的查找范围:

:set complete=key,key,key

命令中可能出现的key值如下:

. 当前缓冲区
b 缓冲区列表中的其它已载入的缓冲区
d 当前文件以及由’include’选项指定的包含进来的文件,查找由’define’选项定义的宏(definition/macro)
i 当前文件以及由’include’选项指定的包含进来的文件
k 由’dictionary’选项指定的文件
kspell 当前激活的拼写检查
k{dict} 名为{dict}的文件
s 当前激活的拼写检查
t 标签(tags)文件
] 标签(tags)文件
u 缓冲区列表中的没有载入的缓冲区
w 在其他窗口中载入的文件

使用以下命令,可以将字典文件添加到搜索列表中:

:set complete+=k

使用以下命令,可以将包含的文件从搜索列表中移除:

:set complete-=i

使用:h 'complete'命令,可以查看'complete'选项的帮助信息。

如果我们使用以下命令,设置了在查找过程中忽略大小写,那么在自动完成时,反而会造成区分大小写:

:set ignorecase

使用以下命令,则可以设置在自动完成时忽略大小写:

:set infercase

Ver: 2.0 | YYQ

^X模式(Ctrl-X Mode)

在插入模式下,输入Ctrl-X将进入^X模式(插入和替换模式的一个子模式)。屏幕底部将显示以下提示信息:

-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)

您可以选择以下自动补全方式:

  • Ctrl-] ,标签(tags)补全
  • Ctrl-D ,定义补全
  • Ctrl-E ,向上滚动文本
  • Ctrl-F ,文件名补全
  • Ctrl-I ,当前文件以及包含进来的文件补全
  • Ctrl-K ,字典补全
  • Ctrl-L ,整行补全
  • Ctrl-N ,当前文件内的关键字补全,向下选择匹配项
  • Ctrl-O ,全能补全
  • Ctrl-P ,当前文件内的关键字补全,向上选择匹配项
  • Ctrl-S ,拼写建议补全
  • Ctrl-U ,用户自定义补全
  • Ctrl-V ,Vim命令补全
  • Ctrl-Y ,向下滚动文本

假设在编辑main.c文件时,想要查找一个宏定义,那么首先按下ctrl-X键进入^X模式,然后再按下CTRL-D键,这时就会在弹出菜单中显示匹配项。

补全弹出菜单(popupmenu-completion)

随着弹出菜单的显示,将会自动应用第一个匹配项。

使用以下快捷键,可以在弹出菜单中移动和选择匹配项:

  • 使用Ctrl-NCtrl-P上下移动时,输入的文本也会随之变化。
  • 使用<Up><Down>上下移动时,输入的文字并不会变化。
  • 使用<PageUp><PageDown>键,可以在菜单中翻页。
  • 使用Ctrl-YEnter回车键,将使用当前匹配项完成补全。
  • 使用Ctrl-E键,将关闭菜单并退回到文字输入的原始状态。
  • 使用Esc键,将关闭弹出菜单,但会保留之前应用的匹配项。

请注意,如果您不希望应用任何匹配项完成补全时,应该使用Ctrl-E键,而不是使用Esc键来取消操作。

使用:h popupmenu-keys命令,可以查看关于弹出菜单快捷键的帮助信息。

vim的关键词的补全功能相关推荐

  1. 在VIM里面设置自动补全功能

    pydiction 这是一个相当不错的 Python 代码自动完成的脚本. 可以实现下面python代码的自动补全: 简单python关键词补全 python 函数补全带括号 python 模块补全 ...

  2. linux 函数自动补全,Shell脚本中实现自动补全功能

    对于Linuxer来说,自动补全是再熟悉不过的一个功能了.当你在命令行敲下部分的命令时,肯定会本能地按下Tab键补全完整的命令,当然除了命令补全之外,还有文件名补全. Bash-completion ...

  3. Vim: 使用tags文件扩展YCM对C族语言第三方库的代码自动补全功能

    前言 在众多Vim编辑器的自动补全插件中,YouCompleteMe(YCM)绝对是最好用的插件之一,但其配置过程往往令初学者望而却步.经过笔者多年折腾,至今基本达到满足日常使用水平. 如果读者对Yo ...

  4. 数据库(二)tab补全功能,使数据库支持简体中文,日志管理,备份脚本

    一.如何在MySQL数据库中使用tab键补全功能 1.修改主配置文件/etc/my.cnf vim /etc/my.cnf [mysql] #no-auto-rehash auto-rehash 2. ...

  5. html标签 补全方法 python,Python Beautiful Soup学习之HTML标签补全功能

    Beautiful Soup是一个非常流行的Python模块.该模块可以解析网页,并提供定位内容的便捷接口. 使用下面两个命令安装: pip install beautifulsoup4或者 sudo ...

  6. Vim_设置Esc快捷键及补全功能:

    Vim_设置<Esc>快捷键及补全功能 Vim的<Esc>键使用相当频繁,而键的距离实在T.T,这甚至是转为Emacs的一大原因.  另外,自带快捷键:Ctrl + [ 或者C ...

  7. vim的php自动补全,通过vim字典补全,实现php函数名自动补全

    明城 on 2010年1月4日 22:43 # 其实一句话就可以了,比如我的: au FileType php setlocal dict+=~/.vim/dict/php_funclist.txt ...

  8. macos 10.15.3 安装vim+python3 +ycm自动补全+第三方库补全

    效果: macos 10.15.3   Catalina 默认安装是 vim8.1 / python2.7.16/python3.7.3  . vim8.1 没有带python3支持,需要更新到最新版 ...

  9. 代替YCM,当前vim最强自动补全方案

    更多分享内容可访问我的个人博客 https://www.niuiic.top/ 本文介绍 vim 自动补全方案.主要采用更强大的 coc.nvim 插件来替代 YCM. vim 自动补全 前言 自动补 ...

  10. 安装vimplus实现c++代码高亮与自动补全功能的若干问题

    安装vimplus实现c++代码高亮与自动补全功能的若干问题 1.按照vimplus官方的手册安装 git clone https://github.com/chxuan/vimplus.git ~/ ...

最新文章

  1. mybaits十六:使用choose标签实现分支选择
  2. 为什么软件开发周期是预估的2~3倍?
  3. 复选框选择变化(可以演化成简单的字符串拼接)
  4. 【客户故事】借助钉钉宜搭,奶茶店也开始用黑科技管理门店了
  5. 本土链雷达网_走向本土设计
  6. 前端wxml取后台js变量值_这些鲜为人知的前端冷知识,你都GET了吗?
  7. python内置支持集合运算吗_Python中的集合支持交、并运算
  8. multimodel_forms 插件用法
  9. HTTP Get与Post的区别
  10. 《推荐系统实践》项亮 书中程序实现
  11. 3D建模的几种常用建模方法
  12. 关于你看得懂看不懂的罗永浩
  13. SQL- join多表关联
  14. 阿里云服务器开发实践:使用云服务器ECS搭建DoH服务
  15. 微信公众号上传文件附件教程
  16. xingtai - 学习九九乘法表和皇帝的米粒
  17. codewars【1】
  18. 计算机操作员高级图形图像处理photoshopcs2试题解答,图形图像处理(Photoshop平台)Photoshop CS2试题汇编(图像制作员...
  19. 基于Javaweb实现餐饮管理系统
  20. 通俗解释色相和饱和度和明度

热门文章

  1. Linux编写脚本nsum求和,shell脚本学习与总结
  2. 做绿色数据中心基础设施建维服务认证有哪些好处?
  3. python 穷举密码
  4. 2021年危险化学品生产单位安全生产管理人员复审考试及危险化学品生产单位安全生产管理人员模拟考试题库
  5. Robot Framework自动化测试用具 Wait Until Keyword Succeeds关键字使用案例
  6. 怎么更改wifi频段_我告诉你wifi频段怎么设置
  7. Chrome 浏览器下载速度慢?一个开关就可解决
  8. 【JZOJ1320】拯救奶牛
  9. A JNI error has occurred, please check your installation and try again
  10. ubuntu20.04安装并运行ORB_SLAM3(一路顺风版)