Rajouter la coloration syntaxique à nano
Par Korben le 10 août 2008

J’ai depuis toujours plutôt tendance à utiliser nano que VI sous Linux… Nano comme VI sont des éditeur de texte en ligne de commande qui sont indispensables à tous les rois du shell :o)
Seul hic avec nano, c’est qu’il n’y a pas par défaut la coloration syntaxique. Mais voici une petite astuce pour mettre cela en place.
Il se cache en effet dans le répertoire /usr/share/nano , un tas de petits fichiers de paramètres pour la coloration syntaxique de langages comme C++, Perl, Python, Java…etc (je vous laisse aller voir)
Mais pour activer tout ça, vous devez créer un fichier .nanorc (qui est un fichier caché de config) dans votre répertoire personnel (/~ ou /home/korben par exemple)
A l’intérieur de ce fichier .nanorc (fichier texte standard), il vous suffira ensuite de faire appel à ces fichiers de paramètrage en y insérant les lignes de commande suivantes :
## Nanorc files include "/usr/share/nano/nanorc.nanorc" ## C/C++ include "/usr/share/nano/c.nanorc" ## HTML include "/usr/share/nano/html.nanorc" ## TeX include "/usr/share/nano/tex.nanorc" ## Quoted emails (under e.g. mutt) include "/usr/share/nano/mutt.nanorc" ## Patch files include "/usr/share/nano/patch.nanorc" ## Manpages include "/usr/share/nano/man.nanorc" ## Groff include "/usr/share/nano/groff.nanorc" ## Perl include "/usr/share/nano/perl.nanorc" ## Python include "/usr/share/nano/python.nanorc" ## Ruby include "/usr/share/nano/ruby.nanorc" ## Java include "/usr/share/nano/java.nanorc" ## Assembler include "/usr/share/nano/asm.nanorc" ## Bourne shell scripts include "/usr/share/nano/sh.nanorc" ## POV-Ray include "/usr/share/nano/pov.nanorc"
Sauvegardez et le tour est joué ! Ouvrez par exemple un fichier .c (code source en C) et admirez la jolie coloration syntaxique de fou
Dernier petit point. Il manque dans ces fichiers par défaut (/usr/share/nano) les colorations pour les fichiers .ini, les fichiers de sources.list (pour synaptic), le fichier Xorg.conf, les CSS, les PHP, le XML et les .conf qu’on rencontre un peu partout.
Par cool car évidement, je ne sais pas pour vous mais le PHP, le CSS et le XML, c’est ce dont je me sers le plus. On va donc mettre ça en place. Téléchargez les fichiers de paramètres nano customisés et après les avoir décompressé, placez les dans le répertoire /usr/share/nano/ (en étant root ou sudo).
Rajoutez ensuite les lignes suivantes à votre fichier de config .nanorc (dans votre répertoire home) et le tour sera joué !
## Sources.list include "/usr/share/nano/sourceslist.nanorc" ## Config Files (.ini) include "/usr/share/nano/ini.nanorc" ## Xorg.conf include "/usr/share/nano/xorg.nanorc" ## CSS include "/usr/share/nano/css.nanorc" ## XML include "/usr/share/nano/xml.nanorc" ## Generic .conf include "/usr/share/nano/conf.nanorc" ## PHP include "/usr/share/nano/php.nanorc"
Amusez vous bien !
Je vous recommande aussi la lecture des sujets suivants
- Installer Vmware 6.x sur un kernel 2.6.24.x
- Supprimer en ligne de commande sous linux de manière non définitive ! Yeah !
- Comment rendre un système instable et se protéger des bombes fork
- Lancer 2 sessions X avec Ubuntu
- Les mementos des développeurs






tuxien
Merci bien pour cette info faut que je rajoute ca a mon pense bete
Posté le 10 août 2008 à 09:31:56
AbriCoCotier
Nano ? Jamais entendu parler.
Je suis et reste sur Gedit : il me rapelle le bon vieux Notepad++ que j’utilisais sous Windows.
Pour la programmation : Emacs fait des merveilles (pour les incultes : Emacs a été codé par Stallman lui-même).
Posté le 10 août 2008 à 10:02:32
Korben
@AbriCoCotier: gedit, ça ne fonctionne qu’avec un environnement X, alors que nano, c’est comme vi, ça tourne en ligne de commandes
Posté le 10 août 2008 à 10:53:23
stakhanov
Géniale l’astuce !! Merci pour l’info Korben !!
Posté le 10 août 2008 à 11:59:19
toto
Petite précision pour les Archlinuxiens dont je fais partie : le .nanorc ne fonctionne pas, pour cause que y’a déja un /etc/nanorc avec les include “de base” (c, java, sh etc) commentés, donc juste a décommenter et le tour est joué :p
(quoique les 2 marchent en fait O_o)
Posté le 10 août 2008 à 13:16:07
1ace
merci Tonton
juste un détail: tu peux donner la ligne de commande à copier-coller, pour les flémards (à lancer en root évidement):
@AbriCoCotier: j’utilise Notepad++ quand je suis sous X
http://notepad-plus.sourceforge.net/uk/nppLinux.php
Posté le 10 août 2008 à 13:28:13
AbriCoCotier
@1ace : J’ai regardé ton lien : pour installer Notepad++ il faut passer par Wine. Et ça, jamais ! (je ne suis pas contre Wine, mais à chaque fois que j’ai voulu l’installer, j’ai toujours mis la zone sur mon PC… donc maintenant, je suis très méfiant).
Posté le 10 août 2008 à 21:52:27
facochere
ça le fait bien !
par contre il semble y avoir un problème avec les regexp concernant les sourceslist, je suis pas trop pote avec les regexp, quelqu’un a une idée ?
Error in /usr/share/nano/sourceslist.nanorc on line 4: Bad regex “^deb(-src)? ((http|file|ftp):/[^ ]+|cdrom:[[^]]+]/|cdrom:[[a-zA-Z0-9._-() ]+]/) [^ ]+ .+$)”: Invalid range end
Error in /usr/share/nano/sourceslist.nanorc on line 6: Bad regex “^deb(-src)? ((http|file|ftp):/[^ ]+|cdrom:[[^]]+]/|cdrom:[[a-zA-Z0-9._-() ]+]/) [^ ]+”: Invalid range end
Error in /usr/share/nano/sourceslist.nanorc on line 11: Bad regex “cdrom:[[a-zA-Z0-9._-() ]+]/”: Invalid range end
Posté le 11 août 2008 à 10:32:05
Kevin Campion
Bonjour,
Le fichier xml.nanorc pose problème : Error in /private/etc/nano-supplement/xml.nanorc on line 19: Bad regex “”: repetition-operator operand invalid
Si vous avez le même problème, il suffit juste d’ajouter un “\” à la ligne 19 entre le “+” et le “?” :
color brightred “<\?.+\?>”
Posté le 11 août 2008 à 10:57:56
Di@blo
Merci bien ! Très utile.
Posté le 14 août 2008 à 20:40:07