Angenommen, Sie verwenden ein Unix-ähnliches Betriebssystem ...
Holen Sie sich perltidy (ein stark anpassbarer Perl-Codeindenter / -formatierer). Aktualisieren Sie dann Ihre ~/.vimrc
Datei, um Folgendes aufzunehmen:
filetype plugin indent on autocmd FileType perl setlocal equalprg=perltidy\ -st
Auf diese Weise können Sie den gewünschten Perl-Code-Block markieren und ihn anschließend mit neu formatieren =. Dies setzt voraus, dass perltidy
in Ihrem gefunden wird $PATH
, andernfalls geben Sie einfach den vollständigen Pfad zur ausführbaren Datei an.
Standardmäßig perltidy
wird Ihr Code als formatiert
if ( $a == 1 ) { &err_report("$a"); while ( $b != 1 ) { &err_ok(); } }
... aber durch Verwendung von -i=2
( --indent-columns=2
) und -pt=2
( --paren-tightness=2
) (Sie würden diese Optionen in Ihre ~/.perltidyrc
Datei einfügen, eine pro Zeile), erhalten Sie
if ($a == 1) { &err_report("$a"); while ($b != 1) { &err_ok(); } }
Das ist so ziemlich das, wonach Sie gefragt haben.
Wenn Sie wirklich keinen Platz haben müssen while
, verwenden Sie -nsak=while
( --nospace-after-keyword=while
).