您的位置:首页 > 编程语言 > C语言/C++

vim配置for c++

2016-07-21 22:41 471 查看
效果

插件安装
文件目录显示nerdtree

代码格式化vim-clang-format

代码补全跳转与错误检查YouComplateMe

环境说明:ubuntu16.04, x64

效果



插件安装

推荐使用vundle作为vim插件管理(当然pathogen也是蛮好用的)

文件目录显示nerdtree

.vimrc添加

map <F3> :NERDTreeToggle<CR>


实现F3快捷键展开和收起文件目录结构

代码格式化vim-clang-format

.vimrc添加

let g:clang_format#style_options = {
\ "AccessModifierOffset" : -4,
\ "AllowShortIfStatementsOnASingleLine" : "true",
\ "AlwaysBreakTemplateDeclarations" : "true",
\ "Standard" : "C++11"}
let g:clang_format#auto_format=1


定义格式化方法以及每次写入文件(:w)的时候自动格式化

代码补全,跳转与错误检查YouComplateMe

client-server模式,每次打开vim自动启动server。使用vundle安装之后并不能直接使用,需要自行编译ycm_core模块。每次代码更新或者想要支持其他语言,都需要重新编译。命令如下

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer


需要拷贝一份
~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py
到自己的工程目录,每次打开工程的时候会询问是否加载(你可以将目录加入白名单以不再询问,具体设置可以看github),其中包含了编译命令,可以根据需要自行修改。当然也可以几个工程共用一个脚本,只需要放在工程的公共父目录就可以。或者,也可以在一个vim配置环境下使用同一份,只需要在.vimrc中加入变量
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'


代码补全

代码补全是自动的,如图所示



跳转

跳转命令使用YcmCompleter命令簇,最常用的就是GoTo,有定义跳转到定义处,没有定义跳转到声明。我在 .vimrc 文件中加入类似快捷键来替代命令输入,这样使用gd就能愉快地跳转,然后 ctrl-o回来

map gd :YcmCompleter GoTo<CR>
map ge :YcmDiags<CR>


错误检查

错误检查也是自动的,错误的部分会变红,很直观,当然你也可以显式地错误检查,并在quickfix窗口中查看错误列表,就像演示图片一样。显式的错误检查可以使用
:YcmDiags
命令
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu vim c语言 插件