Da ich jetzt Hauptberuflich wieder viel Perl programmiere hab ich meinen Lieblings-Editor vim mal etwas auf Perl feinabgestimmt. Mit perltidy Integration für schöner formatierten Quellcode und ein paar Textmakros.
Meine .vimrc sieht nun wie folgt aus:
" get easier to use and more user friendly vim defaults " Switch it off if you prefer real vi compatibility set nocompatible " use visual bell set vb " incremental search set incsearch " show line numbers "set number " paste mode - this will avoid unexpected effects when you " cut or copy some text from one window and paste it in Vim. set pastetoggle=<F11> " encoding "set encoding=utf8 set encoding=latin1 " wrap lines at the end of the screen set wrap " indent settings set tabstop=4 set shiftwidth=4 set softtabstop=4 "folding settings set foldmethod=indent set foldnestmax=3 set nofoldenable set wildmode=list:full set wildmenu set wildignore=*.o,*.obj,*~ " font settings set guifont=Monospace\ 11 " syntax coloring if has("syntax") syntax on endif " perl specific settings " set compiler to perl autocmd FileType perl compiler perl " integrate perltidy with :Tidy or F12 it reformat the buffer " or the selected virtual block autocmd FileType perl command! -range=% -nargs=* Tidy, !perltidy -q autocmd FileType perl noremap <F12> :Tidy " Abbreviations for perl autocmd FileType perl iab dump# print Data::Dumper->Dump( [$self] );
Mit dieser Konfiguration kann ich durch einen einfachen F12 Tastendruck den Perl-Code mit perltidy formatieren und mit F11 den Copy and Paste Modus umschalten. Weiterhin ist es möglich Code-Snipples mit den Schlüsselwörtern dump# einfügen.
Meine .perltidyrc Konfiguration sieht wie folgt aus:
# Einrückungen mit Tabs wobei 4 Leerzeichen ein Tab sind -et=4 # Geschweifte Klamemrn auf neuer Zeile -bl # Geschweifte Klammern für subs auf neuer Zeile -sbl # Keine Leerzeichen in for Statements vor dem Semikolon -nsfs # Keinen Zeilenumbruch nach offnenden Token -vt=2 # Keine Einrückung für extra lange Quotes -nolq # Keine Längenbeschränkung für Zeilen -l=0
So bin ich erstmal ganz zufrieden mit dieser Konfiguration. Für weitere Tips und Tricks könnt ihr ja ein Kommentar hinterlassen. So bin ich immer auf der Suche meinen Arbeitworkflow weiter zu optimieren.