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

Reply via email to