【问题标题】:Emacs daemon: swapping keysEmacs 守护进程:交换密钥
【发布时间】: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


    【解决方案1】:

    您看到的是现有的 Emacs bug。我不确定此错误的优先级,但如果您将用户故事发送到错误跟踪器电子邮件:9417@debbugs.gnu.org,它将获得更多可见性并可能得到修复。

    【讨论】: