Skip to content

Instantly share code, notes, and snippets.

@rocarvaj
Created April 27, 2012 21:28
Show Gist options
  • Save rocarvaj/2513367 to your computer and use it in GitHub Desktop.
Save rocarvaj/2513367 to your computer and use it in GitHub Desktop.
Minimal .vimrc for C/C++ developers
" VIM Configuration File
" Description: Optimized for C/C++ development, but useful also for other things.
" Author: Gerhard Gappmeier
"
" set UTF-8 encoding
set enc=utf-8
set fenc=utf-8
set termencoding=utf-8
" disable vi compatibility (emulation of old bugs)
set nocompatible
" use indentation of previous line
set autoindent
" use intelligent indentation for C
set smartindent
" configure tabwidth and insert spaces instead of tabs
set tabstop=4 " tab width is 4 spaces
set shiftwidth=4 " indent also with 4 spaces
set expandtab " expand tabs to spaces
" wrap lines at 120 chars. 80 is somewaht antiquated with nowadays displays.
set textwidth=120
" turn syntax highlighting on
set t_Co=256
syntax on
" colorscheme wombat256
" turn line numbers on
set number
" highlight matching braces
set showmatch
" intelligent comments
set comments=sl:/*,mb:\ *,elx:\ */
" Install OmniCppComplete like described on http://vim.wikia.com/wiki/C++_code_completion
" This offers intelligent C++ completion when typing ‘.’ ‘->’ or <C-o>
" Load standard tag files
set tags+=~/.vim/tags/cpp
set tags+=~/.vim/tags/gl
set tags+=~/.vim/tags/sdl
set tags+=~/.vim/tags/qt4
" Install DoxygenToolkit from http://www.vim.org/scripts/script.php?script_id=987
let g:DoxygenToolkit_authorName="John Doe <john@doe.com>"
" Enhanced keyboard mappings
"
" in normal mode F2 will save the file
nmap <F2> :w<CR>
" in insert mode F2 will exit insert, save, enters insert again
imap <F2> <ESC>:w<CR>i
" switch between header/source with F4
map <F4> :e %:p:s,.h$,.X123X,:s,.cpp$,.h,:s,.X123X$,.cpp,<CR>
" recreate tags file with F5
map <F5> :!ctags -R –c++-kinds=+p –fields=+iaS –extra=+q .<CR>
" create doxygen comment
map <F6> :Dox<CR>
" build using makeprg with <F7>
map <F7> :make<CR>
" build using makeprg with <S-F7>
map <S-F7> :make clean all<CR>
" goto definition with F12
map <F12> <C-]>
" in diff mode we use the spell check keys for merging
if &diff
diff settings
map <M-Down> ]c
map <M-Up> [c
map <M-Left> do
map <M-Right> dp
map <F9> :new<CR>:read !svn diff<CR>:set syntax=diff buftype=nofile<CR>gg
else
" spell settings
:setlocal spell spelllang=en
" set the spellfile - folders must exist
set spellfile=~/.vim/spellfile.add
map <M-Down> ]s
map <M-Up> [s
endif
@wiekern
Copy link

wiekern commented Apr 25, 2013

Which is the best background color with this config?

@Dex-Electronics
Copy link

Many thanks!

@tommymcdonald
Copy link

Wonderful setup, thanks for this!

@BarronKane
Copy link

The simplicity is wonderful... @yefeiyan, ignoring the fact that this is a necro reply, and as solarized is over-hyped imo, I use jellybeans or Monokai.

@syddo
Copy link

syddo commented Sep 28, 2015

I'm having an error during loading saying unknown option spell.

@utkjad
Copy link

utkjad commented Nov 2, 2015

Thanks. This is a good start!

@sxu2583
Copy link

sxu2583 commented Sep 5, 2016

I like it nice

@snaami
Copy link

snaami commented Apr 13, 2017

great work , i really like it , thanks ! :)

@cynerboy
Copy link

cynerboy commented May 1, 2017

i love it

@jflopezfernandez
Copy link

Awesome, works great, thank you very much

@mark-lvl
Copy link

Useful setup for all, specifically for C programmers. Thanks.

@aasutossh
Copy link

It feels awesome, thanks for the work.

@0xnandhi
Copy link

0xnandhi commented Aug 2, 2017

Thanks :)

Copy link

ghost commented Mar 22, 2018

Thanks :)

@fonkamloic
Copy link

Many Thanks 👍

@j3rg
Copy link

j3rg commented Sep 7, 2018

Thanks buddy!!

@ReflectionDesire
Copy link

Thanks a lot

@gozeloglu
Copy link

How can I setup on my Linux computer? I do not want to make any mistake

@hao-lee
Copy link

hao-lee commented Nov 21, 2018

This is awesome! Thanks!

@Mruthyunjaya-M
Copy link

Thanks.. its Very nice.

@rajatkumarv
Copy link

Thanks.
It helps. It is working without any issue on WSL linux 18.04 LTS.

@im-vicky
Copy link

im-vicky commented Mar 9, 2020

Thanks a lot

@anisyanka
Copy link

Awesome!
Thank you!

P.S.
It seems there is small typo in 20th line: somewaht --> somewhat

@abhishekk06
Copy link

Hi

Any idea how can I disable highlight (I only want my searched pattern to get highlighted). For some reason, few keywords in my code are getting highlight by default.

@wesleymesquita
Copy link

Thank you! Simplicity is the key! Regards

@sachinites
Copy link

Hi

Any idea how can I disable highlight (I only want my searched pattern to get highlighted). For some reason, few keywords in my code are getting highlight by default.

@shenlong3010
Copy link

Hi

Any idea how can I disable highlight (I only want my searched pattern to get highlighted). For some reason, few keywords in my code are getting highlight by default.

In VIM editor, type :verbose set spell? to check the line number, then remove it.

@abhishekk06
Copy link

No Luck.

I want to remove highlights like these. It makes code unreadable.
image

@shenlong3010
Copy link

No Luck.

I want to remove highlights like these. It makes code unreadable.
image

if you use the above command, you would see:
:setlocal spell spelllang=en
then comment the line out, the spell checking would not show anymore.
This command help check spelling in English, btw

@abhishekk06
Copy link

abhishekk06 commented Jul 8, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment