[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Ceci est une ancienne révision du document !


Emacs

Qu'est ce qu'Emacs ?

vi et ses clones sont des éditeurs très puissants et pratiques. Toutefois, ils ne sont pas souvent considérés comme extensibles. vim est une variante fructueuse et puissante de vi qui contredit cette tendance, en étant très extensible et léger. Cependant beaucoup d'utilisateurs préfèrent des éditeurs plus “lourds” et personnalisables. C'est pourquoi de nombreuses personnes (incluant l'auteur de ce chapitre 1)) préfèrent Emacs.

Sur une échelle de dix, Emacs peut aller jusqu'à onze en terme d'extensibilité. Au-delà d'un noyau en C, le reste d'Emacs est écrit dans une variante de Lisp, dont la plupart est directement visible, de façon à pouvoir le configurer ou l'étendre à volonté (beaucoup de bons tutoriels pour Emacs Lisp sont disponibles sur Internet). Toutes sortes d'extensions ont été écrites en Emacs Lisp, depuis la coloration syntaxique pour un langage obscur, jusqu'à un terminal intégré. De fait, il y a même une émulation de vi dans Emacs (nommé viper) ; vous pouvez donc toujours accéder au mode d'édition de vi, tout en utilisant la puissance du noyau d'Emacs.

Comme pour vi, il existe beaucoup de variantes d'Emacs (nommés “emacsen”). Toutefois, le plus souvent utilisé (et le seul disponible sous Slackware) est GNU Emacs. Lorsque des personnes parlent d'“Emacs”, ils sous-entendent généralement GNU Emacs.

Au contraire de vi, Emacs opère comme un éditeur standard par défaut. Cela signifie que la plupart des raccourcis clavier peuvent être utilisés sans changer de mode. Vous pouvez ouvrir un fichier et commencer à saisir du texte sans avoir à apprendre ce que fait tel ou tel mode, ou en ayant oublié celui que vous êtes en train d'utiliser.

Pour démarrer

Emacs peut-être lancé simplement en saisissant la commande emacs dans votre terminal. Lorsque vous lancez la commande sans aucune option, vous devriez obtenir quelque chose comme ceci :

Starting Out

Si vous utilisez X windows, Emacs peut lancer une interface graphique (GUI) au lieu de s'exécuter dans votre terminal. Si c'est le cas et que vous ne voulez pas d'interface, vous pouvez le lancer avec l'option '-nw'.

À ce point, vous pouvez explorer en utilisant les touches fléchées de votre clavier. Les éléments soulignés sont des liens et vous pouvez les activer en utilisant la touche Entrée. La documentation intégrée est très bonne et peut vous aider a comprendre les rouages sans trop de difficultés. Veuillez noter que les combinaisons de touches telles que Ctrl+H indiquent de presser la touche h tout en maintenant la touche CTRL appuyée. Même chose avec M-`, qui signifie de maintenir la touche Meta key (généralement Alt) en appuyant sur la touche `.

Par exemple, Ctrl+X Ctrl+C signifie d'appuyer sur la touche x tout en maintenant la touche CTRL, puis d'appuyer sur la touche x en maintenant la touche CTRL. Par ailleurs cette commande est une des plus importantes d'Emacs, elle permet de qutter le logiciel.

Vous pouvez également lancer emacs suivi d'un nom de fichier en option, ce qui ouvrira ce fichier, tout comme le fait vi. De cette manière, vous aurez accès au contenu du fichier en question. Vous pouvez naviguer dans le document en utilisant les touches fléchées habituelles et saisir du texte sans aucun souci.

Admettons que vous ayez fait quelques modifications et que vous voulez maintenant sauvegarder votre fichier. La combinaison de touches pour cela est Ctrl+XCtrl+S. Si vous avez créé un nouveau fichier, une confirmation vous sera demandée pour sauvegarder le contenu de ce qui est appelé un “micro-tampon” (“minibuffer”) ; une ligne vide sera affichée sous la ligne grise en bas de l'écran. Entrez le nom de fichier de votre choix et appuyez sur Entrée. Si vous ne souhaitez pas sauvegarder le fichier vous pouvez appuyer sur Ctrl+G, ce qui annule la demande de sauvegarde. Notez que l'auto-complétion avec la touche tabulation est le plus souvent disponible pour les opérations avec le “micro-tampon”.

Si vous souhaitez ouvrir un nouveau fichier dans la même session d'Emacs, tapez Ctrl+XCtrl+F. Vous devrez indiquer le nom d'un fichier dans le “micro-tampon”. Emacs ne vérifie pas si le fichier existe ou non. S'il n'existe pas un nouveau tampon sera crée pour lui (le fichier sera crée lors de la première sauvegarde avec Ctrl+XCtrl+S), ou il sera ouvert comme convenu. Toutefois, l'ancien fichier sera toujours ouvert ! Vous pouvez basculez de l'un à l'autre en utilisant Ctrl+XCtrl+B, en indiquant le nom du fichier (ou plus précisement, le nom du tampon), et en appuyant sur la touche Entrée.

Comment se déplacer

Tout comme vi, Emacs est plus ancien que l'existence des touches fléchées sur votre clavier. Tout comme vi, l'utilisation des touches fléchées est possible. Alors que les touches de déplacement de vi sont plus érgonomiques, celles d'emacs sont plus “mnémonique”. Cependant, il est toujours possible d'utiliser les principaux raccourcis clavier d'Emacs de manière rapide et efficace. Voici un tableau des principales combinaisons pour se déplacer :

Déplacement du curseur avec Emacs

CommandeResultat
Ctrl+FDéplace le curseur d'un caractère vers la droite (en avant)
Ctrl+BDéplace le curseur d'un caractère vers la gauche (en arrière)
Ctrl+NDéplace le curseur d'une ligne vers le bas (suivant)
Ctrl+PDéplace le curseur d'une ligne vers le haut (précédent)

Bien sûr, tout comme avec vi il est possible de répeter ces commandes avec une valeur numérique. Si vous tapez M-1 M-0 Ctrl+P, ou Ctrl+U 10 Ctrl+P, le curseur se déplacera de 10 lignes vers le haut. Si vous tapez M-5 Ctrl+F ou Ctrl+U 5 Ctrl+F, le curseur se déplacera de cinq caractères vers la droite.

Obtenir de l'aide

Emacs dispose d'une large documentation, au point qu'il est souvent nommé l'éditeur “auto-documenté”. En effet il propose des mécanismes pour fournir de la documentation aux utilisateurs au moment où ils l'utilisent.

Voici quelques unes des fonctions utiles pour accéder à la documentation (elles commencent toutes par Ctrl+H) :

Accéder à la documentation d'Emacs

CommandeRésulat
Ctrl+H f NOM-FONCTION ↵ EnterAffiche la documentation pour NOM-FONCTION
Ctrl+H k Ctrl+X Ctrl+CAffiche la documentation pour la fonction liée au raccourciCtrl+X Ctrl+C
Ctrl+H tAffiche le tutoriel pour Emacs
Ctrl+H ?Affiche toutes les fonctions d'aide

Ctrl+H t est particulièrement utile si vous souhaitez vous formez à Emacs.

Appel de fonctions

Comme indiqué précédemment, Emacs propose un large choix de fonctions pour une utilisation interactive. Certaines d'entre elles, comme celles pour ouvrir et sauvegarder des fichiers, sont liées à des combinaisons de touches. Pour d'autres (comme celles pour se déplacer en début et fin de ligne) ne le sont pas. Pour les lancer, vous devez les invoquer. Par exemple, nous voulons appeller la fonction “fin de ligne”; nous devrons faire ceci :

M-x fin de ligne ↵ Enter

Et le curseur se déplacera en fin de ligne, comme l'indique le nom de la fonction.

Aide-mémoire pour Emacs

Bien qu'Emacs puisse être simple à utiliser, l'étendue de ses possibilités peut être déroutantes. Certaines des commandes les plus utiles d'Emacs sont listées ci-dessous. Certains points ont été simplifiés, en particulier pour ce qui concerne la sélection de texte. Ces concepts, et beaucoup plus, sont décrits dans le manuel d'Emacs et différents tutoriels en ligne. De bon résumés peuvent aussi être trouvé en recherchant sur le web.

Emacs Cheat Sheet

CommandeRésulat
Ctrl+F Déplace le curseur d'un caractère vers la droite (en avant)
Ctrl+B Déplace le curseur d'un caractère vers la gauche (en arrière)
Ctrl+N Déplace le curseur d'une ligne vers le bas (suivant)
Ctrl+P Déplace le curseur d'une ligne vers le haut (précedent)
Ctrl+H fNOM-DE-FONCTION↵ Enter Affiche la documentation de la fonction NOM-DE-FONCTION
Ctrl+H k Ctrl+X Ctrl+C Affiche la documentation pour la fonction liée aux touchesCtrl+X Ctrl+C
Ctrl+H T Affiche le tutoriel d'Emacs tutorial
Ctrl+H ? Affiche toutes les fonctions relative à l'aide
M-` Accede à la barre de menu
Ctrl+G Annule l'opération en cours. Ceci est particulièrement utile avec le minibuffer.
M-X NOM-DE-FONCTION ↵ Enter Lance la fonction NOM-DE-FONCTION interactivement
M-1 M-0 Ctrl+N Déplace le curseur de dix lignes vers le bas
Ctrl+U 10 Ctrl+N Déplace le curseur de dix lignes vers le bas (comme précedemment)
M-x début de ligne 2) Déplace le curseur en début de ligne
M-x fin de ligne 3) Déplace le curseur en fin de ligne
M-> Déplace le curseur à la fin de l'espace tampon
M-< Déplace le curseur au début de l'espace tampon
Ctrl+K Remove text from the cursor to the end of the line and place it into the kill ring
Ctrl+Espace Passe en mode sélection (utlisez les touches fléchées pour vous déplacer) . Utilises C-espace à nouveau pour quitter ce mode.
Ctrl+W En mode sélection, supprime la zone sélectionnée et stocke le contenu dans le kill ring
M-W While in selection mode, store the selected region into the kill ring.
C-Y “Yanks” the contents of the kill ring and places them at the cursor's location
Ctrl+/ Undo the previous action. Unlike most other editors, this includes previous undo actions.
Insert Enable or disable overwriting characters
Ctrl+S asdf ↵ Enter Forward incremental search for the string “asdf”. Repeat Ctrl+S as needed to search for future items, or Ctrl+R (below) to search backwards.
Ctrl+R asdf ↵ Enter Backward incremental search for the string “asdf”. Repeat Ctrl+R as needed to search for future items, or Ctrl+S (above) to search forwards.
M-% old ↵ Enter new ↵ Enter Search for each instance of “old” and prompt you to replace it with “new”. You can force replacement of all items by typing ! at the replacement prompt.
Ctrl+X Ctrl+C Exit Emacs, prompting you to save each unsaved buffer before doing so
Ctrl+X Ctrl+S Save the currrent buffer to its file
Ctrl+X Ctrl+W new-file.txt ↵ Enter Save the current buffer to a file “new-file.txt”

Navigation

Chapitre précédent : Vi

Chapitre suivant : Réseau

Sources

  • Publication initiale d'Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson
  • Traduction initiale de escaflown
  • Traduction de Ellendhel

1)
mais pas le traducteur
2)
touche “home” de votre clavier
3)
touche “end” de votre clavier
 fr:slackbook:emacs ()