Emacs

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Éditeur de texte Unix / mode d'édition de ligne de commande shell
Commande emacs (éditeur) ou set -o emacs (mode shell)
Contexte Éditeur de texte générique multi-plateforme ; ses raccourcis sont aussi repris par les shells (ksh, bash) en mode d'édition de ligne
Voir aussi Vi, Vim (autres éditeurs de texte en ligne de commande)

Emacs est un éditeur de texte Unix historique, extensible, dont les raccourcis clavier (déplacement par combinaisons Ctrl/Meta, kill-ring pour couper/coller...) sont devenus un standard au point d'être repris tels quels par le mode d'édition de ligne de commande de certains shells (ksh, bash) via set -o emacs — voir plus bas.

Raccourcis clavier essentiels

Raccourci Action
Ctrl+F Caractère suivant
Ctrl+B Caractère précédent
Ctrl+N Ligne suivante
Ctrl+P Ligne précédente
Ctrl+A Début de ligne
Ctrl+E Fin de ligne
Meta+F Mot suivant
Meta+B Mot précédent
Ctrl+V Page suivante
Meta+V Page précédente

Sauvegarder, ouvrir, quitter

Raccourci Action
Ctrl+X Ctrl+S Sauvegarder le fichier
Ctrl+X Ctrl+F Ouvrir un fichier
Ctrl+X Ctrl+C Quitter Emacs

Recherche

Raccourci Action
Ctrl+S Recherche incrémentale vers l'avant
Ctrl+R Recherche incrémentale vers l'arrière

Couper / coller (kill-ring)

Raccourci Action
Ctrl+K Couper (kill) jusqu'à la fin de la ligne
Ctrl+W Couper la sélection (region)
Meta+W Copier la sélection sans la couper
Ctrl+Y Coller (yank) le dernier élément coupé

Annuler

Raccourci Action
Ctrl+_ (ou Ctrl+X u) Annuler la dernière action
Ctrl+G Interrompre la commande en cours

Mode d'édition emacs dans le shell

Sous ksh (et bash), set -o emacs active un mode de saisie où les touches fléchées et les raccourcis ci-dessus (déplacement, début/fin de ligne) fonctionnent directement sur la ligne de commande courante et l'historique. Sur certains terminaux, les flèches doivent être ré-associées manuellement aux séquences de contrôle correspondantes :

set -o emacs
alias __A=`echo "\020"`     # flèche haut = ^p = commande précédente
alias __B=`echo "\016"`     # flèche bas = ^n = commande suivante
alias __C=`echo "\006"`     # flèche droite = ^f = caractère suivant
alias __D=`echo "\002"`     # flèche gauche = ^b = caractère précédent
alias __H=`echo "\001"`     # home = ^a = début de ligne
alias __Y=`echo "\005"`     # end = ^e = fin de ligne

Voir aussi

  • Vi — éditeur POSIX historique, présent même sur les systèmes minimalistes
  • Vim — évolution moderne de vi