" Use Perl itself for checking and Perl::Tidy for tidying compiler perl setlocal equalprg=perltidy let b:undo_ftplugin .= '|unlet b:current_compiler' \ . '|setlocal equalprg< errorformat< makeprg<' " Fold based on indent level, but start with all folds open setlocal foldmethod=indent setlocal foldlevel=99 let b:undo_ftplugin .= '|setlocal foldmethod< foldlevel<' " Add angle brackets to pairs of matched characters for q<...> setlocal matchpairs+=<:> let b:undo_ftplugin .= '|setlocal matchpairs<' " Specify ERE regex (close to perlre) for regex_escape.vim let b:regex_escape_flavor = 'ere' let b:undo_ftplugin .= '|unlet b:regex_escape_flavor' " Stop here if the user doesn't want ftplugin mappings if exists('no_plugin_maps') || exists('no_perl_maps') finish endif " Add boilerplate intelligently command -buffer Boilerplate \ call perl#Boilerplate() nnoremap b \ :Boilerplate let b:undo_ftplugin .= '|delcommand Boilerplate' \ . '|nunmap b' " Mappings to choose compiler nnoremap c \ :compiler perl nnoremap l \ :compiler perlcritic let b:undo_ftplugin .= '|nunmap c' \ . '|nunmap l' " Bump version numbers nmap v \ (PerlVersionBumpMinor) nmap V \ (PerlVersionBumpMajor) let b:undo_ftplugin .= '|nunmap v' \ . '|nunmap V'