vim c/c++ 代码提示插件

先推荐一个自动补全插件,虽然功能不是很强,没有智能关键词提示。但是它可以根据你之前键入的关键词进行提示,这样,当你在后面再次使用相同变量时,就不用再重新完全输入一个变量名

插件地址  https://www.vim.org/scripts/script.php?script_id=1879

参考链接

之前查找补全插件时,看了一个很强的插件,但是安装好像很麻烦,就放弃了。今天又偶尔看到一个 c/c++ 的补全插件 omni-completion,而且也不是重量级插件,安装也很简单,在这里记录一下

插件地址 https://www.vim.org/scripts/script.php?script_id=1520

看着步骤安装只需要两步,就可以完成一个补全插件的配置

1. 只需要下载 压缩包文件,然后解压到 ~/.vim 文件夹下然后解压

2. 在 vim 中执行 :helptags ~/.vim/doc

我刚开始就是按照这样安装的,然后就打开一个文件想要测试一下代码补全,函数提示的功能,然后没有任何效果,瞬间有点绝望,不知道是什么原因造成的。只好去找一些教程去看哪里出了点问题

后来终于找到了一个不错的教程,才发现这个插件需要依赖 ctags ,插件的提示功能源于去一个文件中查找函数定义,所以我们需要为 c/c++ 的头文件生成一个 ctags

如果系统上没有安装 ctags ,请安装一个

然后我们需要去 https://www.vim.org/scripts/script.php?script_id=2358 下载 c++ 头文件用来生成 ctag

可以按照下面的步骤配置

# 1 创建一个文件夹 来放置生成的 ctags
mkdir ~/.vim/tags -p
# 2 下载 stdc++ 头文件
# 下面的链接可能会变化
wget -O ~/.vim/tags/c++.tar.bz2 https://www.vim.org/scripts/download_script.php?src_id=9178

# 3 解压 
cd ~/.vim/tags
tar -jxvf c++.tar.bz2
# 4 生成 ctags
ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ \ 
-f cpp cpp_src

最后配置一下 .vimrc 配置文件

加上  set tags+=~/.vim/tags/cpp 

更多的有用配置选项如下

参考教程 https://vim.fandom.com/wiki/C%2B%2B_code_completion

" configure tags - add additional tags here or comment out not-used ones

set tags+=~/.vim/tags/cpp " 环境变量,指明 tags 地址

" OmniCppComplete

let OmniCpp_NamespaceSearch = 1

let OmniCpp_GlobalScopeSearch = 1

let OmniCpp_ShowAccess = 1

let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters

let OmniCpp_MayCompleteDot = 1 " autocomplete after . " . 后提示

let OmniCpp_MayCompleteArrow = 1 " autocomplete after -> " -> 提示

let OmniCpp_MayCompleteScope = 1 " autocomplete after :: " :: 后提示

let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] " :: 默认命名空间

" automatically open and close the popup menu / preview window

" 函数键入后关闭提示的窗口
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif

set completeopt=menuone,menu,longest,preview

" 为当前文件生成 tag 用于函数跳转
" build tags of your own project with Ctrl-F12
map <C-F12> :!ctags -R --c++-kinds=+pl --fields=+iaS --extra=+q .<CR> 

另外的插件推荐,tagbar 在侧边栏显示函数结构

插件地址

tagbar 插件

安装后为显示结构设置一个别名,在 .vimrc 中添加 别名设置参考 vim 替换命令

command Show TagbarToggle

效果图

最后,我还是我觉得 vscode 不错,哈哈,毕竟 vscode 有 vim 插件,而且 vscode 的代码提示看着更舒服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值