함수에 대한 키 바인딩을 만들고 싶습니다.end-of-line+
값을 전달하고-1
섬에 대해 함수는 다음과 같이 선언됩니다.
- (줄 끝 +&선택적 n)
아래의 첫 번째 스니펫은 작동합니다(매개변수 없음). 그러나 다른 시도(매개변수 포함) 실패... 매개변수를 사용한 키 바인딩의 예를 찾을 수 없습니다. 이를 수행하는 올바른 방법은 무엇입니까?
(global-set-key (kbd "C-s-E") 'end-of-line+) ;; Okay!
(global-set-key (kbd "C-s-E") 'end-of-line+ -1) ;; Fails
(global-set-key (kbd "C-s-E") 'end-of-line+ '-1) ;; Fails
(global-set-key (kbd "C-s-E") '(end-of-line+ -1)) ;; Fails
답변1
아이디어는 원하는 사용자 정의 동작을 표현하는 새로운 함수를 구성하고 여기에 키를 바인딩하는 것입니다.
어느 쪽이든lambda
("익명", 제자리) 또는defun
(이 경우 참조할 수 있는 이름을 지정합니다.)
(interactive)
대화형 "명령"을 정의하려면 본문 앞에 추가해야 합니다 .
예를 들어:
... (lambda() (interactive) (end-of-line+ -1)) ...
또는
(defun my-end-of-line ()
"Invoke end-of-line with -1."
(interactive)
(end-of-line+ -1))