Eu fiz algumas pesquisas e descobri que não é muito difícil.
Para abrir o arquivo atual selecionado no ranger em um novo painel (à direita) de maneira ad-hoc, você pode primeiro ir para a linha de comando do ranger (pressionando :) e, em seguida, digite shell tmux splitw -h 'vim %f'
seguindo por <Enter>
key.
Para conseguir isso com alguma ligação de chave, você pode configurá-lo em um arquivo de configuração do ranger. Para o ranger 1.6+, as associações de teclas são especificadas em rc.conf
. Então, em ~/.config/ranger/rc.conf
, use algo assim:
map ef eval if 'TMUX' in os.environ.keys(): fm.execute_console("shell tmux splitw -h 'vim " + fm.thisfile.basename + "'")
Enquanto no ranger 1.4 você precisa de um arquivo ~/.config/ranger/keys.py
com o seguinte conteúdo:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Customized key bindings.
from ranger.api.keys import *
map = keymanager.get_context('browser')
@map("ef")
def edit_file_in_new_tmux_pane(arg):
command = "shell tmux splitw -h 'vim " + arg.fm.env.cf.basename + "'"
if 'TMUX' in os.environ.keys(): arg.fm.execute_console(command)
Com a configuração acima quando você pressionar ef
no navegador do ranger, ele abrirá um novo painel tmux com o vim editando o arquivo selecionado.
O código é simplesmente para demonstração e pode precisar envolver mais proteção, como verificação de tipo de arquivo, etc.
O crédito vai para o manual de ajuda do ranger e $(pythonpkginstalldir)/ranger/defaults/rc.conf
( $(pythonpkginstalldir)/ranger/defaults/keys.py
para o ranger 1.4). Eles são realmente úteis.