Les utilisateurs réguliers du terminal sous Linux ont chacun leur éditeur de texte en ligne de commande préféré. Parmi les plus populaires : Nano, VI, VIM (VI Improved), Joe ou encore Emacs.
Chacun de ces éditeurs possède des qualités et/ou des défauts qui, à mon avis, sont comparables aux goûts et aux couleurs 😉 Inutile donc de troller là-dessus.
Lorsque vous lancez une commande d’édition d’un fichier ("crontab -e" par exemple) le fichier contenant les tâches sera automatiquement ouvert avec l'éditeur de fichier par défaut (celui-ci variant suivant la distribution Linux).
Personnellement, VI n'a jamais été ma tasse de ligne, je lui préfère Nano, plus ergonomique et logique d'utilisation sans avoir à retenir les commandes de tête... mais ce n'est que mon avis (au risque d'être lourd).
Pour un fichier en particulier
Ainsi pour changer l’éditeur par défaut appelé lors de l’ouverture d’un fichier, on utilise la commande suivante (ici un exemple avec l'édition du fichier crontab) :
EDITOR=nano crontab -e
Pour la session en cours
SI vous voulez changer l'éditeur pour toute la durée de la session (SSH ou localement) :
export VISUAL=/usr/bin/nano
Attention, pensez à modifier le chemin "/usr/bin/nano" par le votre s'il diffère. Pour le savoir :
whereis nano
Modifier définitivement l'éditeur par défaut
Si vous voulez définitivement modifier l'éditeur par défaut (à condition d'avoir installé nano [apt-get install nano] au préalable), il vous suffit d'éditer le fichier .bash_profile de l'utilisateur courant :
nano ~/.bash_profile
Ajoutez à la fin du fichier :
export VISUAL=/usr/bin/nano
Même remarque à propos du chemin de l'exécutable nano (voir ci-dessus).
Conclusion
Inutile de perdre du temps sur un éditeur que vous n'arrivez pas à manipuler correctement, adoptez votre petit préféré et vous en serez d'autant plus soulagé. Vous pouvez également activer le SFTP sur votre serveur, ce qui vous permettra d'accéder aux fichiers depuis une autre machine depuis Windows par exemple, avec l'éditeur Notepad++, PSPad, etc. au travers de FileZilla ou WinSCP.
Si vous utilisez des distributions Linux ou à noyau linux un peu exotiques (freeBSD, slackware, etc.) et que ces commandes ne sont pas applicables n'hésitez pas à le signaler et/ou partager les votres 😉
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
11 commentaires
which nano
est pas mieux que :
locate nano
?
enfin je dis ça, je dis rien 😉
Sur les debian / ubuntu, on peut régler le problème définitivement en utilisant le système "alternative" :
update-alternatives --config editor
@mini : c'était une erreur de ma part concernant locate, je voulais mettre "whereis" (c'est corrigé).
@skanx : oui j'ai vu cette commande sur le web mais j'avais que du RedHat et CentOS donc comme j'ai pas pu testé je l'ai pas mise (je n'aime pas publier des trucs qui ne sont pas sur de marcher ^^)
Merci pour le feedback amis linuxiens !
Bonjour,
FreeBSD n'est pas un noyau Linux, c'est un UNIX libre comme Linux peut l'être, mais la phylosophie est différente...
Sinon, update-alternatives est graphique, donc n'est jamais présent sur un serveur (qui doit avoir le MOINS de paquets possible, pour des raisons de sécurité, performance et de simplicité d'admin). Donc quelles sont vos préconisations en la matière ???
A+
Bonjour,
Il suffit de modifier les liens dans le répertoire :
/etc/alternatives
Exemple pour modifier l'éditeur par défaut par vim
ln -sfn /usr/bin/vim editor
Bonjour
Je cherche à savoir quelle est mon éditeur par défaut.
Je pensais le trouver avec la commande env ou export, ça n'as rien donné.
Si vous avez une idée. Merci d'avance.
@Jérôme : quelle distribution utilises-tu ?
La commande suivant fonctionne sur Debian et permet de définir l'éditeur par défaut, mais également d'afficher l'actuel :
@Highlander : merci pour l'astuce (j'avais raté ta réponse!)
Grand merci Mr Xhark. 😉
Je connaissais pas cette astuce. J'ai compris le truc, c'est bien pratique.
PS: Je suis sous Ubuntu.
bonsoir
je viens de faire une remarque... mais sur ubuntu 12.10 le script shell à modifier est ~/.bashrc