" .vimrc " " Autor: guido+guido.berhoerster.name@berhoerster.name " " " Optionen " " " 1 Wichtig (important) " " bei c und s Kommando ein $ am Ende des zu aendernden Bereichs anzeigen set cpoptions+=$ " Tastenkombination, um den Einfuege-Modus umzuschalten, siehe " Tastenkombinationen unten set pastetoggle= " " 2 Bewegung, Suchen und Muster (moving around, searching and patterns) " " schon waehrend der Eingabe des Suchbegriffs Treffer hervorheben set incsearch " Gross-/Kleinschreibung beim Suchen nur beachten, wenn Grossbuchstaben im " Suchmuster vorkommen set ignorecase set smartcase " alle Tasten koennen den Cursor ueber das Zeilenende bewegen set whichwrap=b,s,h,l,<,>,[,] " " 4 Textdarstellung (displaying text) " " von Zeilen, die ueber die letzte Zeile hinausgehen soviel wie moeglich " anzeigen set display=lastline " als ^I und Zeilenende als $ anzeigen set list " Zeichen, die im list-Modus angezeigt werden, und Leerzeichen am " Zeilenende anzeigen set listchars=tab:»·,trail:· " " 5 Syntax, Hervorhebung und Schreibweise (syntax, highlighting and spelling) " " Farbschema set background=dark colorscheme xterm16 " Suchergebnisse hervorheben set hlsearch " " 6 Mehrere Fenster (multiple windows) " " Statuszeile immer zeigen set laststatus=2 " " 8 Terminal (terminal) " " Informationen im Fenstertitel zeigen set title " Informationen im Icon-Text des Fensters zeigen set icon " " 9 Mausbenutzung (using the mouse) " " Mausunterstuetzung in xterm aktivieren if $TERM =~ '^\(xterm\|screen\)' && has("mouse_xterm") set mouse=a set ttymouse=xterm2 endif " bei Rechtsklick Cursor unter dem Mauszeiger positionieren und Konextmenue " oeffnen set mousem=popup_setpos " " 12 Nachrichten und Informationen (messages and info) " " Lineal anzeigen set ruler " Teile des Kommandos in der Statuszeile anzeigen set showcmd " " 14 Textbearbeitung (editing text) " " spitze Klammern zu den fuer das "%"-Kommando zusammenghoerigen Klammern " hinzufuegen set matchpairs+=<:> " Backspace ueber indent, eol und start hinweg set backspace=2 " " 15 Tabulatoren und Einrueckung (tabs and indenting) " " ein ist so breit wie die angegebene Zahl an Leerzeichen set tabstop=8 " angegebene Zahl an Leerzeichen fuer jede Stufe der (automatischen) " Einrueckung verwenden set shiftwidth=4 " ein fuegt die in 'shiftwidth' angegebene Zahl von Leerzeichen ein set smarttab " Anzahl von Leerzeichen, die anstatt eines eingefuegt werden set softtabstop=4 " statt einem eine entsprechende Anzahl von Leerzeichen einfuegen set expandtab " automatisch Einrueckung der vorhergehenden Zeile uebernehmen set autoindent " " 19 Lesen und Schreiben von Dateien (reading and writing files) " " ausserhalb von vim modifizierte Dateien automatisch einlesen set autoread " wenn der Inhalt des Buffers veraendert wurde, vor dem Ausfuehren bestimmter " Kommandos erst speichern set autowrite " " 21 Benuztung der Kommandozeile (command line editing) " " angegebene Anzahl von letzten Kommandos speichern set history=100 " moegliche Kommandos in einem Menue auflisten set wildmenu " Kommando bis zur kleinsten gemeinsamen Teilmenge vervollstaendigen, dann " alle moeglichen Kommandos auflisten set wildmode=longest:full " " 26 Verschiedenes (various) " " Marks fuer die erste angegebene Anzahl von Dateien speichern, zweite " angegebene Anzahl von Zeilen pro Register behalten set viminfo='50,\"100,h " " Kommandos " " dateitypspezifische Plugins aktivieren filetype plugin indent on " Variablen fuer Syntax-Hilighting " erweitertes Syntax-Hilighting fuer Python let python_highlight_all=1 " Syntax-Hilighting einschalten syntax on " " Autokommandos (autocommands) " " sicherstellen, dass autocommands nur einmal geladen werden if !exists("autocommands_loaded") let autocommands_loaded=1 " Textdateien nach angegebener Anzahl von Zeichen umbrechen autocmd FileType text setlocal textwidth=78 " E-Maildateien nach angegebener Anzahl von Zeichen umbrechen autocmd Filetype mail setlocal textwidth=65 " bei HTML-Dateien tidy als compiler verwenden autocmd Filetype html compiler tidy " bei angegebenen Tateitypen angegebene Zahl an Leerzeichen fuer jede " Stufe der (automatischen) Einrueckung verwenden autocmd Filetype html,xhtml,xml,xslt,css,bib setlocal shiftwidth=2 " bei HTML-, XHTML-, XML-, und XSLT-Dateien indenting ausschalten autocmd Filetype html,xhtml,xml,xslt setlocal indentexpr= endif " " Tastenkombinationen (mappings) " " Zeichen zur Einleitung von Mappings let mapleader="," " Leerzeichen und Tabs am Zeilenende entfernen nnoremap td :%s/\s*$// " $HOME/.vimrc neu einlesen nnoremap vimrc :source $HOME/.vimrc " " Bereich nur fuer Vim 7 und hoeher " if v:version>=700 " " Optionen " " " 5 syntax, highlighting and spelling " " maximal angegebene Anzahl an Korrekturvorschlaegen machen set spellsuggest=10 " " 14 editing text " " Hoehe des Popupmenues set pumheight=10 " " bufferspezifische Optionen " " " 5 syntax, highlighting and spelling " " Sprachen der Rechtschreibpruefung definieren und aktuelle Sprache " festlegen let g:Spelllang=["de_de","en_us","id"] let &spelllang=g:Spelllang[0] " " Tastenkombinationen (mappings) " " Rechtschreibpruefung ein- und ausschalten nnoremap :setlocal spell! spell? inoremap :setlocal spell! spell? " Sprache der Rechtsschreibpruefung umschalten nnoremap :call SwitchSpelllang() inoremap :call SwitchSpelllang() " neuen Tab oeffnen nnoremap :tabnew . " aktuellen Tab schliessen nnoremap :tabclose " zum vorhergehenden Tab wechseln nnoremap :tabprevious " zum naechsten Tab wechseln nnoremap :tabnext " " Funktionen " " Funktion, die die in der Liste g:Spelllang angegebenen Sprachen " zyklisch durchlaeuft function! SwitchSpelllang() for i in range(0, len(g:Spelllang)-1) if g:Spelllang[i]==&spelllang let i=i+1 if i>=len(g:Spelllang) let i=0 endif let &spelllang=g:Spelllang[i] break endif endfor setlocal spelllang? endfunction endif