Souvent, j'ai creusé dans des propos et des documents à la recherche de quelque chose comme ce qui suit pour abandonner pour revenir à la tâche à accomplir:
(répétition-dernière-commande)
faire la dernière commande C- ou M- que je viens d'exécuter (pour être rebondi sur une touche fn)
ou parfois le lié:
(description-dernière-fonction)
quelle frappe ai-je juste émise par erreur, l'effet dont je voudrais ajouter à mon sac d'astuces. describe-key est proche, mais nécessite de savoir ce que j'ai tapé.
Suis-je simplement trop demander à mon fidèle acolyte?
(repeat)
et Cx Mz(repeat-complex-command)
. Voir aussi(repeat-matching-complex-command)
.Réponses:
en ce qui concerne ' describe-last-function ':
Il y a une variable
last-command
qui est définie sur un symbole représentant la dernière chose que vous avez faite. Donc, cet extrait elisp -(describe-function last-command)
- devrait afficher la documentation de ce qui s'est produit immédiatement.Pour que vous puissiez faire un travail trivial
describe-last-function
comme çaMettez cet elisp
.emacs
ou équivalent, et vous aurez une fonction describe-last-Mx .Si vous avez tapé sur quelques touches ou fait quelque chose qui a modifié la dernière commande depuis la chose qui vous intéresse, la
command-history
fonction peut être intéressante. Vous pouvez l'obtenir par l' historique des commandes Mxla source
La fonctionnalité de répétition est fournie par le
repeat.el
paquet Emacs Lisp, qui est inclus avec les distributions Emacs standard. À partir derepeat.el
la documentation de:Pour voir des informations supplémentaires sur la commande de répétition, tapez C-h F repeat RETdepuis Emacs.
la source
Répéter la dernière commande
C-xz
Une fois que vous avez appuyé dessus, appuyez simplement z après cela et cela se répétera (sans avoir à appuyer à C-xnouveau).
la source
Oui, il existe une commande de répétition . Ça s'appelle
repeat
:Un peu choquant personne n'a mentionné
repeat-complex-command
, disponible à partir de la reliure à clé C-x ESC ESC.la source
C-x M-:
(mnémonique: commeM-:
mais avec l'expression elisp déjà remplie pour vous).repeat.el
(qui subsumeC-x z z z...
) sont les secondes les plus proches. En réponse à la deuxième question posée, à propos des dernières frappes au clavier, la meilleure réponse estC-h l
(view-lossage
). Il est peu utile, à mon humble avis, pour unedescribe-last-command
commande.C-x M-:
dans le cadre d'une macro de clavier, ce qui peut être pratique. Lesrepeat-complex-command
liaisons par défaut sont un peu trop lourdes pour taper encore et encore.Affiche également
M-x view-lossage
les cent dernières frappes (?) Saisies. Ainsi, vous pourrez voir où se trouve la commande. C'est ce que j'ai utilisé jusqu'à ce que je découvre tout de suite avecM-x command-history
lequel je pense que je vais utiliserC-h w
maintenant.la source
Je ne suis pas vraiment sûr, mais peut-être cherchez-vous celui-ci?
Manuel Emacs, 8.11 Répéter une commande
la source
z
seul continueront la répétition.Peut-être que cela aiderait aussi ... De l'aide emacs mot pour mot:
la source
Personnellement, j'ai trouvé l'idée de Sebastian utile. Voici une version de travail
la source
isearch
etisearch-backward
sont importantes commandes de navigation, et que celui - ci est lié par défaut, on pourrait sans doute trouver une meilleure liaison pour-commande de répétition <kbd> Cr </ kbd>. Sur un Mac, je suggérerais Command (super) -Y, car certaines applications ont déjà une convention d'utilisation de cela comme l'opposé de «annuler».C'est vieux, mais Google affiche ceci en premier lorsque je cherchais à récupérer la dernière commande que j'ai tapée à l'invite Emacs. Aucune de ces réponses n'a fonctionné pour moi, alors j'ai décidé de mettre mes deux cents pour ceux qui pourraient tomber sur cela plus tard comme je l'ai fait. J'utilise Portacle, mais j'ai trouvé ce que je cherchais ici , j'espère donc qu'il est suffisamment générique pour fonctionner avec différentes configurations. Quoi qu'il en soit, ce qui a fonctionné pour moi, c'est d'utiliser C-↑et C-↓de parcourir l'histoire. Utilisant M-pet M-nfonctionnant aussi bien, mais je préfère utiliser les flèches car j'utilise pas mal Bash.
la source