16 févr. 2009

Emacs

En cours Systeme, le prof nous oblige à utiliser Emacs, un logiciel tristement célèbre chez les non initiés, pour son utilisation ...euh, différente.
Oui c'est un éditeur de texte, mais pas seulement !

J'en suis encore au début, et j'ai du m'imprimer le manuel pour me rappeler les raccourci clavier, car tout fonctionne avec des raccourcis clavier. Pour ma part je viens de l'adopter, et même si l'apprentissage va être long, je sens qu'Emacs et moi, on va bien s'entendre.

J'ai installé la version pour ma Ubuntu grâce à la commande:

sudo apt-get update
sudo apt-get install emacs


Normalement tout s'installe et satisfait les dépendances. On le lance directement avec un ALT-F2 et on tape emacs.

Alors qu'en est t'il d'Emacs ?
Ben pour tout vous avouer j'écris cet article à partir d'Emacs lui même, avec mon memento scotché au mur à droite (non vous n'aurrez pas de screenshot, j'ai trop honte).
A l'ouverture, déjà, on a droit à une fenetre ou l'on pense que l'on pourra écrire, hélas, il faut d'abord enregistrer le buffer courant dans une fichier. En fait la philosophie d'Emacs est semblable au paradigme fonctionnelle qui dit qu'une fonction (dans notre cas l'application Emacs) ne modifie pas ce qu'on lui donne, mais produit dans un autre fichier, d'ou l'utilisation d'un "buffer" ou tampon, qui serra notre fichier virtuel en mémoire, jusqu'à ce qu'on le sauvegarde (et que ca foute en l'air tout mon discours lol).

Pour vous donner un exemple d'utilisation pour vous écrire cet article, j'ai dû:
  1. quand Emacs est lancé, je fais Ctrl+x puis Ctrl+f qui va m'ouvrir un fichier dont je fournirais le chemin d'accès, si le fichier n'existe pas, il est crée.
  2. quand le fichier est sauvegardé (crée), il m'ouvre un buffer qui me permettra de taper cet article.
  3. de temps à autre, je sauvegarde avec un Ctrl+x puis Ctrl+s
  4. pour quitter, je fais un Ctrl+x puis Ctrl+c
Evidement ca parrait un peu compliqué mais on se rend compte que pour faire tel ou telle "action", Ctrl+x est le couple qui sert à effectuer une action relative à ce que l'on fait avec la souris, dans l'onglet Fichier par exemple.

La grande particularité aussi sur laquelle j'ai failli passer, est le fait que l'on peut ouvrir deux ou plusieurs fichiers dans plusieurs tampons différents. Dans ce cas la j'utiliserais Ctrl+o pour switcher entre les différents buffer visibles.

Emacs dispose d'un mini navigateur de fichiers (mode Dired), on peut évidement copier/coller des fichiers ou l'on veut, faire des liens dur ou symboliques, comparer des fichiers entre eux (comme le ferrait un serveur svn), "flagger" des fichiers pour appliquer sur eux une fonction F quelconque (rename, copy, move etc...) on peut analyser un fichier pour voir ce qu'il y a dedans sans avoir a l'ouvrir.

Ce que je trouve très bien dans cet application, ce qui m'as absolument bluffé est que Emacs fait bien plus que de faire le dactylo, il peut vous servir à envoyer des mails, vous connecter sur internet, programmer en Lisp (ben voyons lol), il permet la reconnaissance syntaxique de plusieurs langages de programmation, permet avec certains petits hack la compilation de programmes,il peut fonctionner avec Mapple, bref on peut presque tout faire avec !

Finalement quand on sait bien l'utiliser, on se rend compte que la souris fait perdre beaucoup de temps pour taper du texte :s. Manquerais plus que je trouve un client Jabber // 5 minutes plus tard, bon ok j'ai ouvert ma bouche plus tôt, y'a bien quelques client Jabber lol.

Je vous met un lien vers le manuel, intérressant pour au moins comprendre comment ca fonctionne si on le lit un peu en diagonale, et indispensable si l'on veut apprendre les raccourcis clavier que vous utiliserez pour améliorer votre rendement lol, et pourquoi pas, vous vous rendrez compte à quel point vos petits doigts peuvent être souple ;-)

lien manuel: http://www.gnu.org/software/emacs/manual/emacs.html
lien cli jabber: http://www.emacswiki.org/emacs/JabberEl
lien Dired: http://www.gnu.org/software/emacs/manual/dired-x.html

2 commentaires:

Anonyme a dit…

C'est une belle histoire qui commence là ;) Pour ma part, j'ai découvert emacs il y a 3 ans, et j'en ai fait mon environnement de dev ruby on rail avec rinari...

Quelques liens utiles:

emacs-starter-kit
emacs-snapshot
Rinari: Ruby on Rails Minor Mode for Emacs


J'espère lire la suite de tes aventures sous emacs ;)

milkyboi a dit…

merci beaucoup pour les liens ca aide :)