Emacs守护程序:交换密钥

时间:2011-10-12 22:05:04

标签: emacs elisp dvorak emacsclient eshell

我想用Emacs守护进程交换C-x和C-u(因为我切换到Dvorak布局)。常规keyboard-translate不适用于Emacs守护程序。在help-gnu-emacs中,我找到了一个解决方案:我应该使用(define-key key-translation-map ...)代替(keyboard-translate ...)。然而,即使在很多情况下交换工作没有问题(例如,Cx),我一直在寻找交换不能正常工作的情况,例如在Cu Mx eshell中(当我输入最后一个命令时,我得到的是“eeee”。但如果我输入Mx两次,那么命令就像它应该的那样工作)。你知道解决这个问题的方法吗?

进一步详情:

这就是我在.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。

谢谢!

1 个答案:

答案 0 :(得分:2)

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