[emacs] Emacs에 (반복 명령)이 있습니까?

자주, 나는 다음과 같은 것을 찾고있는 제안과 문서를 파헤 쳤다.

(반복 명령)

방금 실행 한 마지막 C 또는 M 명령을 수행하십시오 (fn 키로 리바운드)

또는 때로는 관련 :

(마지막 기능 설명)

내가 실수로 어떤 키를 눌렀는지, 그 효과가 내 트릭에 추가하고 싶습니다. describe-key는 가까이 있지만 입력 한 내용을 알아야합니다.

신뢰하는 조수에게 너무 많은 질문을하고 있습니까?



답변

describe-last-function ‘ 과 관련하여 :

last-command마지막으로 한 일을 나타내는 기호로 설정된 변수 가 있습니다. 따라서이 생략 스 니펫은- (describe-function last-command)즉시 일어난 일에 대한 문서를 가져와야합니다.

그래서 당신은 describe-last-function그렇게 사소한 일을 할 수 있습니다

(defun describe-last-function()
  (interactive)
  (describe-function last-command))

그 elisp를 .emacs넣거나 동등한 것을 넣으면 Mx describe-last-function이 있습니다.

관심이있는 이후 몇 개의 키를 누르거나 마지막 명령을 수정 한 작업을 수행 한 경우 해당 command-history기능이 유용 할 수 있습니다. Mx command-history로 얻을 수 있습니다.


답변

repeat.el표준 Emacs 배포판에 포함 된 Emacs Lisp 패키지 가 반복 기능을 제공합니다 . 에서 repeat.el의 설명서 :

이 패키지는 인수를 포함하여 모든 명령이 무엇이든 이전 명령을 반복하는 명령을 정의합니다. 이 명령은 키 Cx z에 연결됩니다. 이전 명령을 한 번 반복하려면 Cx z를 입력하십시오. 바로 다음에 두 번째 반복하려면 z 만 입력하십시오. z를 반복해서 입력하면 명령을 반복해서 반복 할 수 있습니다.

반복 명령에 대한 추가 정보를 보려면 C-h F repeat RETEmacs에서 입력하십시오 .


답변

마지막 명령 반복

C-xz

일단 누른 z
후에는 그 후에 만
누르십시오 ( C-x다시 누를 필요없이 ).


답변

예, 반복 명령이 있습니다. 라는 repeat:

  • 으로 명령을 반복 하고 계속 반복하여 C-x z누르십시오 z.

repeat-complex-command키 바인딩에서 구할 수 있는 약간의 충격적인 사람 C-x ESC ESC.


답변

또한 M-x view-lossage마지막으로 입력 한 백 키 (?)를 표시합니다. 따라서 명령이 어디에 있는지 볼 수 있습니다. 내가 지금 M-x command-history사용하고 있다고 생각하는 것을 알기 전까지는 내가 사용한 것입니다 C-h w.


답변

나는 확실하지 않지만 아마도 이것을 찾고 있습니까?

명령 C-xz( repeat)은 Emacs 명령을 여러 번 반복하는 다른 방법을 제공합니다. 이 명령은 이전 Emacs 명령을 반복합니다. 명령을 반복하면 이전에 사용한 것과 동일한 인수가 사용됩니다. 매번 새로운 인수를 읽지 않습니다.

이맥스 매뉴얼, 8.11 명령 반복


답변

이것도 도움이 될 것입니다 … emacs 도움말에서 그대로 :

C-x M-ESC runs the command repeat-complex-command
  which is an interactive compiled Lisp function in `simple.el'.
It is bound to <again>, <redo>, C-x M-:, C-x M-ESC.
(repeat-complex-command ARG)

Edit and re-evaluate last complex command, or ARGth from last.
A complex command is one which used the minibuffer.
The command is placed in the minibuffer as a Lisp form for editing.
The result is executed, repeating the command as changed.
If the command has been changed or is not the most recent previous command
it is added to the front of the command history.
You can use the minibuffer history commands M-n and M-p
to get different commands to edit and resubmit.