Thursday, August 9, 2012

Re: how to execute ranger from gvim

Hi Sepp!

On Do, 09 Aug 2012, Sepp Tannhuber wrote:

> Dear all,
>
> I use the following function from the ranger manual:
> fun! RangerChooser()
> exec "silent !ranger --choosefile=/tmp/chosenfile" . expand("%:p:h")
> if filereadable('/tmp/chosenfile')
> exec 'edit ' . system('cat /tmp/chosenfile')
> call system('rm /tmp/chosenfile')
> endif
> redraw!
> endfun
> map ,r :call RangerChooser()<CR>
>
> It is working well with vim.
> Is it possible to invoke ranger from gvim as well? If yes how can I change
> the above function?

For gvim, run ranger by first calling a xterm (or whatever terminal you
prefer), e.g. for xterm use something like this:

fun! RangerChooser()
let cmd = printf("sil !ranger --choosefile=/tmp/chosenfile %s",
\ expand("%:p:h"))
if has("gui_running") && (has("gui_gtk") || has("gui_motif"))
let cmd = substitute(cmd, '!', '! xterm -e ', '')
endif
exe cmd
if filereadable('/tmp/chosenfile')
exec 'edit ' . system('cat /tmp/chosenfile')
call system('rm /tmp/chosenfile')
endif
redraw!
endfun
map ,r :call RangerChooser()<CR>


regards,
Christian
--

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments: