Funkcja do działania wymaga pluginu fzf.vim
https://github.com/junegunn/fzf.vim
Instalacja za pomocą menadżera vim-plug
https://github.com/junegunn/vim-plug
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim'
Katalog z makietkami ustawiamy w zmiennej g:templates_dir
W funkcji s:read_template_into_buffer(template)
możemy wprowadzić jedną modyfikację,
jako, że makietek używa się do wstawienia typowej zawartości nagłówka pliku, to
funkcja wstawia makietkę na początku pliku, za to odpowiedzialna jest linia (4)
execute '0r '.g:templates_dir.'/'.a:template
, zmieniając w niej 0r
na .r
, makietka
będzie wstawiana w bieżącej linii zamiast na początku pliku.
let g:templates_dir = '~/.vim/templates' function! s:read_template_into_buffer(template) execute '0r '.g:templates_dir.'/'.a:template endfunction command! -bang -nargs=* LoadTemplate call fzf#run({ \ 'source': 'ls -1 '.g:templates_dir, \ 'down': '20%', \ 'sink': function('<sid>read_template_into_buffer') \ })
Date: 2020-10-22T23:50:24+02:00 |