web-dev-qa-db-fra.com

Comment déplacer des annuaires dans Ranger?

J'utilise Ranger gestionnaire de fichiers.

Je veux déplacer les annuaires sélectionnés (marked) dans le chemin fourni.

Example image

J'ai déplacé des annuaires en utilisant dd et pp mais il oblige que l'utilisateur accède au répertoire de destination pour les "coller".

Il y a une commande non documentée move que je ne sais pas comment utiliser.

Et je suppose également que cela peut être fait par une commande de shell externe en quelque sorte, mais je tiens à le faire de manière native via la commande move.

6
user373230

Je n'ai jamais eu besoin de la commande natif move [$ var] de Ranger avec la commande de la commande mv sur la ligne de commande Ranger, pour déplacer le fichier ou le répertoire sélectionné dans un répertoire donné, par exemple:

Shell -f mv %f /foo/bar

%f est la macro Ranger pour des fichiers mis en surbrillance et %s serait pour tous les éléments sélectionnés.

L'option -f Fourchets L'opération de sorte que la session Ranger ne soit pas interrompue par un processus de fichier long.

Vous pouvez invoquer la ligne COMAND avec s ,! ou @.

Une autre façon, surtout si vous avez de nombreuses copies/mouvements à apporter, consiste à ouvrir un autre onglet dans Ranger, avec gn et CD dans le répertoire que vous souhaitez copier/déplacer les fichiers vers. Ensuite, revenez à la première onglet pour sélectionner des fichiers et utiliser la macro Ranger pour l'onglet suivant %D, déplacer des fichiers à, comme,

Shell -f mv %f %D

Mais cela ne vous sauve que de frapper yy Tab dd Tab. Pour être honnête, je bascule habituellement l'onglet et dd.

J'ai configuré des liaisons de clé dans le fichier rc.conf, comme vous le souhaitez,

#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      

Noter que %S est la macro pour les fichiers sélectionnés dans l'onglet suivant. %d est la macro du chemin de répertoire de l'onglet en cours.

Et d'autres,

#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  

%c est la macro Ranger pour les fichiers détenus dans la mémoire tampon de copie/coupure.

Les fichiers sont facilement ajoutés au tampon avec yy, à Yank ou ya, pour ajouter au tampon de copie. De même, avec dd, couper ou da, pour ajouter au tampon coupé.

Voir mon autre Clé-mappings ici

9
mozerella

C'est la question, c'est vieux, mais c'est le premier que j'ai trouvé quand j'ai commencé à utiliser Ranger.

mozerella mentionne.

Les fichiers sont facilement ajoutés au tampon avec YY, à Yank ou YA, pour ajouter au tampon de copie. De même, avec DD, pour couper ou da, pour ajouter au tampon coupé.

Je ne sais pas si cela était possible pour des répertoires à la fin de 2016, mais j'ai trouvé la méthode:

  1. DD sur le répertoire - coupé
  2. accédez au nouveau répertoire
  3. pp - pâte

s'applique également aux annuaires.

4
jayreed1

Bien que la première réponse soit assez bonne en termes de dépasser certaines des portions de plongée plus profondes des configurations de fichiers RC associées, il est préférable de vous rendre à la fichue point.

Disons que vous essayez de copier et coller un répertoire sur un serveur distant. Tout ce que vous avez à faire est de vous assurer que vous êtes un utilisateur root (si nécessaire, ex: Dans mon cas, je voulais simplement déplacer mon dossier public_html contenant mon site Web plus profondément dans le répertoire/var, donc je devrais être racine) avec:

Sudo su

(* Entrez vos informations d'identification)

Ensuite, utilisez Ranger:

ranger

Sélectionnez le répertoire et tapez:

dd

Ensuite, accédez à l'endroit où vous voulez la coller et tapez:

pp

Voila, tu as fini!

0
Sam