Mijn .vimrc

Bas Ketsman, 2 oktober 2009 / 10 oktober 2009

Vim is opensource-software en is naast Emacs een van de twee populairste programmeer­editors op Unix-achtige systemen (zoals Linux).

Wikipedia

Vim is een volwaardige tekst-editor die mits de juiste configuratie de meeste IDE's kan evenaren wat mogelijkheden en efficiëntie betreft. Vim kan overweg met elk tekstformaat, beschikt over syntax higlighting voor bijna iedere programmeer- en scripttaal en heeft voor verschillende hiervan bovenop de default woordherkenning ook uitgebreide code completion mogelijkheden. Folding, code formatting en het gebruik van makefiles is allemaal voorzien.

Zelf gebruik ik bijna uitsluitend GVim voor het schrijven van script- en programmeertalen.

Het gebeurt wel vaker dat medestudent hun ongeloof over mijn rotsvaste (G)Vim-overtuiging maar moeilijk onder stoelen of banken kunnen steken. Mijn pogingen hen ervan te overtuigen dat (G)Vim helemaal niet zo primitief of onlogisch is als het op het eerste zicht lijkt leveren helaas weinig resultaat.

Hieronder mijn huidige (G)Vim configuratie.

" ALGEMEEN
set nocompatible " voorkom emulatie vi bugs en limitaties

" SYNTAX HIGHLIGHTING
syntax on

" TABS/SPATIES
set tabstop=4     " toon tabs met een lengte 4
set expandtab     " gebruik spaties in plaats van tabs
set softtabstop=4 " verwijder spaties alsof het tabs zijn
" Opmerking:
"   met [ctrl]-v [tab] kunnen (ondanks expandtab) echte
"   tabs worden geplaatst met :retab kunnen bestaande
"   tabs worden omgezet naar spatie-tabs

" INDENTATIE
filetype indent on
set autoindent   " indenteer automatisch
set shiftwidth=4 " bij autoindentatie tabs van lengte 4
set smartindent  " slimme indentatie (sluitaccolades
                 " lager indenteren etc.)

" FOLDING
set fdm=indent     " activeer folding
set nofoldenable   " fold code NIET bij openen van
                   " bestand
set foldnestmax=1  " niet genest folden
set foldcolumn=0   " geen ruimte laten voor fold info
nnoremap <space> za " gebruik spatiebar voor folding

" SEARCH/MATCH
set showmatch
set incsearch " zoek terwijl zoekwoord wordt ingegeven

" SWAP/BACKUP
" in plaats van de klassieke .swp files, worden swap
" bestanden in een speciaal hiervoor bedoelde directorie
" geplaatst
" !! verander de directories !!
set backupdir=/home/xxx/.vim/temp/
set directory=/home/xxx/.vim/temp/

" VIM-MENU op F4
source $VIMRUNTIME/menu.vim
set wildmenu
set cpo-=<
set wcm=<C-Z>
map <F4> :emenu <C-Z>

" UITERLIJK
set number       " toon lijnnummering
set ruler        " toon rij/kolom nummers

" GUI
if has("gui_running")
  colorscheme wombat
  " zie http://dengmao.wordpress.com/2007/01/22
  " /vim-color-scheme-wombat/
  set guifont=monospace\ 12
  set guioptions= " verberg Tool-en scrollbars, menu, ...
endif

" SPELLCHECKER
set spelllang=nl " spellingstaal op nederlands
" om effectief spellingscontrole toe te passen
" gebruik :set spell

" CODE COMPLETION
set completeopt=preview,menuone " toon mogelijkheden
                                " en pas meteen toe
setlocal omnifunc=syntaxcomplete#Complete
" gebruik syntax completion via [ctrl]-x [ctrl]-o
" met [ctrl]-p en [ctrl]-n kan door de mogelijkheden
" worden gebladerd

Meta-data

Korte omschrijving

Vim is een volwaardige tekst-editor die mits de juiste configuratie de meeste IDE's kan evenaren wat functionaliteit en efficientie betreft. Bekijk hier ook mijn Vim configuratie.

Tags

vim, gvim, .vimrc, emacs, texteditor, teksteditor, IDE, programmeren