Często zagłębiałem się w apropos i doktorów, szukając czegoś podobnego do poniższego, tylko po to, aby się poddać, aby wrócić do zadania:
(powtórz ostatnie polecenie)
wykonaj ostatnie polecenie C lub M, które właśnie wykonałem (aby powrócić do klawisza fn)
lub czasami powiązane:
(opisz ostatnią funkcję)
jakie naciśnięcie klawisza właśnie omyłkowo wydałem, efekt którego chciałbym dodać do mojej torby sztuczek. Opis-klucz jest bliski, ale wymaga znajomości tego, co wpisałem.
Czy po prostu żądam zbyt wiele od mojego zaufanego pomocnika?
(repeat)
Cx Mz(repeat-complex-command)
. Zobacz także(repeat-matching-complex-command)
.Odpowiedzi:
w odniesieniu do „ opisz ostatnią-funkcję ”:
Istnieje zmienna,
last-command
która jest ustawiona na symbol reprezentujący ostatnią rzecz, którą zrobiłeś. Więc ten fragment elisp -(describe-function last-command)
kodu - powinien wywołać dokumentację tego, co wydarzyło się natychmiast.Więc możesz zrobić trywialne działanie w ten
describe-last-function
sposóbUmieść ten elisp
.emacs
lub jego odpowiednik, a otrzymasz funkcję Mx opisującą ostatnią .Jeśli uderzyłeś w kilka klawiszy lub zrobiłeś coś, co zmodyfikowało ostatnią komendę od rzeczy, która Cię interesuje,
command-history
funkcja może być interesująca. Możesz to uzyskać dzięki historii poleceń Mxźródło
Funkcjonalność powtarzania jest dostarczana przez
repeat.el
pakiet Emacs Lisp, który jest zawarty w standardowych dystrybucjach Emacsa. Zrepeat.el
dokumentacji:Aby zobaczyć dodatkowe informacje o poleceniu powtarzania, wpisz C-h F repeat RETz poziomu Emacsa.
źródło
Powtórz ostatnie polecenie
C-xz
Po naciśnięciu, po prostu naciśnij dopiero z po tym, a powtórzy się (bez konieczności C-xponownego naciskania ).
źródło
Tak, istnieje polecenie powtarzania . Nazywa się
repeat
:Trochę szokujące, nikt nie wymienił
repeat-complex-command
, dostępny z oprawy klawiszowej C-x ESC ESC.źródło
C-x M-:
(mnemonik: jak,M-:
ale z elispowym wyrażeniem już wypełnionym).repeat.el
(które podpieraC-x z z z...
), są drugie najbliższe. Na drugie pytanie zadane, o które klawisze zostały naciśnięte jako ostatnie, najlepszą odpowiedzią jestC-h l
(view-lossage
). Nie ma pożytku, IMHO, dladescribe-last-command
polecenia.C-x M-:
jako części makra klawiatury, co może być przydatne. Domyślnerepeat-complex-command
powiązania są trochę zbyt uciążliwe, aby można je było wielokrotnie pisać.Również,
M-x view-lossage
pokazuje ostatnie sto (?) Naciśnięcia klawiszy wprowadzony. Będziesz więc mógł zobaczyć, gdzie jest polecenie. To jest to, czego używałem, dopóki nie dowiedziałem się, oM-x command-history
czym myślę, że będęC-h w
teraz używał .źródło
Nie jestem pewien, ale może szukasz tego?
Podręcznik Emacsa, 8.11 Powtarzanie polecenia
źródło
z
same w sobie będą kontynuować powtarzanie.Może to też by pomogło ... Od emacs Help dosłownie:
źródło
Osobiście uznałam pomysł Sebastiana za przydatny. Oto działająca wersja
źródło
isearch
iisearch-backward
są ważne polecenia nawigacyjne, i że ten ostatni jest zobowiązany do <kbd> Cr </ kbd> domyślnie, można prawdopodobnie znaleźć lepsze wiążące dla wielokrotnych polecenia. Na komputerze Mac sugerowałbym Command (super) -Y, ponieważ niektóre aplikacje mają już konwencję używania tego jako przeciwieństwa „cofnij”.To jest stare, ale Google wyskakuje jako pierwszy, gdy szukałem ostatniego polecenia, które wpisałem w zachęcie Emacsa. Żadna z tych odpowiedzi nie zadziałała dla mnie, więc zdecydowałem się przeznaczyć moje dwa centy dla tych, którzy mogą się na to natknąć później, tak jak ja. Używam Portacle, ale znalazłem tutaj to, czego szukałem , więc mam nadzieję, że jest wystarczająco ogólny, aby pracować z różnymi konfiguracjami. W każdym razie to, co zadziałało, to używanie C-↑i C-↓cykliczne przechodzenie przez historię. Używałem M-pi również M-ndziałało, ale wolę używać strzałek, ponieważ często używam Bash.
źródło