iab _perl use strict;use warnings; set expandtab set tabstop=4 set shiftwidth=4 set smartindent set nocompatible hi folded ctermfg=none ctermbg=none setlocal fo-=t fo-=r fo-=q fo-=o set backspace=indent,eol,start :nnoremap i function GetPerlFold() if getline(v:lnum) =~ '^\s*sub\s' return ">1" elseif getline(v:lnum) =~ '\}\s*$' let my_perlnum = v:lnum let my_perlmax = line("$") while (1) let my_perlnum = my_perlnum + 1 if my_perlnum > my_perlmax return "<1" endif let my_perldata = getline(my_perlnum) if my_perldata =~ '^\s*\(\#.*\)\?$' " do nothing elseif my_perldata =~ '^\s*sub\s' return "<1" else return "=" endif endwhile else return "=" endif endfunction setlocal foldexpr=GetPerlFold() setlocal foldmethod=expr " remove vim backup files function RemoveVimBackup() w ! find . -name "*~" | xargs rm endfunction " map ii to ESC map! ii " execute file currently being edited map ,run :!./% " custom map ,rvb :call RemoveVimBackup()