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