Commit: cfc30e090cdea28513bdf5e925c2bbc1eb1e5435 Parent: 69dc0ef17423e4f1ad76a2ddbc2640e8123a8e8c Author: Johannes Thyssen Tishman Date: Mon, 8 Jul 2024 19:22:19 +0000 vim: Add new mappings for fzf Diffstat: M vim/plugin/fzf.vim | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/vim/plugin/fzf.vim b/vim/plugin/fzf.vim @@ -2,18 +2,37 @@ function! s:put(lines) call append('.', a:lines[0]) endfunction +function! s:buflist() + redir => ls + silent ls + redir END + return split(ls, '\n') +endfunction + +function! s:bufopen(e) + execute 'buffer' matchstr(a:e, '^[ 0-9]*') +endfunction + let g:fzf_action = { \ 'ctrl-t': 'tab split', \ 'ctrl-v': 'split', - \ 'ctrl-h': 'vsplit', + \ 'ctrl-s': 'vsplit', \ 'ctrl-r': 'read', \ 'ctrl-p': function('s:put'), \} let g:fzf_layout = { 'down': '30%' } +nnoremap <silent> <leader>F :call fzf#run(fzf#wrap())<CR> +nnoremap <silent> <leader>f :call fzf#run(fzf#wrap({ + \ 'source': 'find * -type f' +\ }))<CR> +nnoremap <silent> <leader>b :call fzf#run(fzf#wrap({ + \ 'source': reverse(<SID>buflist()), + \ 'sink': function('<SID>bufopen'), +\ }))<CR> + autocmd! FileType fzf autocmd FileType fzf set laststatus=0 noshowmode noruler \| autocmd BufLeave <buffer> set laststatus=1 showmode ruler -nnoremap <silent> <leader>f :call fzf#run(fzf#wrap())<CR>