当前位置: 首页 > >

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 :!ctags -R --c++-kinds=+pl --fields=+iaS --extra=+q .


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


插件地址


tagbar 插件


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


command Show TagbarToggle


效果图



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



友情链接: