Como sair do explorador de arquivos Ranger de volta ao prompt de comando, mas manter o diretório atual?

15

Estou usando o explorador de arquivos do terminal Ranger de dentro de um terminal linux.
Digamos que eu inicie a partir do prompt de comando no diretório home e inicie o ranger

user@/home/user $ ranger

ranger abre ..... e dentro do programa ranger eu exploro para:

/media/ubuntu/sdf675d7sf5sdfs7/some_directory

Se eu clicar em q para sair do ranger, serei enviado para a mesma pasta da qual eu iniciei o ranger. ou seja,

user@/home/user $

É possível sair do ranger e permanecer no diretório em que eu estava com o ranger, i.

user@/media/ubuntu/sdf675d7sf5sdfs7/some_directory $  
    
por the_velour_fog 22.02.2016 / 02:36

6 respostas

19

De acordo com o manual

--choosedir=targetfile    
    Allows you to pick a directory with ranger. When you exit ranger, it will write the last visited directory into targetfile.

Então, tudo o que você precisa fazer é criar um alias como este:

alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR='cat $HOME/.rangerdir'; cd "$LASTDIR"'

E é recomendável escrever esse alias no rc de seu shell favorito.

    
por 22.02.2016 / 04:15
15

S

Se você pressionar S , ele abrirá um novo shell no diretório atual.

Então, se você acertar Ctrl + D no shell, voltará para ranger .

Esta solução alternativa geralmente é boa o suficiente.

    
por 26.08.2017 / 08:24
3

Para aproveitar a resposta de Gombai Sándor, sugiro fazer um pequeno ajuste no pseudônimo:

alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR='cat $HOME/.rangerdir'; cd "$LASTDIR"'

Ao alterar "$ Home / rangerdir" para "$ Home / .rangerdir", você cria o arquivo criado pelo alias oculto. apenas faz com que não seja irritante a bagunça da pasta principal. não faz diferença funcional de como funciona.

    
por 19.07.2017 / 16:30
3

Eu encontrei uma solução mais fácil. Quando você instala o ranger, ele coloca um script na sua pasta bin que, se executado, irá iniciar o programa. Mas se você fonte, com

$ source ranger

ele irá lançar o ranger e soltar você na última pasta visitada quando você sair.

então se você quiser este comportamento por padrão, apenas faça

$ alias ranger='source ranger'

ou melhor ainda, coloque-o no seu arquivo .bashrc.

Para ver a documentação e a implementação desse recurso, leia o script ranger na sua pasta bin.

    
por 08.06.2018 / 15:45
1

Obrigado por Gombai pela inspiração, mas no Ubuntu 14.04 LTS eu achei que a solução não funcionou bem. Modificando ligeiramente e salvando como um alias no meu .bashrc, o seguinte funcionou perfeitamente (depois de criar o arquivo rangerdir ):

alias ranger='ranger --choosedir=$HOME/rangerdir;cd "$(cat $HOME/rangerdir)"'

O seguinte post no askubuntu me ajudou quando eu estava tentando descobrir por que as diferentes soluções que eu estava tentando não estavam funcionando:

    
por 11.03.2017 / 19:32
0

Isto é um pouco antigo agora, mas acabei aqui com o mesmo problema. Ciro Santilli afirmou acima que se você acertar "S" quando em ranger ele abre em um novo shell. Bem no meu sistema batendo "S" em um diretório abre o diretório no shell atual, exatamente o que eu queria fazer. Espero que isso ajude outras pessoas.

    
por 12.10.2018 / 14:53