vim配置for c++

  • 效果
  • 插件安装
    • 文件目录显示nerdtree
    • 代码格式化vim-clang-format
    • 代码补全跳转与错误检查YouComplateMe

  • 环境说明:ubuntu16.04, x64

效果

vim配置for c++_第1张图片

插件安装

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

文件目录显示nerdtree

  • .vimrc添加
map  :NERDTreeToggle

实现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'

    1. 代码补全

      • 代码补全是自动的,如图所示
        vim配置for c++_第2张图片
    2. 跳转

      • 跳转命令使用YcmCompleter命令簇,最常用的就是GoTo,有定义跳转到定义处,没有定义跳转到声明。我在 .vimrc 文件中加入类似快捷键来替代命令输入,这样使用gd就能愉快地跳转,然后 ctrl-o回来
map gd :YcmCompleter GoTo<CR>
map ge :YcmDiags
  1. 错误检查
    • 错误检查也是自动的,错误的部分会变红,很直观,当然你也可以显式地错误检查,并在quickfix窗口中查看错误列表,就像演示图片一样。显式的错误检查可以使用:YcmDiags命令

你可能感兴趣的:(ToolKit)