#+TITLE: Ma cheatsheet d’Emacs En perpétuelle construction. Source : …[[./data/media/cheat.org.html][fichier.org…]]. * C-u… | 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 | fait la commande chiffres fois | | C-u 5 - | insère : ----- | | 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 (ou comportement spécial de la commande) | | C-u C-u commande | répète la commande 16 fois (ou comportement spécial de la commande) | | C-u C-u * | insère : **************** | |------------------------------------+--------------------------------------------------------------------------------------------| | M-chiffres commande | fait la commande chiffres fois, comme C-u chiffres commande | | M-5 - | insère : ----- | | M-1 M-6 * | insère : **************** | |------------------------------------+--------------------------------------------------------------------------------------------| | C-u commande | appelle la commande avec un comportement spécial (ou répète la commande 4 fois) | | 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 | |------------------------------------+--------------------------------------------------------------------------------------------| | | si kill-ring contient les mots "cinq", "quatre", "trois", "zéro", "pastèque" | | M-x yank (C-y) | colle le texte le plus récemment coupé, en mettant la ~mark~ au début, le ~point~ à la fin | | | [marque]pastèque[curseur] | | C-u 4 M-x yank (C-u 4 C-y/M-4 C-y) | colle le 4ème text du kill ring, en mettant la ~mark~ au début, le ~point~ à la fin | | | [marque]quatre[curseur] | | C-u M-x yank (C-u C-y) | colle le texte le plus récemment coupé, en mettant la ~mark~ à la fin, le ~point~ au début | | | [curseur]pastèque[marque] | * Aide… | raccourci | commande | ce que ça fait | |------------+------------------------+-----------------------------------------------------------------| | C-h a | apropos | montre ce que fait la commande dans un buffer | | C-u C-h a | | montre aussi les fonctions non interactives | | 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 | | C-u C-h t | | demande la langue du tutoriel avant de l’affichier | | 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… | raccourci | commande | ce que ça fait | |--------------------+--------------------------------+--------------------------------------------------------------------------------------------------------| | C-a | move-beginning-of-line | va en début de ligne | | | | avec ~ARG~, se déplace de ~ARG~-1 ligne(s) d’abord | | C-u C-a | | se déplace de 3 lignes vers le bas, puis va en début de ligne | | M-0 C-a | | va en début de ligne sur la ligne du dessus | | M-- M-1 C-a | | se déplace de 2 lignes vers le haut, puis va en début de ligne | | M-a | backward-sentence | va en début de phrase | | | | avec ~ARG~, le fait ~ARG~ fois | | C-u M-a | | remonte de 4 phrases | | C-e | move-end-of-line | aller en fin de ligne | | | | avec ~ARG~, se déplace de ~ARG~-1 ligne(s) d’abord | | C-u C-a | | se déplace de 3 lignes vers le bas, puis va en fin de ligne | | M-e | forward-sentence | aller en fin de phrase | | | | avec ~ARG~, le fait ~ARG~ fois | |--------------------+--------------------------------+--------------------------------------------------------------------------------------------------------| | C-f | forward-char | lettre suivante | | | | avec ~ARG~, avance de ~ARG~ lettres (ou recule si ~ARG~ est négatif) | | C-u C-f | | avance de 4 lettres | | M-f | forward-word | mot suivant | | | | avec ~ARG~, avance de ~ARG~ mots (ou recule si ~ARG~ est négatif) | | C-b | backward-char | lettre précédente (backward) | | M-b | backward-char | mot précédent | |--------------------+--------------------------------+--------------------------------------------------------------------------------------------------------| | C-p | previous-line | ligne précédente | | | | avec ~ARG~, le fait ~ARG~ fois | | C-n | next-line | ligne suivante | | | | avec ~ARG~, le fait ~ARG~ fois | | C-x C-n | set-goal-column | définit la colonne pour C-n et C-p | | | | si ~goal-column~ est définie, C-n et C-p se déplace sur la ligne suivante/précédente à cette colonne | |--------------------+--------------------------------+--------------------------------------------------------------------------------------------------------| | C-v | scroll-up-command | avance le texte d’un écran (le curseur reste en place si possible) | | | | avec ~ARG~, descend de ~ARG~ lignes (remonte si négatif) | | C-u C-v | | déplace de 4 lignes vers le haut | | M-v | scroll-down-command | recule le texte d’un écran | | | | avec ~ARG~, remonte de ~ARG~ lignes | | C-u M-v | | déplace de 4 lignes vers le bas | | C-M-v | scroll-other-window | avance le texte de la prochaine fenêtre d’un écran | | | | avec ~ARG~, descend de ~ARG~ lignes (remonte si négatif) | | C-u C-M-v | | déplace de 4 lignes vers le haut la prochaine fenêtre | | M-- C-M-v | | recule le texte de la prochaine fenêtre d’un écran | |--------------------+--------------------------------+--------------------------------------------------------------------------------------------------------| | C-l | recenter-top-bottom | met la ligne courante avec le point au centre (puis en haut/en bas, après appels successifs) | | | | avec ~ARG~, met la ligne courante sur la ligne ~ARG~ de la fenêtre (en partant du bas si négatif) | | M-4 C-l | | met la ligne courante sur la 4e ligne de la fenêtre | | C-u C-l | | met la ligne au centre | |--------------------+--------------------------------+--------------------------------------------------------------------------------------------------------| | M-g g chiffres | goto-line | aller à la ligne chiffres du buffer | | M-g M-g chiffres | goto-line | | | C-x l chiffres | goto-line | | | | | avec ~ARG~, va à la ligne ~ARG~ du buffer | | M-4 M-g M-g | | va à la 4e ligne du buffer | | C-u M-g g chiffres | | va à la ligne ~chiffres~ du dernier buffer sélectionné | |--------------------+--------------------------------+--------------------------------------------------------------------------------------------------------| | 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) | | | | avec ~ARG~, met le ~point~ à la ligne ~ARG~ de la fenêtre (commence à 0) | | C-u M-r | | met le point sur la 5e ligne de la fenêtre | | M-- M-1 | | met le point sur la dernière ligne de la fenêtre | |--------------------+--------------------------------+--------------------------------------------------------------------------------------------------------| | M-< | beginning-of-buffer | va au début du buffer | | | | avec ~ARG~, va au ~ARG~ dixièmes du buffer | | M-2 M-< | | va au 2/10 du buffer | | C-u 2 M-< | | va au 2/20 du buffer, mais ne laisse pas de ~mark~ à la position précédente (en mode ~Transient Mark~) | | M-> | end-of-buffer | va à la fin du buffer | |--------------------+--------------------------------+--------------------------------------------------------------------------------------------------------| | M-m | back-to-indentation | va au premier caractère non blanc de la ligne | | | forward-to-indentation | avec ~ARG~, avance de ~ARG~ lignes et va au premier caractère non blanc | | | backward-to-indentation | avec ~ARG~, recule de ~ARG~ lignes et va au premier caractère non blanc | * Éditer… | raccourci | commande | ce que ça fait | |--------------------+------------------------------+---------------------------------------------------------------------------------------------| | M-i | tab-to-tab-stop | insère des espaces/tabulations jusqu’au prochain tab-stop (M-x edit-tab-stops) | | C-i / TAB | indent-for-tab-command | indente la ligne ou la région | | | | ou insère une tabulation | | | | ou fait une complétion | | | | voir la variable ~tab-always-indent~ | | | | dépend du mode | | C-x TAB | indent-rigidly | indente toutes les lignes de la région avec gauche/droite | | | | avec ~ARG~, indente de ~ARG~ 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 | | C-o | open-line | insère une ligne en laissant le point à sa place | | | | avec ~ARG~, insère ~ARG~ lignes | | C-u C-o | | insère 4 lignes | | C-M-o | split-line | sépare la ligne en déplaçant la fin verticalement | | | | avec ~ARG~, n’insère pas de ~fill-prefix~ | | C-x C-o | delete-blank-lines | supprime les lignes vides | | M-^ | delete-indentation | joint cette ligne et la précédente | | | | avec ~ARG~, joint à la suivante | | M-\ | delete-horizontal-space | supprime toutes les espaces/tabulations autour du ~æpoint~ | | | | avec ~ARG~, supprime seulement celles avant le ~point~ | | M-SPC | just-one-space | supprime les espaces/tabulations autour du point et ne laisse qu’une (ou ~ARG~) espace(s) | | | | si ~ARG~ est négatif supprime les sauts de ligne également, laissant ~-ARrG~ espace(s) | | M-SPC | ~toto _ utut~ | ~toto utut~, le curseur sur le premier ~u~ | | C-u M-SPC | ~toto utut~ | ~toto utut~, le curseur sur le premier ~u~ | | M-- M-2 M-SPC | ~toto _ | ~toto utut~, le curseur sur le premier ~u~ | | | utut~ | | |--------------------+------------------------------+---------------------------------------------------------------------------------------------| | M-q | fill-paragraph | reformate le paragraphe sur ou après le point, ou les paragraphes de la région | | C-x f chiffres | set-fill-column | définit ~fill-column~ à chiffres | | M-4 C-x f chiffres | | définit ~fill-column~ à 4 | | C-u C-x f chiffres | | définit ~fill-column~ à la colonne courante | | M-o M-s | center-line | centre la ligne | | | | avec ~ARG~, centre ~ARG~ lignes | | M-o M-S | center-paragraph | centre le paragraphe | |--------------------+------------------------------+---------------------------------------------------------------------------------------------| | C-t | transpose-chars | échange 2 lettres | | | | avec ~ARG~, avance le caractère qui précéde le ~point~ de ~ARG~ caractère(s) | | M-t | transpose-words | échange 2 mots | | | | avec ~ARG~, avance le caractère qui précéde le ~point~ de ~ARG~ mot(s) | | M-0 M-t | | échange le mot vers le ~point~ avec le mot vers la ~mark~ | | C-x C-t | transpose-lines | échange la précédente avec la ligne courante | | | | avec ~ARG~, avance la ligne précédente de ~ARG~ lignes | | M-0 C-x C-t | | échange la ligne courante avec celle de la ~mark~ | |--------------------+------------------------------+---------------------------------------------------------------------------------------------| | M-u | upcase-word | met en lettres capitales le mot à partir du ~point~ | | | | avec ~ARG~, met en capitales les ~ARG~ mots à partir du ~point~ | | | | si ~ARG~ est négatif, met en capitales les ~ARG~ mots précédent ~point~ sans bouger ~point~ | | M-l | downcase-word | met en lettres minuscules le mot à partir du ~point~ | | | | même remarque que pour M-u | | M-c | capitalize-word | met en lettre capitale la lettre sous ~point~ et va à la fin du mot | | | | même remarque que pour M-u | | C-x C-u | upcase-region | met en lettres capitales la région | | C-x C-l | downcase-region | met en lettres capitales la région | * Mise en forme… Si ~font-lock-mode~ n’est pas à ~t~ | raccourci | commande | ce que ça fait | |-----------+--------------------------+-----------------------------------------------| | 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… | raccourci | commande | ce que ça fait | |-----------+----------------------+-----------------------------------------------------------------------------------------| | C-d | delete-char | supprime la prochaine lettre | | | | avec ~ARG~, ~kill~ les ~ARG~ prochaines lettres et sauve dans ~kill-ring~ | | M-d | kill-word | ~kill~ le prochain mot | | | | avec ~ARG~, ~kill~ les ~ARG~ prochains mots | | BackSpc | delete-backward-char | supprime la lettre précédente | | | | avec ~ARG~, ~kill~ les ~ARG~ lettres précédentes | | M-BackSpc | backward-kill-word | ~kill~ le mot précédent | | | | avec ~ARG~, ~kill~ les ~ARG~ mots précédents | | C-k | kill-line | ~kill~ le reste de la ligne | | | | avec ~ARG~, ~kill~ les ~ARG-1~ prochaines lignes également | | M-0 C-k | | ~kill~ du ~point~ au 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é | | | | met la ~mark~ au début, le ~point~ à la fin (insère le ~kill~ avant ~point~) | | | | avec ~ARG~, réinsert le ~ARG~-ième ~kill~ le plus récent | | M-4 C-y | | colle le 4ème ~kill~ le plus récent | | C-u C-y | | met la ~mark~ à la fin, le ~point~ au début (insère le ~kill~ après ~point~) | | M-y | yank-pop | après un ~yank~ (ou un ~yank-pop~) remplace le ~yank~ par le ~kill~ précédent | | | | avec ~ARG~, par le ~ARG~-ième ~kill~ le plus récent | | M-z x | zap-to-char | ~kill~ jusqu’au caractère x inclus | | | | avec ~ARG~, jusqu’au ~ARG~-ième caractère x (caractère précédent le ~point~ si négatif) | * Fenêtres/buffers… | raccourci | commande | ce que ça fait | |------------+------------------------------------+---------------------------------------------------------------------------------------| | 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 | | | | avec ~ARG~, la ~window~ du dessus fait ~ARG~ lignes si ~ARG~ positif | | | | avec ~ARG~, la ~window~ du dessous fait ~ARG~ lignes si ~ARG~ négatif | | C-x 3 | split-window-right | splitte la ~window~ en 2, la nouvelle est à droite | | | | avec ~ARG~, la ~window~ de gauche fait ~ARG~ colonnes | | | | avec ~ARG~, la ~window~ de droite fait ~ARG~ colonnes | | C-x 0 | delete-window | supprime la fenêtre | |------------+------------------------------------+---------------------------------------------------------------------------------------| | C-x ^ | enlarge-window | réduit la ~window~ d’une ligne | | | | avec ~ARG~, réduit de ~ARG~ lines | | C-x { | shrink-window-horizontally | réduit la ~window~ d’une colonne | | | | avec ~ARG~, réduit de ~ARG~ colonnes | | C-x } | enlarge-window-horizontally | agrandit la ~window~ d’une colonne | | | | avec ~ARG~, agrandit de ~ARG~ colonnes | | C-x + | balance-windows | équilibre les tailles des ~windows~ | | C-x o | other-window | choisit la prochaine ~window~ | | | | avec ~ARG~, choisit la ~ARG~-ième prochaine ~window~ | |------------+------------------------------------+---------------------------------------------------------------------------------------| | C-x k | kill-buffer | ~kill~ le buffer | | C-x droite | next-buffer | va au buffer suivant | | C-x gauche | previous-buffer | va au buffer précédent | | C-x b nom | switch-to-buffer | affiche le buffer ~nom~ dans la ~window~ (le crée s’il n’existe pas) | | C-x C-b | list-buffers | affiche une liste des buffers existants | | | | avec ~ARG~, affiche uniquement ceux qui visitent un fichier | | C-x d | dired | ouvre un buffer du répertoire pour éditer/supprimer/… les fichiers | | C-x C-j | dired-jump | ouvre ~dired~ en se plaçant sur la line correspondant au fichier | | | | avec ~ARG~, demande le nom du fichier | |------------+------------------------------------+---------------------------------------------------------------------------------------| | C-x 4 0 | kill-buffer-and-window | ~kill~ 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 d | dired-other-window | ~dired~ mais dans une autre ~window~ | | C-x 4 C-j | dired-jump-other-window | ~dired-jump~ mais dans une autre ~window~ | |------------+------------------------------------+---------------------------------------------------------------------------------------| | C-x n n | narrow-to-region | restreint l’édition du buffer à la région courante | | C-x n w | widen | supprime la restriction du buffer courant | |------------+------------------------------------+---------------------------------------------------------------------------------------| | C-x 4 c | clone-indirect-buffer-other-window | crée un clone du buffer. Le clone est identique au premier (les modifications de l’un | | | | apparaissent sur l’autre), mais les ~point~, ~mark~, mode, ~narrow~, noms, variables | | | | locales sont propres à chacun. | | | | avec ~ARG~, demande un nom à donner au clone | * Fichiers | raccourci | commande | ce que ça fait | |---------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------| | 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-r | find-file-read-only | ~find-file~, mais le fichier est en lecture seule | | C-x 4 f | find-file-other-window | ouvre le fichier dans une autre fenêtre | | C-x 4 C-f | find-file-other-window | | | C-x 4 r | find-file-read-only-other-window | ~find-file-other-window~, mais le fichier est en lecture seule | | C-x C-q | read-only-mode | change le fait que le buffer soit en lecture seule | | | | avec ~ARG~, le met en lecture seule si positif, en écriture si négatif | |---------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------| | C-x C-s | save-buffer | sauve le buffer courant dans le fichier visité | | | | La version précédente devient un backup si c’est la première sauvegarde | | C-u C-x C-s | | cette version devient un backup lors de la prochaine sauvegarde | | C-u C-u C-x C-s | | la version précédente devient un backup inconditionnelement | | C-u C-u C-u C-x C-s | | cette version devient un backup lors de la prochaine sauvegarde et la version précédente devien un backup, inconditionnelement | | M-0 C-x C-s | | la version précédente ne devient pas un backup | |---------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------| | C-x C-w | write-file | écrit le buffer dans le fichier en argument | | | | avec ~ARG~, ne demande pas confirmation pour écraser | |---------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------| | C-x i fichier | insert-file | insère le contenu de ~fichier~ dans le buffer après le ~point~, met la ~mark~ après le texte inséré | * Marques… | raccourci | commande | ce que ça fait | |-----------+-------------------------+-------------------------------------------------------------------------------------------------------------| | C-SPC | set-mark-command | fait une ~mark~ (donc le début d’une région) | | C-@ | set-mark-command | | | | | avec ~ARG~ fait une ~mark~ et va à la précédente | | C-x C-SPC | pop-global-mark | va à la précédente ~mark~ globale | | C-x C-@ | pop-global-mark | | | M-@ | mark-word | place une ~mark~ à la fin du mot | | | | avec ~ARG~, ~mark~ à la fin du ~ARG~-ième prochain mot | | | | si la commande est répétée ou en ~transient~mark-mode~, place la ~mark~ sur le(s) mot(s) suivant(s) | | C-x C-x | exchange-point-and-mark | échanger le ~point~ et la ~mark~ | | | | avec ~ARG~, change le ~transient-mark-mode~ | | M-h | mark-paragraph | sélectionne le paragraphe, le ~point~ au début, la ~mark~ à la fin | | | | avec ~ARG~, met la ~mark~ à la fin du ~ARG~-ième paragraphe | | | | si ~ARG~ est négatif, le ~point~ va à la fin du paragraphe, et sélectionne les ~ARG~ paragraphes précédents | | C-x h | mark-whole-buffer | sélectionne tout le buffer | | | | si en ~narrow~, ne sélectionne que la partie « visible » | * Macro… | raccourci | commande | ce que ça fait | |------------------+--------------------------------------+----------------------------------------------------------------------| | 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 e | kmacro-end-and-call-macro | exécute la dernière macro, l’arrête si nécessaire | | | | avec ~ARG~, répète ~ARG~ fois | | M-0 C-x e | | répète jusqu’à ce qu’une erreur se produise | |------------------+--------------------------------------+----------------------------------------------------------------------| | C-x C-k C-a | kmacro-add-counter | demande la valeur à ajouter au compteur | | | | avec ~ARG~, ajoute ~ARG~ au compteur | | C-u C-x C-k C-a | | remet l’ancienne valeur | | C-x C-k C-c | kmacro-set-counter | demande quelle valeur mettre au compteur | | | | avec ~ARG~, met ~ARG~ au compteur | | C-u C-x C-k C-c | | remet le compteur à la valeur avant l’itération de la macro | | C-x C-k C-f | kmacro-set-format | met le compteur au format donné (par exemple ~%02g~) | | C-x C-k TAB | kmacro-insert-counter | insère le compteur, ajoute 1 | | | | avec ~ARG~, insère et ajoute ~ARG~ | | C-u C-x C-k TAB | | insère le précédent compteur et le ne modifie pas | |------------------+--------------------------------------+----------------------------------------------------------------------| | C-x C-k C-e | kmacro-edit-macro-repeat | édite la dernière macro | | 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 | prend la prochaine macro dans le ring (et l’affiche dans la minibar) | | | | avec ~ARG~, ~ARG~-ième prochaine macro dans le ring | | C-x C-k C-p | kmacro-cycle-ring-previous | prend la précédente macro dans le ring | | | | avec ~ARG~, ~ARG~-ième 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 | | | | avec ~ARG~, la ~ARG~-ième dernière macro | | | | répéter pour afficher les précédentes | | | | C-k pour exécuter la commande sans changer l’ordre dans le ring | | C-x C-k SPC | kmacro-step-edit-macro | exécute la derniè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 | | | | avec ~ARG~, formatte la macro de façon plus concisve | | C-x C-k l | kmacro-edit-lossage | édite les 300 dernières frappes comme une macro | | C-x C-k n nom | kmacro-name-last-macro | nomme la dernière macro, on peut alors exécuter ~M-x nom~ | | 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 | | F3 | kmacro-start-macro-or-insert-counter | met le compteur à 0, enregistre la macro | | | | avec ~ARG~, met le compteur à ~ARG~, enregistre la macro | | C-u F3 | | ajoute à la dernière macro, le compteur garde sa valeur | | | | en enregistrement, insère le compteur et ajoute 1 | | | | avec ~ARG~, insère et ajoute ~ARG~ | | C-u F3 | | 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 | | | | avec ~ARG~, exécute ~ARG~ fois | | C-u F4 | | exécute la penultième macro | * Recherches… | raccourci | commande | ce que ça fait | |-----------+---------------------------------+----------------------------------------------------------------------------------| | C-s | isearch-forward | fait une recherche incrémentale après le ~point~ | | | | avec ~ARG~, cherche avec regexp | | C-r | isearch-backward | fait une recherche incrémentale avant le ~point~ | | | | avec ~ARG~, avec regexp | | M-% | query-replace | chercher/remplacer (dans la région si en mode transient mark avec ~mark~ active) | | | | avec ~ARG~, remplace seulement si pas au milieu d’un mot (query replace word) | | C-M-s | isearch-forward-regexp | chercher avec regexp | | | | avec ~ARG~, cherche sans regexp | | C-M-r | isearch-backward-regexp | chercher avec regexp en arrière | | | | avec ~ARG~, sans regexp | | C-M-% | query-replace-regexp | chercher/remplacer avec regexp | | | | avec ~ARG~, 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…) | | | | avec ~ARG~, recherche normale | | M-s . | isearch-forward-symbol-at-point | cherche le symbole (le mot) sur lequel le ~point~ se trouve | | M-s o | occur | affiche les lignes contenant la regexp dans un buffer | | | | avec ~ARG~, prend ~ARG~ lignes de contexte | | M-s h . | highlight-symbol-at-point | highlight du symbole (le mot) sur lequel le ~point~ se trouve | | M-s h l | highlight-lines-matching-regexp | highlight des lignes qui matchent la regexp | | M-s h r | highlight-regexp | highlight de la regexp | | M-s h u | unhighlight-regexp | enlève l’highlight sur la regexp | | | | avec ~ARG~, enlève tous les highlights | Pendant une recherche | raccourci | ce que ça fait | |-----------+-----------------------------------------------------------------------------------------| | BackSpc | supprime le dernier caractère de la recherche | | Entrée | sort de la recherche, laisse le ~point~ à l’emplacement trouvé | | M-p | cherche l’item précédent 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 sur lequel se trouve le ~point~ à la fin de la chaîne de recherche | | M-s C-e | ajoute la fin de la ligne sur laquelle se trouve le ~point~ à 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 à l’intérieur des mots ou non | | M-s e | édite la chaîne de recherche | | M-% | lance query-replace | | 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, mais ne bouge pas le ~point~ tout de suite | | \! | remplace toutes les occurences | | \^ | revient à la précédente occurence | | 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… | raccourci | commande | ce que ça fait | |-----------+----------------------------+-------------------------------------------------------------------------| | C-x SPC | rectangle-mark-mode | la région courante/future devient un rectangle | | C-x r c | clear-rectangle | vide le rectangle (remplit de blanc) | | | | avec ~ARG~, remplit de blanc les parties du rectangle qui étaient vides | | C-x r d | delete-rectangle | supprime le rectangle | | | | avec ~ARG~, 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 | | | | avec ~ARG~, remplit de blanc les parties du rectangle qui étaient vides | | C-x r o | open-rectangle | ouvre un rectangle (insère des blancs) | | | | avec ~ARG~, 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 | raccourci | commande | ce que ça fait | |-------------+----------------------------------+--------------------------------------------------------------------------------------------| | C-x r SPC | point-to-register | stocke l’emplacement du ~point~ dans le registre | | | | avec ~ARG~, 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 | | | | avec ~ARG~, ajoute ~ARG~ au registre | | C-u C-x r + | | ajoute la région entre ~point~ et ~mark~ 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 ~mark~ après le texte inséré | | | | avec ~ARG~, inverse le ~point~ et la ~mark~ | | 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 | | | | avec ~ARG~, 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 | | | | avec ~ARG~, stocke ~ARG~ dans le registre | | C-x r r | copy-rectangle-to-register | stocke le rectangle dans le registre | | | | avec ~ARG~, le supprime | | C-x r s | copy-to-register | stocke la région dans le registre | | C-x r x | copy-to-register | avec ~ARG~, la supprime | | 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 | | | | avec ~ARG~, n’écrase pas si un bookmark de même nom existe déjà | | C-u C-x r m | | 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 | | | bookmark-delete | supprime la première occurrence seulement | * Divers… | raccourci | commande | ce que ça fait | |-------------+----------------------------+------------------------------------------------------------| | C-x C-c | save-buffers-kill-terminal | demande s’il faut sauver chaque buffer, ferme la connexion | | | | avec ~ARG~, 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 | | C-_ | undo | avec ~ARG~, annule les ~ARG~ derniers changements | | C-/ | undo | si ~mode-transient-mark~, limite à la région | | C-u C-_ | | si pas en ~mode-transient-mark~, limite à la région | |-------------+----------------------------+------------------------------------------------------------| | M-/ | dabbrev-expand | complétion dynamique : les précédents mots du buffer | | | | avec ~ARG~, prend la ~ARG~ ième possibilité | | C-u M-/ | | les suivants, les autres buffers | | M-$ | ispell-word | ispell sur le mot | | | | avec ~ARG~, retourne à une vérification interrompue | | M-! | shell-command | exécuter une commande shell | | | | avec ~ARG~, insère le résultat de la commande | | M-& | async-shell-command | comme shell-command mais ajoute un & | | M-\vert | shell-command-on-region | exécuter une commande shell avec la région comme input | | | | avec ~ARG~, remplace la région avec le résultat | | M-. | find-tag | trouve le tag dans la table des tags courante | | | | avec ~ARG~, trouve le prochain | |-------------+----------------------------+------------------------------------------------------------| | C-x C-e | eval-last-sexp | évalue la sexp avant le ~point~ | | | | avec ~ARG~, 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 | | | | avec ~ARG~, insère le résultat dans le buffer | | M-0 M-: | | insère le résultat non tronqué |