Vous savez maintenant utiliser nano. Comme vous avez pu le voir, ce n'est pas très compliqué. Il suffit d'apprendre un peu les raccourcis clavier les plus utiles, et on peut rapidement s'en servir.
Justement... si on utilisait nano pour quelque chose d'utile ? Non parce que bon, le fichier "salut.txt" c'est mignon, mais ça va pas nous faire avancer
Alors pour l'occasion, je me suis dit que j'allais vous faire éditer quelques fichiers de configuration. Par exemple, il existe un fichier de configuration de nano qui indique toutes vos préférences. Celui-ci s'appelle ".nanorc".
Pourquoi .nanorc ?
La plupart des fichiers de configuration commencent par un point. Cela permet de "cacher" le fichier quand on fait un "ls". Bien entendu, comme vous devriez le savoir maintenant, les fichiers cachés peuvent toujours être affichés en utilisant le paramètre -a :
ls -a.
Chaque utilisateur de la machine peut créer son propre fichier de configuration .nanorc dans son répertoire personnel (home). Chez moi, ce fichier doit être placé à la position : /home/mateo21/.nanorc. Ce fichier est
lu par nano à chaque fois que vous le démarrez.
Je viens de regarder la liste des fichiers de mon home, mais même en incluant les fichiers cachés avec -a je ne vois pas de fichier appelé .nanorc !
En effet, il se peut que ce fichier n'existe pas chez vous. Si le fichier .nanorc n'existe pas, nano sera chargé avec les options par défaut.
Code : Console | mateo21@mateo21-desktop:~$ ls -a
. .gimp-2.4 .nautilus
.. .gksu.lock nautilus-debug-log.txt
.armagetron .gnome .openoffice.org2
.armagetronad .gnome2 .pgadmin3
.assistant .gnome2_private .pgpass
.bash_history .gnome_private .profile
.bash_logout .gstreamer-0.10 Public
.bashrc .gtk-bookmarks .purple
.blender .gtkrc-1.2-gnome2 .putty
.cache .gweled .qt
.config .ICEauthority .recently-used
.DCOPserver_mateo21-desktop__0 .icons .recently-used.xbel
.DCOPserver_mateo21-desktop_:0 images salut.txt
.designer Images .ssh
Desktop .inkscape .sudo_as_admin_successful
.dmrc .java .themes
Documents .jedit .thumbnails
.emilia .kde .Trash
.esd_auth .lesshst .tsclient
.evolution .lgames tutos
Examples .local .update-manager-core
.face log .update-notifier
.fbrc .macromedia Vidéos
.filezilla .mcop .vlc
.fontconfig .mcoprc .w3m
.gaim .metacity .wine
.gconf Modèles .wormux
.gconfd .mozilla .Xauthority
.geany .mozilla-thunderbird .xine
.gimp-2.2 Musique .xsession-errors |
Comme vous pouvez le voir, il n'y a pas de .nanorc chez moi !
Création du .nanorc
Pas de .nanorc ? Pas de problème, il suffit de le créer. On peut par exemple faire :
Code : Console
Cette commande ouvre nano. Comme le fichier .nanorc n'existe pas, un document vide est ouvert. Le fichier .nanorc sera créé lorsque vous enregistrerez.
Un .nanorc neuf (et vide)
Notez que le nom du fichier est déjà indiqué en haut de l'écran
Dans ce fichier, vous devez écrire une commande par ligne.
Chaque commande commence par un
set (pour activer) ou un
unset (pour désactiver) suivi de l'option qui vous intéresse.
Par exemple, pour activer la souris, écrivez :
Code : Console
Ainsi, à chaque fois nano sera chargé avec la prise en charge de la souris. Vous n'aurez pas besoin de réécrire systématiquement le paramètre -m qu'on a vu tout à l'heure
On peut faire de même pour éviter d'avoir à réécrire les paramètres -i et -A à chaque fois avec d'autres séries de set. Au final, on écrira ceci :
Code : Console | set mouse
set autoindent
set smarthome |
Enregistrez le fichier avec Ctrl + O. Le nom du fichier est automatiquement écrit pour vous (car on l'a donné en paramètre en ouvrant nano) :
Vous pouvez ensuite faire Ctrl + X pour quitter nano.
Je vous rappelle que pour que ces options soient prises en compte, il faut démarrer une nouvelle session de nano (c'est pour ça que la souris n'a pas automatiquement marché dès que vous avez enregistré le fichier).
Si vous relancez nano ensuite, vous pouvez constater que la souris fonctionne, et que les options d'indentation automatique et de retour à la ligne intelligent fonctionnent elles aussi
Le nanorc global et la coloration syntaxique
Ce fichier .nanorc dans votre home est très pratique, car il vous permet de définir vos propres options. Mais si vous avez 10 utilisateurs sur votre machine et que vous voulez activer le support de la souris pour tout le monde, vous n'allez quand même pas créer 10 fichiers .nanorc pour chacun !
Il existe un fichier nanorc "global" qui est pris en compte pour tout le monde. Celui-ci est situé dans
/etc/nanorc (attention il n'y a pas de point devant cette fois).
Ce fichier ne peut être modifié que par root. Je vous conseille donc de l'ouvrir avec un
sudo (ou dans une console en root si vous avez fait
sudo su avant) :
Code : Console
Normalement, ce fichier existe déjà. Comme vous pouvez le constater, il est bien rempli :
Il sert en fait de fichier d'exemple. Toutes les options disponibles dans un nanorc sont présentes, mais elles sont précédées d'un # qui signifie qu'il s'agit d'un commentaire. Les commentaires sont ignorés par nano.
Le début du fichier vous explique (en anglais) que c'est un fichier d'initialisation d'exemple de nano.
Après le petit blabla d'introduction, vous avez la liste des options disponibles. Toutes sont commentées.
La première est autoindent.
Code : Console
Supprimez juste le # pour décommenter la ligne et donc pour activer l'indentation automatique pour tous les utilisateurs.
Code : Console
Vous pouvez parcourir le fichier à la recherche d'options intéressantes que vous voulez activer.
Vers la fin, vous verrez une section appelée "color setup", qui commence par ces lignes-là :
Code : Console | ## Nanorc files
# include "/usr/share/nano/nanorc.nanorc"
## C/C++
# include "/usr/share/nano/c.nanorc"
## HTML
# include "/usr/share/nano/html.nanorc" |
Je vous invite à décommenter toutes les lignes d'include. Cela permettra d'activer la coloration "intelligente" de vos fichiers selon leur type. Vous pourrez ainsi avoir des fichiers HTML colorés, des fichiers C colorés, des fichiers nanorc colorés, etc.
Enregistrez le fichier, puis quittez nano.
Si vous avez une erreur à l'enregistrement, cela signifie que vous n'avez pas ouvert le fichier en root. Seul root a le droit de modifier ce fichier. Fermez nano et relancez-le avec un sudo cette fois.
Relancez nano en ouvrant par exemple un fichier HTML :
Les fichiers HTML sont maintenant automatiquement colorés
Les balises sont en bleu, le texte dans la couleur par défaut (en vert chez moi).
Même le fichier /etc/nanorc est maintenant coloré de manière intelligente :
Une coloration spéciale... pour les fichiers nanorc !
Nano se base sur l'extension du fichier pour activer la coloration syntaxique spéciale pour ce type de fichier.
Bon, honnêtement la coloration de nano n'est pas très performante (comparée à celle de "vi" par exemple), mais on s'en contentera pour le moment
Personnaliser la coloration syntaxique
Vous pouvez, si vous le désirez, modifier les couleurs de la coloration syntaxique.
Rendez-vous dans le dossier /usr/share/nano. Vous y trouverez plusieurs fichiers nanorc, un par langage.
Vous pouvez par exemple ouvrir celui du langage HTML et l'éditer (attention il faut être root là encore).
La première ligne, qui commence par "syntax", indique les extensions de fichiers qui déclencheront la coloration HTML. Pour ma part j'ai défini "html", "htm" et "tpl". Vous pouvez en ajouter si vous le désirez, il suffit de séparer chaque extension par une barre verticale "|" (Alt Gr + 6 sur un clavier français).
Ensuite... Il faut savoir utiliser les expressions régulières pour paramétrer les éléments que vous voulez colorer. Je ne vais pas vous faire un cours là-dessus ici, ce serait un peu long

J'en ai parlé dans le
tuto PHP pour ceux que ça intéresse.
Pour les couleurs, vous pouvez indiquer des noms de couleur en anglais : red, blue, green, black, white... Vous pouvez rajouter le mot "bright" devant pour utiliser une couleur plus claire : "brightgreen" signifie donc "vert clair".
Voilà, avec ça vous pouvez déjà commencer à personnaliser un peu mieux votre nano !
