이것은 내 .emacs 파일에 로드된 .el 파일에서 가져온 것입니다. 어떻게 생각하나요?
;;; Sun keyboard bindings
;; the below line does not work:
;; when <cancel> is pressed, the minibuffer echoes "Quit"
;; but that is the only thing it does
;; (global-set-key [cancel] 'keyboard-quit)
;; Note: I got the 'keyboard-quit from C-h c and then C-g
;; (C-g is the normal way for me to abort)
;; Those work, so it has probably something to do
;; with the peculiarities of 'keyboard-quit, rather than
;; the actual keybinding (or?)
(global-set-key [SunProps] 'describe-variable)
(global-set-key [SunFront] 'next-buffer)
(global-set-key [SunOpen] 'list-buffers)
(global-set-key [XF86Copy] 'clipboard-kill-ring-save)
(global-set-key [XF86Paste] 'x-clipboard-yank)
(global-set-key [XF86Cut] 'clipboard-kill-region)
답변1
Control+는 G다른 작업(일반 입력을 읽는 것 제외)을 할 때 Emacs를 중단해야 하기 때문에 Emacs 코어에 하드코딩되어 있으며 일반 방법을 사용하여 바운스할 수 없습니다. 기능이 있지만 set-quit-char
ASCII 문자로만 작동합니다.
(set-quit-char QUIT)
Specify character used for quitting.
QUIT must be an ASCII character.
This function only has an effect on the controlling tty of the Emacs
process.
간단히 말해서, 원하는 작업을 수행하려면 Emacs를 패치하고 다시 컴파일해야 합니다.
그러나 얻을 수 있습니다일부당신은 무엇을 원합니까? 당신이 그렇게한다면
(define-key local-function-key-map [cancel] [7]) ; 7 is C-g
then cancel
처럼 작동해야 C-g
하지만 Emacs가 일반 입력을 읽는 경우에만 가능합니다. 그런 식으로 오랫동안 실행되는 Elisp 기능을 방해하지 않습니다 C-g
. 그러나 C-x C-f
미니 버퍼 등에서 입력을 읽는 명령은 취소됩니다 .