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 |