Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

using vim as a c++11 IDE

I have been setting up my development environment in Vim for a while now. Since all my projects are in C++11 I have found some plugins that made my life easier and almost as good as the days of Intellij and Java. However there are still some things missing.

The main feature I miss is the refactoring utilities (rename across project, refactor code into functions/classes, remove classes, ...). Any recommendations on how I can get such functionality in vim?

I am using the following plugins:


gmarik/vundle
Valloric/YouCompleteMe
a.vim
wincent/Command-T
DoxygenToolkit.vim
scrooloose/nerdtree
godlygeek/tabular
tpope/vim-sensible
tpope/vim-unimpaired
tpope/vim-endwise
tpope/vim-fugitive
jeffkreeftmeijer/vim-numbertoggle
Lokaltog/vim-easymotion
rstacruz/sparkup'
Mizuchi/STL-Syntax


If you want the full details, here is my .vimrc (feel free to contribute to it in the gist):

https://gist.github.com/MauricioCarneiro/9547864

like image 925
Carneiro Avatar asked Feb 13 '23 12:02

Carneiro


2 Answers

In my plugins suites, you'll found:

  • lh-cpp (various things dedicated to C++)
  • lh-brackets (smart insertions of brackets, surrounding, ...)
  • mu-template, with advanced C++ aware templates and snippets
  • a local_vimrc plugin to help define projects
  • BuildWrapperTools that
    • wraps calls to make,
    • provides filters to compilers outputs (to add STLfilt on the fly for instance),
    • permits to switch between debug/Release/whatever configuration (for projects under CMake) ; example here
  • lh-refactor (generic refactoring suite)

On github, I also have an experimental project to wrap clang-indexer.

like image 137
Luc Hermitte Avatar answered Feb 16 '23 02:02

Luc Hermitte


I think you will need Ultisnips, Tagbar and tcomment plugin, especially Ultisnips.

More information about configuration, please refer:https://github.com/xautjzd/dotvim

like image 40
xautjzd Avatar answered Feb 16 '23 02:02

xautjzd