Краткий справочник

Шпаргалка по сниппетам Vimscript

Краткий справочник по сниппетам Vimscript: привязки клавиш, гарды автозагрузки, регистры выражений в режиме вставки и проверка версий.

· Опубликовано

Подборка практических приемов, паттернов и шаблонов кода на Vimscript для разработки плагинов и настройки vimrc.

Привязка клавиш и пользовательские команды

" Привязать пользовательскую команду к локальной функции скрипта
command! YoFunctionHere call s:YoFunctionHere()

" Бесшумное назначение клавиши в нормальном режиме
nnoremap <silent> x :call <SID>FunctionHere()<CR>

function! s:FunctionHere()
  " Реализация
endfunction

Вызов функций в режиме вставки (Insert Mode)

" Использовать регистр выражений (=) для вставки результата
inoremap X <C-R>=script#myfunction()<CR>
inoremap <F2> <C-R>=MyVimFunc()?'':''<CR>

Проверка наличия плагина

if globpath(&rtp, "plugin/commentary.vim") != ""
  " Плагин Commentary установлен
endif

Автозагрузка (Autoloading)

" autoload/hello.vim
if exists("g:hello_loaded") | finish | endif
let g:hello_loaded = 1

function! hello#method()
  echo "Привет из автоматически загруженной функции!"
endfunction

Вызов hello#method() автоматически загружает и исполняет autoload/hello.vim по требованию.

Разное

Проверка версии

if v:version < 704
  echom "Этот плагин требует Vim >= 7.4"
  finish
endif

Связанные темы