emacs中不同的键盘布局键绑定

Cri*_*ing 5 emacs

我使用两种键盘布局 - 一种用于母语,另一种用于英语.问题是当我切换到我的母语键盘布局,并尝试执行键绑定命令.

是否有一种简单的方法可以告诉emacs使用默认的英语布局绑定来处理所有命令(C键,M键等)?

我已经看到了这个问题: Emacs中确定的键盘布局 ,其中一个答案模拟所有按键他们根据英语布局按键,但它提到它吃了加载时间,并且代码很长,不可读,从而可能容易出错我.

帮助我会感激.

cho*_*oba 5

许多布局管理器允许应用程序(甚至窗口)保持自己的布局.使用Emacs的英文版面,用你的母语写,切换输入法(C-\).


Ste*_*fan 2

如果两个布局使用完全不同的字符,那么您可以简单地让 Emacs 尝试“另一个字符”。例如,如果一个键b位于美国布局但\xd0\xb8位于另一种布局中,您可以使用:

\n\n
(define-key function-key-map [?\xd0\xb8]       [?b])\n(define-key function-key-map [?\\C-\xd0\xb8]    [?\\C-b])\n(define-key function-key-map [?\\M-\xd0\xb8]    [?\\M-b])\n(define-key function-key-map [?\\M-\\C-\xd0\xb8] [?\\M-\\C-b])\n
Run Code Online (Sandbox Code Playgroud)\n\n

OTOH 如果两个布局最终交换了一些字符,Emacs 确实需要知道哪个布局是活动的,以便知道是否重新映射键。我对键盘处理了解不够,不知道如何让 Emacs 告诉您当前正在使用哪种布局。

\n