Emacs 매뉴얼에는 단일 명령에 대한 바인딩을 설정하는 예제 만 있습니다. 일련의 명령에 대해 수행하는 방법. 특히 다음과 같습니다.
사실상 한 줄 스크롤입니다.
명령 시퀀스에 대한 키 바인딩을 정의하는 솔루션이 아래에 제공됩니다. 요약은 다음과 같습니다.
이름이 할당 된 키보드 매크로 만들기
매크로를 키 조합에 바인딩
이 코드를 init.el
파일에 포함 할 수 있습니다.
(fset 'scroll-up-step
(lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ([21 49 prior] 0 "%d")) arg)))
(fset 'scroll-down-step
(lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ([21 49 next] 0 "%d")) arg)))
(global-set-key (kbd "M-<up>") 'scroll-up-step)
(global-set-key (kbd "M-<down>") 'scroll-down-step)
(global-set-key (kbd "\e <up>") 'scroll-up-step)
(global-set-key (kbd "\e <down>") 'scroll-down-step)
세부 단계 :
매크로 정의 시작
<F3>
KBD 매크로 정의 시작
C-u 1 prior
바인딩하려는 명령의 시퀀스
<F4>
KBD 매크로 정의 종료
최근 매크로에 사용자 지정 이름을 지정합니다 (충돌 없음!)
C-x C-k n scroll-up-step
다른 사용자 정의 명령에 대해서도 동일하게 수행하십시오.
<F3>
C-u 1 next
<F4>
C-x C-k n scroll-down-step
노트 :
이전 = PgUp / fn + up (Macbook)
다음 = PgDown / fn + down (Macbook)
Emacs에서 init.el을 엽니 다.
C-x C-f </path/to/init.el>
(일반적으로 "~ / .emacs.d / init.el")
init.el 파일에 매크로 lisp 정의 추가
M-x insert-kbd-macro RET scroll-up-step RET
M-x insert-kbd-macro RET scroll-down-step RET
사용자 정의 명령에 대한 키 바인딩을 init.el 파일에 추가하십시오.
(global-set-key (kbd "M-<up>") 'scroll-up-step)
(global-set-key (kbd "M-<down>") 'scroll-down-step)
(global-set-key (kbd "\e <up>") 'scroll-up-step)
(global-set-key (kbd "\e <down>") 'scroll-down-step)
단일 바인딩에 대해 키 바인딩 정의를 두 번 포함했음을 알 수 있습니다. 바인딩이 메타 키와 관련되어 있기 때문입니다. 메타 키는 GUI 모드에서 M으로 설명되지만 터미널은 여전히이를 ESC로 간주합니다 (alt / option 키를 눌러도). 따라서 나는 Emacs의 GUI 및 터미널 모드에서 작동하도록 두 번 정의했습니다.
이것은 일련의 명령에 대한 키 바인딩을 정의하는 가장 빠른 방법이 아닐 수 있습니다. 그러나 그것은 확실히 작동합니다. 누군가가 더 간단한 해결책을 가지고 있는지 궁금합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다