# C++ with Vim¶

I usually program C++ with Vim. Here is a list of handy plug-ins and auxiliary tools that I use.

• The ctags program extracts all the functions and variable definitions from your program. Vim can read the ctags file and allows you to jump to the definition with Ctrl ]. This is extremely useful. In order to automatically keep the ctags up to date, use the gutentags plugin.
• Compilation is done in a separate terminal with CMake and Ninja-Build.
• In order to quickly change between files in the current directory I use vinegar in conjunction with dirvish.
• For snippets I use SnipMate, other people prefer UltiSnips.
• I like the Molokai color scheme.
• The syntastic plugin runs a syntax check (static analysis) over the current file when you save it. A lot of times it directly finds bugs and one does not even need to compile to see it.
• With the fswitch you can quickly toggle between header and source files.
• surround makes it easy to surround some selection with delimiters like parentheses, brackets, braces, quotes and so on.
• The unimpaired packages has some nice bindings that let you move to the next and previous files and other things.