Не утруждайте себя набором часто повторяемого кода -- используйте аббревиатуры.
К примеру для объявления подпрограмм на языке Perl можно в конфиге определить аббревиатуру sub следующим образом - iab sub sub<CR><CR><TAB><CR><HOME><UP><UP><UP><END>, а команда iab today <C-R>=strftime("%d/%m/%Y (%H:%M)")<CR> обеспечивает в режиме редактирования автозамену слова today на текущее время...
Также весьма интересны комбинации ``[буква, ]буква''.
Так, например, ``[i'' осуществляет вывод строки с объявлением находящейся под курсором переменной (точнее первое вхождение данного идентификатора).
Для перехода к находящейся под курсором функции воспользуйтесь ``
Если вы желаете использовать редактор в цикле ``edit->compile->edit'', то, прочитав :h quickfix, вы определите свои варианты переменных shellpipe, errorformat, makeprg.
Так у меня для работы с Perl-файлами определено:
set shellpipe=2>&1\ \|\ tee
setlocal makeprg=perl\ -wc\ %
setlocal errorformat=%m\ at\ %f\ line\ %l%.%#,
\%-G%.%#
Если хотите просматривать ошибки не поэлементно, а и видеть перед глазами их полный список - используйте команду :cw, которую можно вызывать автоматически после компиляции, путем небольшой правки ранее определенного поведения клавиши <F9> - map <F9> :make<CR>:cwindow<CR>...
Конечно же вы можете переопределить что и на что угодно, причем весьма простым и интуитивным образом.
В том числе меню, тулбар и контекстное (по правой кнопке мыши) меню.
Ну и, наконец, если я вас не убедил использовать собственные наработки по части быстрых клавиш и вы тоскуете по ставшим привычными за долгие годы использования иной OS <CTRL>+z,x,c,v, выделению через <SHIFT>+стрелки и тому подобному, то добавьте в конфиг строку source $VIMRUNTIME/mswin.vim.