Ma cheat-sheet d’Emacs
En construction. Version moins moche : fichier.org.
C-u
Pour les commandes suivantes, je renseigne deux colonnes supplémentaires : M-4 commande, et C-u commande. Si C-u se comporte comme C-u 4, je laisse vide.
C-u | « argument universel ». |
---|---|
Permet de modifier le comportement d’une fonction | |
Permet d'exécuter la commande plusieurs fois | |
Permet de passer un paramètre numérique à une fonction | |
C-u chiffres commande | faire la commande chiffres fois |
C-u 5 - | ----- |
C-u 5 BackSpace | efface les 5 dernières lettres |
C-u 2 M-x forward-word | avance de 2 mots |
C-u commande | répète la commande 4 fois |
C-u C-u commande | répète la commande 16 fois |
C-u C-u * | ** |
M-chiffres commande | fait la commande chiffres fois, comme C-u chiffres commande |
M-5 - | ----- |
M-1 M-6 * | ** |
C-u commande | appelle la commande avec un comportement spécial |
M-x goto-line 4 (C-x l 4) | va à la ligne 4 |
C-u 4 goto-line (C-u 4 C-x l) | va à la ligne 4 |
M-4 goto-line (M-4 C-x l) | va à la ligne 4 |
C-u M-x goto-line 4 (C-u C-x l 4) | va à la ligne 4 dans un autre buffer |
M-x yank (C-y) | colle le texte le plus récemment coupé, en mettant la marque au début, le point à la fin |
C-u 4 M-x yank (C-u 4 C-y) | colle le 4ème texte le plus récemment coupé |
C-u M-x yank (C-u C-y) | colle le texte le plus récemment coupé, en mettant la marque à la fin, le point au début |
Aide
raccourci | commande | ce que ça fait | M-4 commande | C-u commande |
---|---|---|---|---|
C-h a | apropos | montre ce que fait la commande dans un buffer | montre aussi les fonctions non-interactive | idem |
C-h k | describe-key | affiche ce que fait un raccourci dans un buffer | ||
C-h c | describe-key-briefly | affiche la fonction appelée par un raccourci dans le minibuffer | ||
C-h f | describe-function | affiche ce que fait la fonction dans un buffer | ||
C-h t | help-with-tutorial | affiche le tutoriel | demande la langue du tutoriel | idem |
C-h w | where-is | affiche le raccourci correspondant à la commande | ||
C-h e | view-eco-area-messages | montre la log des messages récents | ||
C-h i | info | affiche Info | ||
C-h l | view-lossage | affiche les 300 dernières frappes de touche | ||
C-h m | describe-mode | affiche la doc du mode majeur et des modes mineurs du buffer |
Se déplacer
M-4 | C-u | |||
---|---|---|---|---|
C-a | move-beginning-of-line | aller en début de ligne | se déplace de 3 lignes vers le bas d’abord | |
M-a | backward-sentence | aller en début de phrase | remonte de 4 phrases | |
C-e | move-end-of-line | aller en fin de ligne | se déplace de 3 lignes vers le bas d’abord | |
M-e | forward-sentence | aller en fin de phrase | avance de 4 phrases |
C-f | forward-char | lettre suivante | avance de 4 lettres | |
M-f | forward-word | mot suivant | avance de 4 mots | |
C-b | backward-char | lettre précédente (backward) | recule de 4 lettres | |
M-b | backward-char | mot précédent | recule de 4 mots |
C-p | previous-line | ligne précédente | recule de 4 lignes | |
C-n | next-line | ligne suivante | avance de 4 lignes |
C-v | scroll-up-command | avance le texte d’un écran | déplace le texte de 4 lignes vers le haut | |
M-v | scroll-down-command | recule le texte d’un écran | déplace le texte de 4 lignes vers le bas | |
C-M-v | scroll-other-window | avance le texte de la prochaine fenêtre d’un écran | déplace le texte de la prochaine fenêtre de 4 lignes | |
C-l | recenter-top-bottom | met la ligne courante avec le point au centre (en haut/en bas, après appels successifs) | met la ligne courante sur la 4e ligne de la fenêtre | met la ligne au centre |
M-g g chiffres | goto-line | aller à la ligne chiffres du buffer | va à la 4e ligne du buffer | va à la 4e ligne de l’autre buffer |
M-g M-g chiffres | goto-line | |||
C-x l chiffres | goto-line | |||
M-r | move-to-window-line-top-bottom | met le point sur la ligne au milieu de la fenêtre (en haut/en bas, si appels successifs) | met le point sur la 4e ligne de la fenêtre |
M-< | beginning-of-buffer | aller au début du buffer | aller au 4/10 du buffer | ne laisse pas de marque à la précédente position |
M-> | end-of-buffer | aller à la fin du buffer | aller au 4/10 à partir du bas | ne laisse pas de marque à la précédente position |
M-m | back-to-indentation | aller au premier caractère non blanc de la ligne |
Éditer
M-4 | C-u | |||
---|---|---|---|---|
M-i | tab-to-tab-stop | insère des espaces/tabulations jusqu’au prochain tab-stop | ||
C-i | indent-for-tab-command | indente la ligne ou la région, ou insère une tabulation, ou fait une complétion | ||
TAB | indent-for-tab-command | dépend beaucoup du mode | ||
C-x TAB | indent-rigidly | indente toutes les lignes de la région avec [S-]gauche/droite | indente de 4 colonnes | |
M-; | comment-dwim | appelle la commande de commentaire (Do What I Mean) | ||
si une région est active et transient-mark-mode est on, commente la région | ||||
sauf si la région n'est composée que de commentaire, la décommente | ||||
sinon, si la ligne est vide, insère un commentaire (et indente) | ||||
sinon, si un argument est présent, appelle comment-kill | ||||
sinon appelle comment-indent | ||||
C-j | electric-indent-just-newline | insère une nouvelle ligne, sans indentation | insère 4 lignes | |
C-o | open-line | insère une ligne en laissant le point à sa place | insère 4 lignes | |
C-M-o | split-line | sépare la ligne en déplaçant la fin verticalement | n’insère pas fill-prefix | |
C-x C-o | delete-blank-lines | supprime les lignes vides | ||
M-^ | delete-indentation | joint cette ligne et la précédente | joint cette ligne et la suivante | |
M-\ | delete-horizontal-space | supprime toutes les espaces/tabulations autour du point | supprime seulement celles précédent le point | |
M-SPC | just-one-space | supprime les espaces/tabulations autour du point et ne laisse qu’une espace | laisse 4 espaces | |
avec un argument négatif, supprime également les fins de ligne | ||||
M-q | fill-paragraph | reformate le paragraphe sur ou après le point, ou les paragraphes de la région | idem et justify | |
C-x f chiffres | set-fill-column | définit fill-column à chiffres | définit fill-column à 4 | définit fill-column à la colonne courante |
M-o M-s | center-line | centre la ligne | centre 4 lignes | |
M-o M-S | center-paragraph | centre le paragraphe |
C-t | transpose-chars | échange 2 lettres | avance le caractère précédent le point de 4 caractères | |
M-t | transpose-words | échange 2 mots | avance le mot de 4 mots | |
M-0 M-t | échange le mot vers le point avec le mot vers la marque | |||
C-x C-t | transpose-lines | échange la ligne courante et la précédente | déplace la ligne précédente de 4 lignes | |
M-0 C-x C-t | échange la ligne courante avec celle de la marque |
M-u | upcase-word | met en lettres capitales le mot | et les 3 prochains | |
M-l | downcase-word | met en lettres minuscules le mot | et les 3 prochains | |
M-c | capitalize-word | met en lettre capitale la lettre et va à la fin du mot | et les 3 prochains | |
pour ces 3 commandes | ||||
si au milieu d’un mot, ne prend pas en compte le début | ||||
avec un argument négatif, le point reste en place | ||||
C-x C-u | upcase-region | met en lettres capitales la region | ||
C-x C-l | downcase-region | met en lettres capitales la region |
Si font-lock-mode n’est pas on
M-o d | facemenu-set-default | met la face par défaut | ||
M-o b | facemenu-set-bold | en gras | ||
M-o i | facemenu-set-italic | en italique | ||
M-o l | facemenu-set-bold-italic | en gras et italique | ||
M-o o | facemenu-set-face | applique la face (TAB pour avoir une liste) | ||
M-o u | facemenu-set-underline | souligne |
Couper/Copier/Coller
M-4 | C-u | |||
---|---|---|---|---|
C-d | delete-char | supprime la prochaine lettre | kill les 4 prochaines lettres | |
M-d | kill-word | kill le prochain mot | kill les 4 prochains mots | |
BackSpc | delete-backward-char | supprime la lettre précédente | kill les 4 lettres précédentes | |
M-BackSpc | backward-kill-word | kill le mot précédent | kill les 4 mots précédents | |
C-k | kill-line | kill le reste de la ligne | kill les 3 prochaines lignes également | |
M-0 C-k | kill le début de la ligne | |||
C-w | kill-region | kill la région | ||
M-w | kill-ring-save | copie la région | ||
C-M-w | append-next-kill | si la commande suivante est un kill, ajoute au précédent kill | ||
C-y | yank | colle le texte le plus récemment coupé, en mettant la marque au début, le point à la fin | colle le 4ème kill le plus récent | met la marque à la fin, le point au début |
M-y | yank-pop | après un yank (ou un yank-pop) remplace le yank par le kill précédent | par le 4ème kill le plus récent | |
M-z x | zap-to-char | kill jusqu’au caractère x inclus | jusqu’au 4ème caractère x |
Fenêtres/buffers
M-4 | C-u | |||
---|---|---|---|---|
C-x 1 | delete-other-windows | la window remplit la frame (le buffer courant devient le seul buffer de la fenêtre) | ||
C-x 2 | split-window-below | splitte la window en 2, la nouvelle est dessous | la window du dessus fait 4 lignes | |
C-x 3 | split-window-right | splitte la window en 2, la nouvelle est à droite | la window de gauche fait 4 lignes | |
C-x 0 | delete-window | supprime la fenêtre | ||
C-x o | other-window | choisit la prochaine window | choisit la 4e prochaine window | |
C-x ^ | enlarge-window | réduit la window d’une ligne | réduit de 4 lines | |
C-x { | shrink-window-horizontally | réduit la window d’une colonne | réduit de 4 colonnes | |
C-x } | enlarge-window-horizontally | agrandit la window d’une colonne | agrandit de 4 colonnes |
C-x K | kill-buffer | kill le buffer | ||
C-x droite/gauche | next/previous-buffer | va au buffer suivant/précédent | ||
C-x b | switch-to-buffer | affiche le buffer dans la window (le crée s’il n’existe pas) | ||
C-x C-b | list-buffers | affiche une liste des buffers existants | affiche uniquement ceux qui visitent un fichier | |
C-x C-q | read-only-mode | change le fait que le buffer soit en lecture seule | le met en lecture seule. Un argument négatif le met en écriture | |
C-x 4 0 | kill-buffer-and-window | tue le buffer et ferme la window courante | ||
C-x 4 b | switch-to-buffer-other-window | affiche le buffer dans une autre window, se positionne dessus | ||
C-x 4 C-o | display-buffer | affiche le buffer dans une autre window, ne se positionne pas dessus | ||
C-x 4 f | find-file-other-window | ouvre le fichier dans une autre fenêtre |
Fichiers
M-4 | C-u | |||
---|---|---|---|---|
C-x C-f | find-file | édite le fichier, se met dans un buffer le visitant, en le créant si nécessaire | ||
C-x C-s | save-buffer | sauve le buffer courant dans le fichier visité. La version précédente devient le backup | 1 fois : cette version devient le backup de la prochaine sauvegarde | |
2 fois : la version précédente devient le backup inconditionnelement | ||||
M-0 C-x C-s | ne fait pas un backup de la version précédente | |||
3 fois : 1 fois + 2 fois | ||||
C-x C-w | write-file | écrit le buffer dans le fichier en argument | ne demande pas confirmation pour écraser | |
C-x i | insert-file | insère le contenu du fichier dans le buffer après le point, met la marque après le texte inséré |
Marques
M-4 | C-u | |||
---|---|---|---|---|
C-SPC | set-mark-command | fait une marque (donc le début d'une région/rectangle) | fait une marque et va à la précédente | |
C-@ | set-mark-command | |||
C-x C-SPC | pop-global-mark | va à la précédente marque globale | ||
C-x C-@ | pop-global-mark | |||
M-@ | mark-word | marque jusqu'à la fin du mot | marque jusqu’au 4 prochains mots | |
C-x C-x | exchange-point-and-mark | échanger le point et la marque | ne passe pas en Transient | |
M-h | mark-paragraph | sélectionne le paragraphe, le point au début | met la marque à la fin du 4e paragraphe | |
C-x h | mark-whole-buffer | sélectionne tout le buffer |
Macro
M-4 | C-u | |||
---|---|---|---|---|
C-x ( | kmacro-start-macro | démarre l’enregistrement d’une macro | ajoute à la dernière macro | |
C-x ) | kmacro-end-macro | arrête l’enregistrement de la macro | répète la macro 4 fois | |
C-x C-k C-a | kmacro-add-counter | demande la valeur à ajouter au compteur | ajoute 4 au compteur | remet l’ancienne valeur |
C-x C-k C-c | kmacro-set-counter | demande quelle valeur mettre au compteur | met 4 au compteur | remet le compteur à la valeur avant l’itération de la macro |
C-x C-k C-e | kmacro-edit-macro-repeat | édite la dernière macro | ||
C-x C-k C-f | kmacro-set-format | met le compteur au format donné | ||
C-x C-k TAB | kmacro-insert-counter | insère le compteur, ajoute 1 | insère et ajoute 4 | insère le précédent compteur et le ne modifie pas |
C-x C-k C-l | kmacro-call-ring-2nd-repeat | exécute la pénultième macro | ||
C-x C-k C-n | kmacro-cycle-ring-next | prochaine macro dans le ring | 4e prochaine macro dans le ring | |
C-x C-k C-p | kmacro-cycle-ring-previous | précédente macro dans le ring | 4e précédente macro | |
C-x C-k C-t | kmacro-swap-ring | échange les 2 premières macro du ring | ||
C-x C-k C-v | kmacro-view-macro-repeat | affiche la dernière macro | la 4e dernière macro | |
C-x C-k SPC | kmacro-step-edit-macro | exécute la derinère macro en éditant pas à pas | ||
C-x C-k b | kmacro-bind-to-key | demande à quelle touche lier la dernière macro | ||
C-x C-k [0-9A-Z] | exécute la commande liée à la touche | |||
C-x C-k e | edit-kbd-macro | édite une macro | ||
C-x C-k l | kmacro-edit-lossage | édite les 300 dernières frappe comme une macro | ||
C-x C-k n | kmacro-name-last-macro | nomme la dernière macro | ||
C-x C-k r | apply-macro-to-region-lines | exécute la dernière macro pour chaque ligne de la région | ||
C-x C-k x | kmacro-to-register | store la dernière macro dans le registre | ||
F3 | kmacro-start-macro-or-insert-counter | met le compteur à 0, enregistre la macro | met le compteur à 4, enregistre la requête | ajoute à la dernière macro |
en enregistrant, insère le compteur et ajoute 1 | insère et ajoute 4 | insère le précédent compteur, ne l’incrémente pas | ||
F4 | kmacro-end-or-call-macro | termine l’enregistrement de la macro | ||
si pas en enregistrement, exécute la macro | exécute 4 fois | exécute la penultième macro |
Recherches
M-4 | C-u | |||
---|---|---|---|---|
C-s | isearch-forward | fait une recherche incrémentale après le point | avec regexp | |
C-r | isearch-backward | fait une recherche incrémentale avant le point | avec regexp | |
M-% | query-replace | chercher/remplacer (dans la région si en mode transient mark avec marque active) | remplace les mots seulement | |
C-M-s | isearch-forward-regexp | chercher avec regexp | sans regexp | |
C-M-r | isearch-backward-regexp | chercher avec regexp en arrière | sans regexp | |
C-M-% | query-replace-regexp | chercher/remplacer avec regexp | remplace les mots seulement |
M-s w | isearch-forward-word | cherche la séquence de mots (peuvent être séparés par de la ponctuation) | recherche normale | |
M-s . | isearch-forward-symbol-at-point | cherche le symbole sur lequel le point se trouve | ||
M-s o | occur | affiche les lignes contenant la regexp dans un buffer | avec 4 lignes de contexte | |
M-s h . | highlight-symbol-at-point | highlight le symbole sur lequel le point se trouve | ||
M-s h l | highlight-lines-matching-regexp | highlight les lignes qui matchent la regexp | ||
M-s h r | highlight-regexp | highlight la regexp | ||
M-s h u | unhighlight-regexp | enlève l'highlight sur la regexp | enlève tous les highlights |
Pendant une recherche
BackSpc | supprime le dernier caractère de la recherche |
Entrée | sort de la recherche, laisse le point à l’emplacement trouvé |
M-p | cherche le précédent item du search-ring |
M-n | cherche le prochain item du search-ring |
C-M-i | complète la chaîne de recherche à partir du search-ring |
C-j | cherche la fin de ligne |
C-s | cherche la prochaine occurence |
C-r | cherche l’occurence précédente |
C-w | ajoute la fin du mot à la fin de la chaîne de recherche |
M-s C-e | ajoute la fin de la ligne à la chaîne de recherche |
C-y | ajoute le dernier kill |
C-g | si la recherche échoue, revient à la dernière recherche en succès |
si la recherche est en succès, arrête la recherche, revient au point de départ | |
M-s c | recherche en étant sensible ou non à la casse |
M-s r | recherche en expression régulière ou non |
M-s w | recherche les mots |
M-s e | édite la chaîne de recherche |
M-% | lance query-replace avec la dernière chaîne de recherche à remplacer |
C-M-% | lance query-replace-regexp |
M-s o | lance occur avec la dernière recherche |
M-s h r | lance highlight-regexp avec la dernière recherche |
Pendant un remplacement
SPC | remplace |
y | remplace |
n | ne remplace pas, va au prochain |
Suppr/Backspc | ne remplace pas, va au prochain |
Entrée | quitte |
q | quitte |
. | remplace et quitte |
, | remplace et ne bouge pas le point tout de suite |
\! | remplace toutes les occurences du modem |
\^ | revient à la précédente |
E | édite la chaîne de remplacement |
Y | remplace toutes les occurences de tous les buffers restants |
N | ne remplace pas toutes les occurences de ce buffer, va au suivant |
Rectangles
M-4 | C-u | |||
---|---|---|---|---|
C-x r c | clear-rectangle | vide le rectangle (remplit de blanc) | remplit de blanc les parties du rectangle qui étaient vides | |
C-x r d | delete-rectangle | supprime le rectangle | remplit de blanc les parties du rectangle qui étaient vides | |
C-x r k | kill-rectangle | supprime le rectangle et le sauve dans le kill-ring | remplit de blanc les parties du rectangle qui étaient vides | |
C-x r o | open-rectangle | ouvre un rectangle (insère des blancs) | remplit de blanc même s’il n’y a pas de texte à droite | |
C-x r r | copy-rectangle-to-register | copie le rectangle dans un registre | ||
C-x r t | string-rectangle | insère un rectangle | ||
C-x r y | yank-rectangle | colle un rectangle | ||
C-x r M-w | copy-rectangle-as-kill | copie le rectangle et le sauve dans le kill-ring |
Registres
Demande un registre : un caractère
M-4 | C-u | |||
---|---|---|---|---|
C-x r SPC | point-to-register | stocke l’emplacement du point dans le registre | enregistre la configuration de la frame | |
C-x r C-@ | point-to-register | |||
C-x r C-SPC | point-to-register | |||
C-x r + | increment-register | incrémente le registre si c’est un nombre | ajoute 4 au registre | |
ajoute la région entre point et marque si c’est du texte | et supprime la région | |||
C-x r f | frameset-to-register | stocke l’ensemble des frames dans le registre | ||
C-x r i | insert-register | insère le contenu du registre, le point avant et la marque après le texte inséré | inverse le point et la marque | |
C-x r j | jump-to-register | déplace le point vers l’emplacement stocké dans le registre | ||
si c’est un fichier, va au fichier | ||||
si c’est une configuration de windows, rétablit la frame | ||||
si c’est une configuration de frames, rétablit les frames | supprime les frames en plus | |||
C-x r n | number-to-register | stocke à partir du point jusqu’à la fin le chiffre dans le registre, 0 si pas de chiffre | stocke 4 dans le registre | |
C-x r r | copy-rectangle-to-register | stocke le rectangle dans le registre | le supprime | |
C-x r s | copy-to-register | stocke la région dans le registre | la supprime | |
C-x r x | copy-to-register | |||
C-x r w | window-configuration-to-register | stocke la configuration des windows de la frame actuelle | ||
C-x r m | bookmark-set | ajoute un bookmark à l’emplacement courant | n’écrase pas si un bookmark de même nom existe déjà | insère le nom du dernier bookmark utilisé dans le document |
C-x r b | bookmark-jump | va au bookmark | ||
C-x r l | bookmark-bmenu-list | affiche la liste des bookmarks |
Divers
M-4 | C-u | |||
---|---|---|---|---|
C-x C-c | save-buffers-kill-terminal | demande s’il faut sauver chaque buffer, ferme la connexion | sauve sans demander puis ferme | |
C-z | suspend-frame | suspend la frame courante | ||
C-g | keyboard-quit | quitte la commande en cours | ||
C-x u | undo | annule les précédents changements | annule les 4 derniers changements | |
C-_ | undo | (si en mode transient mark, | (si pas en mode transient mark, | |
C-/ | undo | avec la marque active uniquement dans la région) | limite à la région) |
M-/ | dabbrev-expand | complétion dynamique : les précédents mots du buffer | prend la 4ème possibilité | |
les suivants, les autres buffers | ||||
M-$ | ispell-word | ispell sur le mot | retourne à la vérification | |
M-! | shell-command | exécuter une commande shell | insère le résultat de la commande | |
M-& | async-shell-command | comme shell-command mais ajoute un & | ||
M-| | shell-command-on-region | exécuter une commande shell avec la région comme input | remplace la région avec le résultat | |
M-. | find-tag | trouve le tag dans la table des tags courante | trouve le prochain |
C-x C-e | eval-last-sexp | évalue la sexp avant le point | insère le résultat dans le buffer | |
M-0 C-x C-e | insère le résultat non tronqué | |||
M-: EXP | eval-expression | évalue la sexp EXP | insère le résultat dans le buffer | |
M-0 M-: | insère le résultat non tronqué |