Yann Moisan

Scala, Web, Linux…

Introduction à Ranger

Ranger est un gestionnaire de fichiers en CLI, avec des raccourcis clavier à la Vim. Il offre une vue en 3 parties : le répertoire parent sur la gauche, le répertoire courant au centre, et un aperçu du fichier courant sur la droite. Pour ce faire, Ranger s'appuie sur divers programmes :

  • atool : pour les archives.
  • highlight : pour le code source
  • pdftotext : pour les PDFs
  • img2txt : pour les images en Ascii Art, ce qui est tout à fait inutile donc indispensable

Voici quelques raccourcis pour bien débuter. ? affiche l'aide. h j k l navigue dans l'arborescence. <espace> marque un fichier en vue d'une action future. S ouvre un shell dans Ranger. A l'instar de Vim, certains raccourcis utilisent 2 touches. Après la saisie de la première, Ranger affiche toutes les possibilités pour la deuxième. Les raccourcis en g permettent soit de sauter dans l'arborescence (gh, comme go home, pour aller dans son répertoire $HOME ), soit de manipuler les onglets (gn ouvre un nouvel onglet, gt change d'onglet). zh affiche les fichiers cachés (ctrl h fait la même chose mais entraine la mort de bébés chats). Dernier exemple, il est possible d'ajouter un marque page avec m{x} et d'y accéder avec '{x}. Ces marques pages sont persistés entre plusieurs lancements dans le fichier ~/.config/ranger/bookmarks

Ranger rend difficile d'accès les actions difficiles à annuler, i.e. elles ne sont pas accessibles via un raccourci clavier mais nécessite une commande, comme :rename pour renommer, :delete pour supprimer ou :bulkrename pour renommer un ensemble de fichiers, en bénéficiant de la puissance de Vim.

Ranger est très configurable et extensible. La configuration se trouve dans le répertoire ~/.config/ranger. Pour personnaliser sa configuration, tapez la commande suivante

    % ranger --copy-config=all
    creating: /home/yamo/.config/ranger/rifle.conf
    creating: /home/yamo/.config/ranger/commands.py
    creating: /home/yamo/.config/ranger/rc.conf
    creating: /home/yamo/.config/ranger/scope.sh

Comme indiqué, cette commande créé les 4 fichiers suivants :

  • rifle.conf (anciennement apps.py) : ouvreur de fichiers
  • commands.py : le code source en python des commandes. Pour en ajouter, je recommande de ne pas forker le fichier pour faciliter les futures montées de version.
  • rc.conf : raccourcis clavier
  • scope.sh : pour l'aperçu

Vous pouvez retrouver ma config sur github. J'ai configuré la ligne de commande pour ouvrir feh, et ajouter une commande pour extraire les archives.

Il est aussi possible de configurer le thème de couleur en créant un répertoire ~/.config/.ranger/colorschemes. J'utilise le thème solarized :

Voici les points qui ont attirés mon attention dans les dernières versions :

  • 1.6.1
    • ouverture de toutes les images d'un répertoire. Avant, il fallait un script comme feh_browser.sh
    • support les outils de gestion de version : set vcs_aware true
  • 1.6.0.
    • affichage des images en true color dans la console : set preview_images true
    • modification de la config
    • ajout d'un lanceur externe : rifle

Normalement, vous devriez devenir accroc à Ranger. C'est alors naturellement que vous voudrez remplacer le gestionnaire de fichiers de Vim par Ranger. Ranger vient avec des fichiers d'exemples, et notamment vim_file_chooser.vim qui indique les lignes à ajouter dans son .vimrc

Ranger a l'avantage d'être très léger et de faire une seule chose mais de le faire bien. Ainsi, l'utilisation conjointe de Ranger et de feh remplace avantageusement un logiciel comme gthumb. En effet, bien que gthumb possède une fonctionnalité native de gestion de fichiers, elle est loin d'égaler celle de Ranger.

Liens :