Ranger est un navigateur de fichiers pour le terminal, fortement inspiré de vim pour ce qui est de la navigation, et il est hyper pratique.

screenshot0.png

J'aime beaucoup:

  • sa navigation avec 3 panneaux:
    • au centre le dossier courant, où est le curseur,
    • à droite un aperçu du dossier ou du fichier sélectionné,
    • et à gauche l'arborescence du dossier parent.

L'aperçu est essentiel. Il montre le contenu d'un fichier source avec la coloration syntaxique, il montre le texte des pdf et de quelques fichiers de bureautique (LibreOffice) et les méta données des fichiers multimédias. On peut même avoir un aperçu des photos dans le terminal (et normalement bientôt des vidéos). Ainsi grâce à l'aperçu on peut trouver très rapidement ce que l'on cherche, et il nous évite souvent de devoir ouvrir un fichier avec un logiciel externe.

La navigation est très similaire à vim:

  • d'abord, on se déplace dans l'arborescence avec les quatre flèches du clavier, ou bien avec les touches h, j, k et l,
  • l'aide est à ?,
  • on se déplace aussi avec gg et G (aller en haut/au fond),
  • S (s majuscule) ouvre un shell dans le répertoire courant,
  • p ouvre un petit menu pour différentes manières de copier le fichier (paste), y pour coller (yank), d pour couper (comme Ctrl-x),
  • on peut trier les fichiers à partir de o plus la méthode choisie,
  • on peut ouvrir des onglets avec gn et naviguer d'onglets avec gt (suivant) et gT,
  • on peut créer des marques pages avec mx où x est une lettre qui servira de marque page et naviguer avec ='x= (apostrophe),
  • on peut invoquer une commande shell à partir de :, où un cd proposera les marque pages,
  • évidemment chercher dans le répertoire courant avec /, ou naviguer plus rapidement avec f qui lance un find,
  • et bien plus que vous verrez dans la page d'aide, avec ?.

Ranger est développé (en python :) ) sur github: https://github.com/hut/ranger et il habite à http://ranger.nongnu.org/

Pour l'installer: il est présent dans les dépôts. Donc sur Debian et consoeurs:

sudo apt-get install ranger

Voyez sur la première page du site les dépendances optionnelles. Voici la liste néanmoins:

sudo apt-get install caca-utils atool w3m w3m-img highlight mediainfo

À la première utilisation, lancez-le avec l'option suivante:

ranger --copy-config

afin de copier les fichiers de configuration dans ~/.config/ranger, que vous irez consulter pour vous les cuisiner aux petits oignons. On peut y choisir nos exécutables pour telles extensions de fichiers, etc.

Vous ajouterez peut être la gestion de l'aperçu des images. Il vous faut alors w3m (navigateur web pour le terminal):

sudo apt-get install w3m

et ensuite activer l'option en ajoutant la ligne suivante dans le fichier de conf ~/.config/ranger/rc.conf:

set preview_images true

mais sachez que cela ne fonctionne pas avec tous les terminaux. Avec gnome-terminal cela dépend, moi je n'ai pas réussi, avec urxvt et xterm c'est bon, et puis ça fonctionne avec tmux aussi mais pas avec screen.

Et voilà. Vous êtes heureux-se ? Moi aussi. Mais ce n'est pas tout. De temps en temps, je veux ouvrir un navigateur de fichiers dans le répertoire qui n'est pas le courant. Sans faire de cd. Ma solution savoureuse est de demander à Fasd de nous ouvrir Ranger. Fasd mérite un article à lui tout seul, courez le voir (vite !) si vous ne le connaissez pas, c'est un outil similaire à autojump ou j ou z pour sauter d'un répertoire à un autre. Nous, définissons un nouveau raccourci:

alias r="fasd -d -e ranger"

Ce qui veut dire que r foo TAB actionnera fasd, qui ira chercher un répertoire (-d) que nous avons déjà visité avec un cd normal et qui contient "foo" dans son nom, et qui lancera ranger.

Ranger fut un choc, un séisme ! Je quitte même Emacs pour lui, c'est dire !