25 lines
566 B
VimL
25 lines
566 B
VimL
function! RangeChooser()
|
|
let temp = tempname()
|
|
exec 'silent !ranger --choosefiles=' . shellescape(temp)
|
|
if !filereadable(temp)
|
|
" Nothing to read.
|
|
redraw!
|
|
return
|
|
endif
|
|
let names = readfile(temp)
|
|
if empty(names)
|
|
" Nothing to open.
|
|
redraw!
|
|
return
|
|
endif
|
|
" Edit the first item.
|
|
exec 'edit ' . fnameescape(names[0])
|
|
" Add any remaning items to the arg list/buffer list.
|
|
for name in names[1:]
|
|
exec 'argadd ' . fnameescape(name)
|
|
endfor
|
|
redraw!
|
|
endfunction
|
|
command! -bar RangerChooser call RangeChooser()
|
|
nnoremap <leader>f :<C-U>RangerChooser<CR>
|