Perl programming with vim

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.

This entry was posted in Development, How To and tagged , , , . Bookmark the permalink.