GNU/Emacs
C’est quoi Emacs ?
Emacs, ou Editor MACroS, développé par Richard Stallman depuis 1984 est l’éditeur de texte du projet GNU ; « Incarnation GNU de l’éditeur plein écran avancé, auto-documenté, personnalisable et extensible qu’est Emacs »
c’est un éditeur de texte très puissant fait PAR des programmeurs POUR des programmeurs.
Bien que d’apparence austère et d’une première approche plutôt ardue, après quelques heures, Emacs peut servir d’environnement de développement pour beaucoup de langages (C/C++, Java, Python... et même LaTeX avec l’extention auctex, html…), de navigateur internet, de client mail, de client irc, de psychanalyste… on se rend ainsi compte de sa puissance, de sa souplesse et de la variété d’opération qu’il permet de faire (à peu près tout ce que l’on peut faire avec un ordinateur peut être fait dans Emacs).
Comment ça s’installe ?
Le cas le plus simple est sous linux = il est généralement déjà installé ;)
Si ce n’est pas le cas, sous debian, un simple "apt-get install emacs" vous installera la bête.
Mais sous windows, c’est plus compliqué.
Il vous faut déjà récupérer le binaire dans [http://ftp.gnu.org/gnu/windows/emacs/].
Prenez la version fullbin, elle contient tout ce qu’il vous faut, puis dezippez là dans un répertoire (par exemple c :\emacs).
Puis, il va falloir définir votre répertoire home, pour cela deux solutions :
– soit créer une variable d’environnement HOME, pointant vers un répertoire à vous,
– soit créer sous regedit une clef HOME sous HKEY_LOCAL_MACHINE\SOFTWARE\GNU\emacs
et qui aura comme valeur votre répertoire home voulu.
Ensuite, contrairement à Linux, la configuration par défaut est pas terrible, aussi il va donc falloir, dans votre répertoire HOME, créer un fichier _emacs, puis reportez-vous à lárticle sur la configuration : dot Emacs
Euuhhhh, c’est quoi la différence entre Emacs et XEmacs ?
Il y a quelques années, il n’y avait qu’une seule version d’Emacs, celle créé par la FSF, aussi appelée GNU/Emacs.
Un entreprise du nom de Lucid éditait un environnement de développement, et Emacs était leur éditeur. Comme certaines choses dans emacs ne leurs convenaient pas, ils ont voulu faire des évolutions. Mais comme il y avait une différence de points de vue entre les gens de lucid et les gens de la FSF, lucid à décider de forker Emacs et de développer leur propre version.
Quelques années plus tard, lorsque Lucid déposa le bilan, ce travail ne fut pas perdu et Lucid Emacs devint XEmacs.
Les deux logiciels sont assez proches, bien qu’il y ait quelques différences de comportement.
Premiers pas sous emacs, et quelques commandes de base
Premier réflexe, taper du texte sous Emacs, et après quelques instants, on se rend compte que les racourcis claviers windows ne fonctionnent pas. Control-c Control-v, ça marche pas terrible. Voici donc quelques commandes de bases qui permetteront à l’utilisateur de faire le minimum vital :
Ah, juste un truc, C- signifie contrôle et M- méta. Si la touche contrôle tous le monde la voit, la touche méta c’est plus dur. Elle est généralement accessible en maintenant la touche Alt enfoncée, ou en tapant une fois sur Esc.
Une dernière remarque, lorsque l’on demande une information à taper (nom d’une commande, d’un fichier, etc...), la touche tab permet la complétion automatique.
– Suspendre / iconifier : C-z
– Quitter définitivement : C-x C-c
Déplacements
– C-b | C-f
: caractère précédent | suivant
– M-b | M-f
: mot précédent | suivant
– C-p | C-n
: ligne précédente | suivante
– C-a | C-e
: début | fin de ligne
– C-v | M-v
: page suivante | précédente
Annuler
– Pour annuler la commande en cours : C-g
ou Esc Esc Esc
– Undo : C-_
ou C-x u
– Rappel de(s) dernière(s) commande(s) : C-x Esc Esc
Opérations fichiers
– C-x C-f
: ouvrir un fichier
– C-x C-s
: sauvegarder le fichier sous son nom courant
– C-x s
: sauvegarde tous les fichiers
– C-x C-w
: sauvegarder le fichier sous un nouveau nom
– C-x k
: fermer le fichier courant
– C-x b
: passer au fichier ouvert suivant
– C-x C-b
: afficher la liste des fichiers ouverts
Gestion des vues
Les vues sous la séparation de l’interface d’Emacs en plusieurs fenêtres, chaque fenêtre affichant indépendament un buffer, pouvant contenir un fichier ou autre chose.
– C-x 2
: ouvrir une nouvelle vue (separation horizontale)
– C-x 3
: ouvrir une nouvelle vue (separation verticale)
– C-x 1
: la vue courante prend tout l’espace
– C-x 0
: la vue courante prend en plus l’espace de la vue avec laquelle elle partage l’espace (c’est plus clair en le testant)
– C-x o
: passer à la vue suivante
– C-l
: centrer la vue sur le curseur
Copier / Couper / Coller
La gestion du copier/coller sous emacs est particulière, puisqu’en fait on marque un début de zone, et la commande permettant de marquer la fin de zone permet en plus de décider si on coupe ou si on copie.
De plus, une fois copier, le texte est mis dans une pile, ou on garde tous les éléments copiés. Donc rien n’empêche de copier plusieurs texte de suite et d’aller seulement ensuite les coller.
– C-Space
ou C-@
: début de zone
– M-w | C-w
: copier | couper
– C-y
: coller la tête de pile, puis M-y
boucle sur la pile
– C-k
: couper jusqu’à la fin de la ligne et la mettre dans la pile
La recherche
Sous Emacs, la recherche est incrémentale, c’est à dire que la recherche à lieu pendant que l’on tape. A noter que tant que l’on tape en minuscule, la recherche n’est pas sensible à la casse, et le devient lorsque l’on met au moins une majuscule.
– C-s
: lancer la recherche en avant
– C-r
: lancer la recherche en arrière
– C-w
: completer la recherche avec le mot courant
– Backspace
: retrourner à l’élément trouvé précédent
On continue à utiliser C-s
et/ou C-r
pour passer à l’occurence suivante ou précédente.
– M-x grep-find
: pour rechercher une expression dans tous les fichiers du répertoire courant
– C-M-n | C-M-p
: aller à la fin | début de la parenthèse
Remplacements
– M-%
: remplace interactivement du texte
Les actions possibles sont :
– Space
: remplace l’occurence courante et passe à la suivante
– Del
: ignore l’occurence courante et passe à la suivante
– !
: remplace toutes les occurences suivantes
– ^
: retourne à l’occurence précédente
– Esc
: stoppe le remplacement interactif
Formatage
Dépendant du mode courant :
– Tab
: indente la ligne courante
– C-M-\
: indente la région courante
Shells
– M-!
: exécute une commande shell
– M-x shell
: ouvre un shell dans un buffer *shell*
Aide
– C-h t
: affiche le tutorial d’Emacs
– C-h F
: affiche la faq au format info
– C-h i
: affiche l’aide d’Emacs au format info
Le mode commande
En fait Emacs est un interprêteur LISP préconfiguré sous forme d’éditeur. Et toutes ses commandes (approximativement 2000) sont accessibles par une ligne de commande, accessible en tapant M-x.
De plus Emacs peut être étendue via des scripts LISP...