" vim: nonumber backup " ------------------------------------------------------------------------- " Lothar Becker " VIM - Konfigurationsdatei " VIM - Version 7.2 " ------------------------------------------------------------------------- " Settings {{{ " Nerd Commenter let NERDSpaceDelims = 1 " Workaround vim-vimoutliner set runtimepath+=/usr/share/vim/addons " Will allow you to use :w!! to write to a file using sudo if you forgot to 'sudo vim file' (it will prompt for sudo password when writing) cmap w!! %!sudo tee > /dev/null % " Default Rechtschreibprüfung " set spell " Deutsche Rechtschreibprüfung " de* Spell Files Download: http://ftp.vim.org/vim/runtime/spell/ " set spelllang=de " set spellfile=/home/lothar/.vim/de.add " Rechtschreibprüfung ein- ausschalten mit F2 " map <F2> :set spell!<CR><Bar>:echo 'Spell check: ' . strpart('OffOn', 3 * &spell, 3)<CR> " Nur Top 10 (Rechtschreibprüfung) anzeigen " set sps=best,10 " disable the matching brace/bracket highlighting let g:loaded_matchparen = 1 " Beschriftung der Tabs (%t=Dateiname, %N=Nummer, %f=Pfad und Dateiname, \=Leerzeichen) " set guitablabel=%t " Highlight cursorline ein- ausschalten mit F3 map <F3> :set cursorline!<CR><Bar>:echo 'Highlight active cursor line: ' . strpart('OffOn', 3 * &cursorline, 3)<CR> " Kein blinkender Cursor set gcr=a:blinkon0 set shellslash "set guifont=Courier:h10 "set guifont=ProggyCleanTT:h12:cDEFAULT "colorscheme koehler " Kein Vi-kompatibler Modus set nocompatible " Alle Suchtreffer farblich hervorheben set hlsearch " Während der Eingabe zum entsprechenden Text springen set incsearch " Groß- und Kleinschreibung bei der Suche ignorieren set ignorecase " ignorecase abschalten, wenn Muster Großbuchstaben enthält set smartcase " Syntax-Highlighting syntax on " Zeilennummerierung set number " Faltungsmethode = Markierungen - Standardmäßig werden {{{ zum Anfang und }}} " zum Ende einer Faltung verwendet set foldmethod=marker " Automatisches Einrücken set smartindent " The number of space characters that will be inserted when the tab key is pressed set tabstop=4 " Einrücktiefe set shiftwidth=4 " To insert space characters whenever the tab key is pressed. set expandtab " Treppeneffekt beim Copy & Paste verhindern set pastetoggle=<F8> " Backup-File anlegen " set backup " Pfad zum Backup-Verzeichnis set backupdir=~/.vim/backup " Normales Verhalten der Backspace-Taste set backspace=2 " Zeigt den aktuellen Modus an set showmode " Show (partial) command in the last line of the screen. set showcmd " Zeigt die aktuelle Cursorposition set ruler " Ein Leerzeichen nach .,?,! beim Zusammenfügen von zwei Zeilen set nojoinspaces " Statusline - 2 Zeilen hoch set laststatus=2 " Modeline nur in 1. Zeile zulässig set modelines=1 " Name der aktuellen Datei in Fenster-Titel-Leiste set title " Liste von Verzeichnissen die durchsucht werden set runtimepath=~/.vim,$VIMRUNTIME set viminfo='20,\"50 set history=50 " Foldcolors für Default-Colorscheme hi Folded guibg=black guifg=gold cterm=none ctermbg=black ctermfg=darkgreen " Pfad zum VIM-Helpfile - Diese Option ist nur nötig wenn das " Aufrufen der VIM-Hilfe zu einer Fehlermeldung führt " set helpfile=/usr/share/vim/vim63/doc/help.txt.gz " }}} " Mappings {{{ " Hervorhebungen der Suche mit Strg-L enfernen map <silent> <c-l> :silent nohl<cr> " }}} " Abkürzungen {{{ " Firebug imap c.l console.log();<LEFT><LEFT> imap c.d console.debug();<LEFT><LEFT> " DWS imap wtl WriteToLog(GetWebVars); imap LB Lothar Becker " Zeitstempel - Sa 13 Jun 09 iab mdyl <c-r>=strftime("%a %d %b %y") " }}} " Autocommands {{{ if has("autocmd") " autocmd BufNewFile,Bufread *.php,*.php3,*.php4,*.js set keywordprg="help" " Templates " autocmd! BufNewFile * silent! 0r $VIMRUNTIME/skel/tmpl.%:e " Manuelle Faltungen in otl-Dateien speichern " autocmd BufWrite *.otl mkview " Manuelle Faltungen in otl Dateien laden " autocmd BufWinEnter *.otl loadview " Speichern von Cursorpositionen, Faltungen, lokale Optionen/Mappings/Abkürzungen. au BufWinLeave *.* silent! mkview au BufWinEnter *.* silent! loadview " Neue Tags im Tagfile speichern " autocmd BufWritePost myvimhelp.txt helptags ~/.vim/doc " PHP-Manual als Helpfile " autocmd BufNewFile,Bufread *.php,*.php3,*.php4 set keywordprg="help" " Deutsche Umlaute die sich in Html und PHP-Dateien befinden umwandeln " autocmd BufNewFile,Bufread *.html,*.htm,*.shtml,*.php source ~/.vimrc_html " Added by VimOutliner installer au! BufRead,BufNewFile *.otl set filetype=vo_base " End modifications by VimOutliner installer " au! BufRead,BufNewFile *.dws set filetype=java " Das Wort 'Error' in Logfiles farblich hervorheben au BufRead,BufNewFile *.log syn match fehler "Error" au BufRead,BufNewFile *.log hi fehler guifg=white guibg=red " Start with a maximized window (gui-win32) " au GUIEnter * simalt ~x filetype plugin on endif " }}} " Funktionen {{{ " Display output of shell commands in new window (scratchbuffer) command! -complete=shellcmd -nargs=+ Shell call s:RunShellCommand(<q-args>) function! s:RunShellCommand(cmdline) echo a:cmdline let expanded_cmdline = a:cmdline for part in split(a:cmdline, ' ') if part[0] =~ '\v[%#<]' let expanded_part = fnameescape(expand(part)) let expanded_cmdline = substitute(expanded_cmdline, part, expanded_part, '') endif endfor botright new setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap call setline(1, 'You entered: ' . a:cmdline) call setline(2, 'Expanded Form: ' .expanded_cmdline) call setline(3,substitute(getline(2),'.','=','g')) execute '$read !'. expanded_cmdline setlocal nomodifiable 1 endfunction " Mit Strg-H alle Umlaute im markierten Bereich Html-kodieren function HtmlEscape() silent s/ö/\ö/eg silent s/ä/\ä/eg silent s/ü/\ü/eg silent s/Ö/\Ö/eg silent s/Ä/\Ä/eg silent s/Ü/\Ü/eg silent s/ß/\ß/eg endfunction map <silent> <c-h> :call HtmlEscape()<CR> " }}} " Plugins {{{ " filetype plugin indent on " syntax on " }}}