Je ne suis pas un utilisateur de ranger, mais j'ai vu une entrée dans le wiki de garde qui semble être utile: https://github.com/ranger/ranger/wiki/Commands.
TL; DR: modifier le fichier ~/.config/ranger/commands.py
from ranger.api.commands import Command
class move_to_path(Command):
"""
:move_to_path
Move file to a directory
"""
def execute(self):
import shutil # for shutil.copy, os.rename works fine too
shutil.move(self.fm.thisfile.path, "/your/directory/" + self.fm.thisfile.basename)
Vous avez maintenant votre commande que vous pouvez lancer avec: move_to_path. Vous pouvez écrire du code Python pour savoir où obtenir le nom du répertoire: fixe, dans un fichier de configuration de votre choix, etc.
Maintenant, pour ajouter un raccourci clavier, nous allons jeter un oeil à: https://github.com/ranger/ranger/wiki/Keybindings ou à: http://ranger.nongnu.org/ranger.1.html#KEY-BINDINGS Si Je ne me trompe pas, vous pouvez éditer le ~/.config/ranger/config/rc.conf et ajouter un raccourci ici. Par exemple, vous pouvez ajouter une ligne:
map mf move_to_path
Je pense que cela devrait faire l'affaire. Et je vous remercie de me faire découvrir ranger, je vais essayer demain :)
Edit: Pour déplacer plusieurs fichiers sélectionnés, vous pouvez faire:
def execute(self):
import shutil # for shutil.copy, os.rename works fine too
from os import basename
for file in self.fm.thistab.get_selection():
shutil.move(file, "/your/directory/" + basename(file))
Cela fonctionne parfaitement, sauf que ce n'est pas '~/.config/ranger/config/rc.conf' est en fait '~/.config/ranger/rc.conf' qui doit être édité avec' map mf move_to_path'. – George
Aussi: savez-vous s'il existe un moyen facile de faire en sorte que cette commande affecte les fichiers sélectionnés par opposition au fichier actuellement affiché? – George
Je vais devoir essayer de faire une réponse acceptable, mais je pense que le wiki sur github contient beaucoup d'informations, il est aussi possible de voir les fichiers sources de python pour obtenir quelques indices. Je vais modifier la réponse. – RobinG