Je vois déjà les gens qui vont accueillir avec une certaine méfiance mon billet !

J'entends les « Editeur de texte performant et GNU nano dans la même phrase, y a maldonne ! »... Sauf que, par ce billet, j'apporte la preuve du contraire : GNU nano est sûrement le meilleur éditeur de texte au monde !

(attention lecteur, si tu lis ce billet jusqu'à sa fin - sans fermer l'onglet en criant des noms d'oiseaux - il y a une astuce et deux twix !)

                   :::                         The                   
iLE88Dj. :jD88888Dj:
.LGitE888D.f8GjjjL8888E; .d8888b. 888b 888 888 888
iE :8888Et. .G8888. d88P Y88b 8888b 888 888 888
;i E888, ,8888, 888 888 88888b 888 888 888
D888, :8888: 888 888Y88b 888 888 888
D888, :8888: 888 88888 888 Y88b888 888 888
D888, :8888: 888 888 888 Y88888 888 888
D888, :8888: Y88b d88P 888 Y8888 Y88b. .d88P
888W, :8888: "Y8888P88 888 Y888 "Y88888P"
W88W, :8888:
W88W: :8888: 88888b. 8888b. 88888b. .d88b.
DGGD: :8888: 888 "88b "88b 888 "88b d88""88b
:8888: 888 888 .d888888 888 888 888 888
:W888: 888 888 888 888 888 888 Y88..88P
:8888: 888 888 "Y888888 888 888 "Y88P"
E888i
tW88D Text Editor Homepage
Comme son nom ne l'indique pas, GNU nano est un projet GNU. Ça veut donc dire que l'installation en est très simple (comme pour tous les outils GNU) : si vous avez une distribution GNU/Linux qui se respecte, GNU nano est intégré dans votre système. Taper « nano » en ligne de commande suffira à lancer cet éditeur magique !
GNU nano se définit lui même comme :
 GNU nano is a free replacement for Pico, the default Pine editor. Pine is
 copyrighted under a restrictive licence, that makes it unsuitable for
 Debian's main section. GNU nano is an effort to provide a Pico-like
 editor, but also includes some features that were missing in the original,
 such as 'search and replace', 'goto line' or internationalization support.

Ça donne envie, non ? :)

GNU nano c'est tout simple à utiliser :
  • Pour sauvegarder un fichier : ^ O
  • Pour quitter : ^ X
  • Pour chercher : ^ W
  • Pour couper : ^ K
  • Pour coller : ^ U
  • Pour ouvrir un fichier : $ nano fichieraouvrir

Maintenant que vous connaissez mon admiration pour cet éditeur de texte qui sait être performant et basique, complet et léger... Vous allez mieux comprendre la suite !
Aujourd'hui, les fanboys de deux autres éditeurs de textes ont voulu lancer leur mode à eux. Je parle de elghinn et de calico.jeff qui ont lancés leurs salons ! C'est pourquoi il fallait absolument qu'une communauté naisse aussi pour promouvoir notre éditeur de texte préféré et pour assurer du support aux utilisateurs (novices ou confirmés).
C'est pourquoi j'ai créé le salon nano-fr@chat.jabberfr.org (c'est un salon Jabber que l'on peut aussi rejoindre via le ouèbe par là) ! (Edition du 29/10/2007, le salon avait été supprimé quelques semaines après sa création vu que de moins en moins de gens venaient, un nouveau salon a été créé par quelqu'un d'autre mais il n'a aucun rapport avec ce billet)
Le salon de la communauté francophone des utilisateurs de GNU nano est donc dédié à l'aide, à la promotion du logiciel ainsi qu'à la tenue de « sessions de formation » concernant GNU nano (même si cela n'est qu'une idée pour le moment).

Si vous vous sentez l'ame d'un hackeur (un vrai et tout, celui qui bosse sur le kernel) ou d'un simple administrateur système, GNU nano est fait pour vous ! Rejoignez notre communautré francophone sur notre salon Jabber !

Voilà l'astuce :)
De plus GNU nano intègre beaucoup de fonctions pourtant méconnues depuis sa dernière version, et notemment : la coloration syntaxique !
Voilà d'ailleurs de quoi remplir votre ~/.nanorc :

syntax "php" "\.php[2345s~]?$"
color brightblue "(.*)\("
color blue "\$[a-zA-Z_0-9$]*|[=!<>]"
color green "(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|@|while)\s"
color green "[.,{}();]"
color red "('.*')|(\".*\")"
color brightgreen "(#.*|//.*)$"
color brightgreen start="/\*" end="\*/"
color brightblue "(<\?(php)?|\?>)"
color white start="\?>" end="<\?(php)?"

syntax "python" "\.py$"
color brightblue "def [a-zA-Z_0-9]+"
color brightcyan  "(and|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|map|not|or|pass|print|raise|return|try|while)\s"
color brightgreen "([\"']).*?[^\\]\1"
color brightgreen start="\"\"\"" end="\"\"\""
color brightred "#.*$"

syntax "HTML" "\.html$"
color blue start="<" end=">"
color red "&[^; ]*;"

syntax "patch" "\.(patch|diff)$"
color brightgreen "^\+.*"
color green "^\+\+\+.*"
color brightblue "^ .*"
color brightred "^-.*"
color red "^---.*"
color brightyellow "^@@.*"
color magenta "^diff.*"

syntax "makefile" "^Makefile\.?"
color red "[:=]"
color magenta "\<(if|ifeq|else|endif)\>"
color blue "\$\{.*}"
color brightblue "\w+:"
color green "#.*$"


Grâce à ça, à vous la coloration syntaxique de PHP, Python, HTML, Patch et Makefile ! C'est y pas super ? [source] (merci à Eni - un administrateur du salon emacs - de m'avoir montré un tuto vers la seule vraie fonction pratique de GNU nano) (je me moque, mais qu'est ce que c'est pratique, GNU nano)

A tout de suite sur le salon ! \o/
:-)