Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 29 décembre 2017

Choisir l'editeur pour éditer le crontab utilisateur

Sous Linux, le crontab utilisateur se modifie par la commande:

crontab -e

S'ouvre alors l'éditeur du système avec les définitions actuelles du crontab. Par défaut, cet éditeur est vi ou nano mais on peut modifier ce comportement en positionnant la variable EDITOR ou VISUAL.

Si la variable VISUALest positionnée, sa valeur est prise en compte, sinon la commande crontab utilise la valeur de la variable EDITOR.

Pour ce convaincre de ce fonctionnement sans altérer son système, on pourra tester la commande suivante:

EDITOR=vi crontab -e

qui lancera alors vi pour modifier le crontab sans pour autant modifier la variable d'environnement EDITOR du système.

La commande:

VISUAL=vi crontab -e

produirait elle aussi le même résultat.

En revanche:

EDITOR=vi VISUAL=nano crontab -e

lancera alors nano puisque la variable VISUAL est prioritaire sur EDITOR.

Enfin, n'essayez pas de positionner l'une des variables précédentes vers l'éditeur Sublime Text, car curieusement cela ne fonctionne pas !

samedi 16 janvier 2016

Configurer la librairie readline pour un bash sur mesure

Bash utilise une librairie nommée readline pour parser l'entrée utilisateur.

Cette librairie readline développée par la projet GNU est paramétrable à l'envie via un fichier spécifié par la variable d'environnement INPUTRC. En l'absence de cette variable, c'est le fichier ~/.inputrc qui est lu.

Par exemple, pour supprimer le bip énervant lorsque l'on appuie sur la touche TAB, il suffit d'ajouter dans le fichier ~/.inputrc:

set bell-style none

Si on veut maintenant que la complétion sur les noms de fichiers soit insensible à la casse, il faut ajouter:

set completion-ignore-case on

Si ensuite on souhaite que la complétion fasse plus que proposer les choix possibles mais sélectionne d'emblée la première possibilité et que chaque appui sur TAB prenne en compte le choix possible suivant, il faut utiliser la complétion à la "mode vim":

TAB: menu-complete
set show-all-if-ambiguous on

On peut également changer les valeurs de editingmode et de keymap pour ne plus avoir les raccourcis de emacs par défaut (Ctrl-R, Ctrl-S, Ctrl-A, Ctrl-E ...) mais ceux de vi à la place.

Pour une liste exhaustive des options du fichier de configuration de readline, on pourra consulter la man page correspondante.