【发布时间】:2024-01-14 08:47:01
【问题描述】:
我想用 Emacs 守护进程交换 C-x 和 C-u(因为我切换到 Dvorak 布局)。常规的 keyboard-translate 不适用于 Emacs 守护进程。在 help-gnu-emacs 中,我找到了一个解决方案:我应该使用 (define-key key-translation-map ...) 而不是 (keyboard-translate ...)。但是,即使交换在许多情况下(例如 C-x s)都可以正常工作,但我一直在发现交换无法正常工作的情况,例如在 C-u M-x eshell 中(当我键入最后一个命令时,我得到的只是“eeee”。但是如果我输入 M-x 两次,命令就会正常工作)。你知道解决这个问题的方法吗?
更多细节:
这就是我的 .emacs 中的内容:
;; swap C-x and C-u
(define-key key-translation-map [?\C-x] [?\C-u])
(define-key key-translation-map [?\C-u] [?\C-x])
我使用的是 Emacs 23.3.1。
谢谢!
【问题讨论】:
标签: emacs elisp dvorak emacsclient eshell