Ce qu’il y a de bien avec les logiciels bien écrit, c’est que même lorsqu’ils sont conçus dans une certaine optique, leur adaptation reste possible à la marge, permettant au plus grand nombre d’en profiter. C’est le cas par exemple de l’explorateur de fichier ranger[1].
Il s’agit d’un explorateur de fichier en mode texte (ncurse) écrit en python (compatible python2 ou 3) et utilisant comme seul paradigme de navigation le principe des colonnes de Miller[2]. La plupart des barbus l’apprécient pour sa légèreté, tout en offrant un nombre de fonctionnalité impressionnant dans une interface rafraîchissante.
Malheureusement, il a été conçu principalement par des gens utilisant vi, connu pour ses raccourcis tout sauf évidents[3]. Heureusement, les raccourcis sont personnalisables.
Voici donc ma petite contribution pour ne plus se torturer l’esprit trop longtemps sur des choses simples, tout en bénéficiant de la puissance de ranger. Cette config est à ajouter à votre fichier `~/.config/ranger/rc.conf'
map <A-x> console map <C-x>k tab_close map <C-x>b<any> tab_open name=%any map <C-x><C-f> console cd copymap <C-n> <C-t> copymap yy <A-w> copymap pp <C-y> copymap dd <C-w> copymap q <C-x><C-c> copymap <C-c> <C-g> copycmap <ESC> <C-g> map * tag_toggle map t<any> tag_toggle tag=%any map gm eval import getpass; fm.cd('/run/media/' + getpass.getuser())
La dernière ligne n’est pas nécessaire si vos médias amovibles sont montés dans `/media/' ou `/mnt/' (options déjà proposées par ranger).
[2] colonnes de Miller (HTTPS)
Pendant un long moment, j’ai utilisé un hack du module perl tabs[1] développé par Yoran[2] pour ajouter des onglets à rxvt-unicode[3]. Mais lorsque j’ai changé de PC, très récemment, impossible de refaire fonctionner ce module.
Comme en parallèle, pour le boulot, j’avais commencé à m’intéresser sérieusement aux multiplexeurs de terminaux[4] et en particulier à tmux[5].
Sauf que voilà, rebelote, tmux est fourni en natif avec des raccourcis claviers étranges. Cette fois-ci, pourtant, une option existe bien pour demander l’utilisation de raccourcis à la Emacs. Mais d’autres choses m’ennuyaient (pourquoi utiliser `C-b' comme préfixe de commande plutôt que de s’harmoniser avec screen et son `C-a' ?). Comme j’ai horreur d’apprendre dix mille choses différentes, je me suis attelé à sa reconfiguration, que voilà.
Cette configuration est à placer dans votre fichier `~/.tmux.conf'. Je la découpe néanmoins en trois parties distinct pour plus de clarté selon ce que vous souhaitez récupérer ou pas.
[1] hack du module perl tabs (HTTP)
Il s’agissait principalement ici de dire à tmux de ne surtout pas fonctionner comme un /shell/ de connexion, d’utiliser bash de la manière la plus simple et de fixer la taille des lignes d’écran sauvegardées.
set-option -g default-command /bin/bash set-option -g set-titles on set-option -g set-titles-string "[#S@#H] #W" set-option -g default-terminal "screen-256color" set-option -g history-limit 10000 set-option -g prefix C-a set-window-option -g automatic-rename on
Il s’agissait principalement ici de trouver, à mon sens, un peu plus de logique dans les touches utilisées. Je me suis également rapproché de l’usage courant que j’ai sous awesome ou Emacs pour naviguer entre les panneaux/fenêtres.
unbind-key C-b unbind-key ( unbind-key ) unbind-key [ unbind-key ] unbind-key '"' unbind-key '