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다시 누를 필요없이 ).
으로 명령을 반복 하고 계속 반복하여 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 명령 반복
이것도 도움이 될 것입니다 ... From emacs Help verbatim :
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.
개인적으로 나는 Sebastian의 아이디어가 유용하다는 것을 알았습니다. 작동하는 버전은 다음과 같습니다.
(global-set-key "\C-r" #'(lambda () (interactive)
(eval (car command-history))))
이것은 오래되었지만 Google 팝업은 Emacs 프롬프트에서 입력 한 마지막 명령을 검색하려고 할 때 이것을 먼저 게시합니다. 이 답변들 중 어느 것도 나를 위해 일하지 않았으므로 나중에 내가 그랬던 것처럼 넘어 질 수있는 사람들을 위해 2 센트를 넣기로 결정했습니다. Portacle을 사용하고 있지만 여기서 찾고있는 것을 찾았 으므로 다른 설정으로 작업하기에 충분히 일반적이기를 바랍니다. 어쨌든, 나를 위해 일한 것은 역사를 사용 C-↑하고 C-↓순환하는 것입니다. 사용 M-p하고 M-n잘 작동했지만 Bash를 사용하기 때문에 화살표를 사용하는 것이 좋습니다.
참고 URL : https://stackoverflow.com/questions/275842/is-there-a-repeat-last-command-in-emacs
'development' 카테고리의 다른 글
파이썬 : None을 빈 문자열로 변환하는 가장 관용적 인 방법은 무엇입니까? (0) | 2020.06.24 |
---|---|
URL SCHEME으로 Instagram 앱을 열지 않는 iOS 9 (0) | 2020.06.24 |
PHP에서 XML을 JSON으로 변환 (0) | 2020.06.24 |
목록에서 최대 값과 색인을 찾는 Pythonic 방법? (0) | 2020.06.24 |
iPhone 시뮬레이터에서 키보드를 사용하여 입력하려면 어떻게합니까? (0) | 2020.06.24 |