Die folgende Konfiguration entspringt meiner .vimrc. Sie gilt für Vim und GVim. GVim verfügt über eine eigene, zusätzliche, Konfigurationsdatei. Ein Beispiel für diese befindet sich am Ende des Artikels.
" Syntax-Hervorhebung aktivieren syntax on " " vi-Kompatibilitaets-Modus deaktivieren set nocp " " Syntax-Hervorhebung an dunklen Hintergrund anpassen set background=dark " " aktuelle Zeile und Spalte anzeigen set ruler " " Zeilennummer anzeigen "set number " " Vervollstaendigungsoptionen als Menue anzeigen set wildmenu " " Clipboard verwenden set clipboard=unnamed " " Zeilenumbruch nicht innerhalb eines Wortes set wrap linebreak " " Ruecktaste aktivieren set backspace=2 " " permanentes Rueckgaengigmachen (ab Version 7.3) " " Undo-File setzen set undofile " Verzeichnis fuer Wiederherstellungsinformationen set undodir=~/.vim/undo " " ### " Zeileneinrueckung " " automatische Zeileneinrueckung set autoindent " intelligente Zeileneinrueckung set smartindent " Tabs durch Leerzeichen ersetzen lassen set expandtab " Tab auf 4 Zeichen setzen set tabstop=4 " Anzahl der Leezeichen fuer autoindent set shiftwidth=4 " Ruecktaste loescht Tab, 4 Leerzeichen set softtabstop=4 " " Sprachenerkennung aktivieren filetype plugin indent on " " ### " Suche und Suchmuster " " Gross-/Kleinschreibung ignorieren set ignorecase " Gross-/Kleinschreibung nicht ignorieren, bei Grossbuchstaben im Muster set smartcase " Suchergebnisse hervorheben set hlsearch " Ergebnisse beim Tippen anzeigen set incsearch " " Verschuesselungsmethode definieren set cryptmethod=blowfish " " ### " Makros und Scripte " " automatisches Einruecken deaktivieren auf F2 nnoremap <F2> :set invpaste paste?<CR> set pastetoggle=<F2> set showmode " " aktuelles Pythonscript testen auf F3 map <F3> :!python3 -d % <return> " " aktuelle Zeile unterstreichen auf F4 map <F4> :set cursorline <return> " " Leerzeichen am Zeilenende entfernen auf F5 nnoremap <silent> <F5> :call <SID>StripTrailingWhitespaces()<CR> " " Maus einsatzbar machen auf F6 map <F6> :set mouse=a <return> " " Rechtschreibpruefung mit aspell-de auf F7 map <F7> :w!<CR>:!aspell check %<CR>:e! %<CR> <return> " " automatische Rechtschreibpruefung auf F8 map <F8> :set spell!<CR> set spelllang=de " " ### " Backup-Dateien vor dem Speichern anlegen set backup " Verzeichnis zum Speichern (vorher anlegen) set backupdir=~/.vim/backup/ " " mit Pfeiltasten ueber Anfang/Ende einer Zeile set whichwrap=b,s,<,>,[,] " " ### " Leerzeichen am Zeilenende " " ...automatisches Anzeigen beim Tippen match TODO /\s\+\%#\@<!$/ autocmd InsertLeave * redraw! " " ...automatisch beim Speichern bestimmter Quelldateien entfernen autocmd BufWritePre *.py,*.js,*.html,*.php,*.wiki :call <SID>StripTrailingWhitespaces() function! <SID>StripTrailingWhitespaces() " Preparation: save last search, and cursor position. let _s=@/ let l = line(".") let c = col(".") " Do the business: %s/\s\+$//e " Clean up: restore previous search history, and cursor position let @/=_s call cursor(l, c) endfunction " " Vervollstaendigungsvorschlaege fuer Python if has("autocmd") autocmd FileType python set complete+=k~/.vim/pydiction-0.5/pydiction isk+=.,( endif " " ### " Standard-Eintraege " if has("autocmd") au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif endif " if has("autocmd") filetype indent on endif
GVim greift auf diese Einstellungen zu. Zusätzliche Konfigurationen habe ich zur besseren Übersicht in die .gvimrc ausgelagert.
" Schriftart/ -groesse setzen set guifont=Dejavu\ Sans\ Mono\ 10 " " Farbschema setzen: " http://www.vim.org/scripts/download_script.php colorscheme koehler " " Menueleisten, Scrollleisten nicht anzeigen set guioptions-=r set guioptions-=m set guioptions-=T " " mit F9 wieder anzeigen let g:menubar=0 map :if g:menubar == 1:set guioptions-=mT:let g:menubar = 0 :else:set guioptions+=mT:let g:menubar = 1:endif