Como mover diretórios no Ranger?

3

Estou usando o gerenciador de arquivos Ranger .

Eu quero mover os diretórios selecionados ( mark ed) para o caminho fornecido.

Estou movendo diretórios usando dd e pp , mas ele exige que o usuário vá até o diretório de destino para "colá-los".

Há um comando move não documentado que não sei usar.

E eu também acho que isso pode ser feito através de um comando shell externo de alguma forma, mas eu quero fazê-lo nativamente através do comando move .

    
por w17t 04.11.2016 / 07:27

2 respostas

4

Nunca precisei do comando move nativo do ranger para poder usar o comando mv na linha de comando do ranger, para mover o arquivo ou diretório selecionado para um determinado diretório, por exemplo:

shell -f mv %f /foo/bar

onde %f é a macro do ranger para arquivos destacados, e %s seria para todos os selecionados.

A opção -f bifurca a operação para que a sessão do ranger não seja interrompida por um longo processo de arquivo.

Você pode invocar a linha de comando com s! ou @.

Outra maneira, especialmente se você tiver muitas cópias / movimentos para fazer, é abrir outra guia no ranger, com gn e cd para o diretório para o qual deseja copiar / mover os arquivos. Em seguida, retorne à primeira guia para selecionar arquivos e use a macro ranger para a próxima guia %D , para mover os arquivos para, por exemplo,

shell -f mv %f %D

Mas isso na verdade apenas evita que você atinja yy Tab dd Tab . Para ser honesto, eu geralmente troco a guia e dd .

Eu configurei as associações de teclas no arquivo rc.conf assim,

#sync sel'd into dir on next tab
map ytt shell -f rsync -rult %s %D      

#sync sel'd from dir on next tab
map yff shell -f rsync -rult %S %d      

#sync sel'd into dir on next tab  :incl referred files
map ytr shell -f rsync -ruLt %s %D      

#sync sel'd from dir on next tab  :incl referred files
map yfr shell -f rsync -ruLt %S %d      

#move sel'd into dir on next tab
map dtt shell -f mv %s %D      

#move sel'd from dir on next tab
map dff shell -f mv %S %d      

Observe que %S é a macro dos arquivos selecionados na próxima guia. %d é a macro para o caminho do diretório da guia atual.

E alguns outros,

#copy sel'd into h'd dir
map pc shell -f rsync -rut %s %d/%f/  

#move sel'd into h'd dir
map pm shell -f mv -u %s %d/%f  

#copy buffer into h'd dir
map pds shell -f rsync -rult %c %d/%f/       

#move buffer into h'd dir
map pdm shell -f mv -u %c %d/%f              

#sync buffer'd files into curr dir :links only
map ps shell -f rsync -rult %c %d  

Onde %c é a macro ranger para arquivos mantidos no buffer de cópia / corte.

Os arquivos são facilmente adicionados ao buffer com yy , para serem puxados ou ya , para serem adicionados ao buffer de cópia. Da mesma forma, com dd , para cortar ou da , para adicionar ao buffer de corte.

Veja meus outros mapeamentos de chaves aqui

    
por 15.12.2016 / 14:58
2

Esta é uma pergunta antiga, mas é a primeira que encontrei quando comecei a usar o Ranger.

mozerella menciona.

Files are easily added to the buffer with yy, to yank, or ya, to add to the copy buffer. Similarly, with dd, to cut, or da, to add to the cut buffer.

Não sei se isso era possível para diretórios no final de 2016, mas encontrei o método:

  1. dd no diretório - Cortar
  2. navegue até o novo diretório
  3. pp - Colar

aplica-se também aos diretórios.

    
por 25.05.2018 / 21:49