Linux中 vim 实现代码补全

  • vim 中代码补全
    • 步骤1:判断
    • 步骤2:安装 `OmniCppComplete`
    • 步骤3:
    • 步骤4:些许其他操作
    • 结果
  • 利用 Tab 键进行补全

vim 中代码补全

此部分内容主要是介绍如何实现在vim中进行代码补全,其可分为以下几个步骤:

步骤1:判断

判断当前系统中是否具有补全功能,即随便创建一个文件,比如 test.c
在其命令行模式中输入

:set omnifunc?

若结果呈现

omnifunc=ccomplete#Complete



则说明此时可利用 Ctrl+nCtrl+p 实现C程序补全,但无法实现C++程序补全!

步骤2:安装 OmniCppComplete

于 OmniCppComplete : C/C++ omni-completion with ctags database 中下载 OmniCppComplete,如图,并进行安装!

安装比较简单,可直接在对应文件夹下解压即可!为了使其他用户亦可实现此功能,可在 /home/ 中自己添加一个文件夹如 .vim 并进行上述包的解压,具体代码如下:

cd /home/
mkdir .vim  //可利用 ls -a 进行查看
cd .vim
mkdir tags  //方便后续操作

然后将OmniCppComplete放入.vim中,此处一个简单方法是先下载到桌面,然后直接拖入到xshell(我用的是xshell)中,然后输入

unzip omnicppcomplete-0.41.zip  //解压

如下

解压成功则如

步骤3:

于 tags for std c++ (STL, streams, …) 中下载 cpp_src 包,如图,并解压于上述 tags 文件夹中

代码为

cd tags/
bunzip2 cpp_src.tar.bz2
tar -xvf cpp_src.tar

步骤4:些许其他操作

tags 目录下运行

ctags -R –c++-kinds=+p –fields=+iaS –extra=+q –language-force=C++ cpp_src

当运行结束后,若出现 tags 文件则说明可以继续后续操作!如下

然后在 vimrc 文件中插入下述语句

set tags+=/your path/tags

可通过pwd进行当前路径的查看,然后根据自己的路径将上述语句添加到vimrc中,如下

结果

当成功进行上述步骤后,便可利用 Ctrl+nCtrl+p 对程序进行补全操作,如图

利用 Tab 键进行补全

此处操作比较简单,即将下述代码添加进 vimrc 文件中即可

function! CleverTab()if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'return "\<Tab>"elsereturn "\<C-N>"endif
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>

如图

此时便可利用 Tab 键进行代码补全!

以上内容结合了多个教程,比如 Linux——VIM开发C++自动补全(STL、括号)和开发环境配置 、LINUX操作系统VIM代码TAB自动补全配置,读者可根据自身需求进行查看!

侵权删~

Linux中 vim 实现代码补全相关推荐

  1. ubuntu中vim实现代码补全等功能

    参考了许多教程,花费了大半天的时间,才大致将此功能实现好,不做点记录啥的,感觉有点过意不去.... 整体来说是按照此教程来执行,但中间也遇到了其他的错误,在此记录下. https://www.jian ...

  2. Vim中的Java代码补全插件

    Vim中的Java代码补全插件 最近在学习用vim写Java代码,用惯了idea,发现vim也太简陋了.后来在网上搜,看到不少文章介绍这个Javacomplete : Omni Completion ...

  3. Vim代码补全插件:YouCompleteMe

    Vim的代码补全一般有两种实现方案: 1. 第一种是采用ctags + OmniCppComplete ,参考:http://blog.chinaunix.net/uid-20737871-id-34 ...

  4. vim+设置php+高亮,VIM语法高亮、VIM代码补全、VIM结构化视图功能的配置实现

    =========================================== [简介] 为了更加方便的学习和研究一个开源c++项目(当然linux环境下),特地花了一两周的时间研究vim及其 ...

  5. 解决Kali Linux XFCE桌面Tab无法补全

    解决Kali Linux XFCE桌面Tab无法补全 在Linux中,TAB自动补全功能已经让所有用户都非常依赖.但是,Kali Linux默认安装的XFCE桌面,无法使用Tab进行补全.该问题是因为 ...

  6. linux中vim怎么分栏,Vim+Taglist+AutoComplPop之代码目录分栏信息和自动补全提示(Ubuntu环境)...

    一步: 首先在Ubuntu环境中安装ctags:  sudo apt-get install ctags 第二部: 解压: 1.$unzip -d taglist taglist_xx.zip 2.$ ...

  7. vim win装_VIM的代码补全工具YouCompleteMe在Windows上的安装攻略

    前言 用VIM写代码也有很多年了,一直使用其内嵌的自动补全.这种补全没有任何语义分析,仅仅根据当前打开的文件,收集所有的单词形成一个补全库.在输入时,根据已经输入的字母,用逐个字母匹配的方式来寻找可能 ...

  8. linux shell中的命令自动补全(compgen complete)与 命令行参数解析

    linux shell中的命令自动补全(compgen complete)与 命令行参数解析 标签: shell脚本 2013-12-31 21:56 6661人阅读 评论(6) 收藏 举报 分类: ...

  9. Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux,支持32与64位,支持各种流行编程语言的语法高亮、代码补全等...

    Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux,支持32与64位,支持各种流行编程语言的语法高亮.代码补全等-- 语法高亮.代码提示补全. ...

最新文章

  1. python ctypes库5_如何传递一个字符串数组
  2. Spring Cloud构建微服务架构(六)高可用服务注册中心
  3. ASP.NET服务器控件数据绑定总结
  4. linux驱动开发音频设备驱动,linux驱动开发—基于Device tree机制的驱动编写
  5. idea maven项目的移除添加
  6. FDR错误发现率-P值校正学习
  7. 【博客项目】—数据分页(十)
  8. 【Qt串口调试助手】1.0 - 400行代码撸一个Qt5串口调试助手框架
  9. ssh (安全外壳协议)
  10. 测试工程师Docker基础
  11. 从Android运行时出发,打造我们的脱壳神器
  12. 二进制数据图片(bit-data-map): 一种通过图片的形式传递数据信息的方式
  13. 桌面画图工具:Pointofix(fertig)
  14. addEventlistener()方法,事件监听
  15. IE、FireFox都支持的收藏本站代码
  16. 将自己的网站上传至服务器并通过域名进行访问
  17. 融资租赁企业目前的发展问题
  18. java 秒杀_JAVA秒杀实现以及优化原理
  19. 浏览器版本重新判断(IE11革新后)
  20. 金融危机下的就业问题

热门文章

  1. 11款免费的Web安全测试工具
  2. 如何用php 图片合成一张图片,php图片合成方法(多张图片合成一张)
  3. 如何用家用普通路由器中继(放大)其他wifi信号
  4. return false和 return true 的作用是什么
  5. js中Boolean值为false和true的情况:
  6. confluence 制作流程图_「每周开方」 高效制作流程图、思维导图
  7. Kali2021双网卡设置
  8. 关于最优控制的一些总结3
  9. print spooler服务自动关闭的处理
  10. python之矩阵相加:提示用户输入矩阵的行数n,再提示用户输入矩阵的列数m,接下来,提示用户输入 2*n*m 个数字(每次输入 一个数字)。输出 C=A+B。