Estou usando o explorador de arquivos do terminal Ranger de dentro de um terminal linux.
Digamos que eu inicie no prompt de comando no diretório inicial e inicie o ranger
user@/home/user $ ranger
o ranger abre ..... e dentro do programa do ranger eu exploro para:
/media/ubuntu/sdf675d7sf5sdfs7/some_directory
Se eu pressionar q para sair do ranger, retornarei à mesma pasta em que o ranger foi lançado. ie
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 $
linux
command-line
terminal
ranger
the_velour_fog
fonte
fonte
;
ae especificar mais comandos após o ponto-e-vírgula que - Estou assumindo que são executados no ponto em que você fecharanger
, obrigado!.rangerdir
para torná-lo oculto. Ou exclua no finalrm -d $HOME/rangerdir
.fish_config
e acrescentou uma abreviação pararanger --choosedir="$HOME/.rangerdir"; cd (cat $HOME/.rangerdir)
S
Se você clicar
S
, ele abre um novo shell no diretório atual.Então, se você acertar
Ctrl + D
a casca, ela voltará pararanger
.Essa solução alternativa geralmente é boa o suficiente.
fonte
Encontrei uma solução mais fácil. Quando você instala o ranger, ele coloca um script em sua pasta bin que, se executado, iniciará o programa. Mas se você o buscar, com
ele iniciará o ranger e o deixará na última pasta visitada quando você sair.
portanto, se você deseja esse comportamento por padrão, basta
ou melhor ainda, coloque-o no seu arquivo .bashrc.
Para ver a documentação e implementação deste recurso, leia o script da guarda florestal na sua pasta bin.
fonte
. ranger
) é mencionada no wikiPara acompanhar a resposta de Gombai Sándor, sugiro fazer um pequeno ajuste no alias:
Alterando "$ Home / rangerdir" para "$ Home / .rangerdir", você oculta o arquivo criado pelo alias. apenas faz com que não seja desordenadamente a pasta inicial. não faz diferença funcional em como funciona.
fonte
Eu me deparei com uma pergunta semelhante em outro lugar com melhor resposta em comparação com Gambai e suas outras variantes propostas. É melhor desde então.
Já existe uma função em um arquivo shell no repositório git do ranger:
https://github.com/ranger/ranger/blob/master/examples/bash_automatic_cd.sh
Você pode colocar essa função no
~/.zshrc
arquivo shell rc do seu favorito (por exemplo ) e criar um alias e / ou vinculá-lo a uma combinação de teclas (novamente os dois podem ir no arquivo rc):e / ou
Isenção de responsabilidade: o
bindkey
acima funciona em ZSH e você deve alterá-lo com base no seu shell preferidofonte
Obrigado por Gombai pela inspiração, mas no Ubuntu 14.04 LTS eu achei a solução não funcionou muito bem. Modificando-o um pouco e salvando como um alias no meu .bashrc, o seguinte funcionou perfeitamente (após a criação do
rangerdir
arquivo):alias ranger='ranger --choosedir=$HOME/rangerdir;cd "$(cat $HOME/rangerdir)"'
A seguinte postagem no askubuntu me ajudou quando eu estava tentando descobrir por que as diferentes soluções que eu estava tentando não estavam funcionando: /ubuntu/404141/why-cant-i-pipe-into-cd
fonte
posso one-up de vocês? passar os outros argumentos pode ser útil, então coloque isso no seu shellrc
fonte
Aqui está uma maneira mais elegante de escrever um wrapper de função. Basta usar o comando
ranger
e, se você quiser sincronizar o diretório, volte para o shell principal, saia do ranger com capitalQ
.(Os códigos abaixo são testados com Bash e ZSH.)
Isso permitirá que você sincronize novamente a alteração de diretório sob demanda . Use
:q
para sair normalmente,Q
para sair e alterar seu diretório.fonte