Questions tagged «keymap»

键映射是一种Lisp数据结构,用于指定各种键序列的键绑定。单个键映射直接指定各个事件的定义。当键序列由单个事件组成时,其在键图中的绑定就是该事件的键映射定义。

2
将普通键转换为修饰键
我有一个键盘,出于某种莫名其妙的原因,它具有一个将丹麦元符号发送到OS X-的键§。移位时,它将发送加号/减号- ±。 是否可以在Emacs中查看§密钥并将其转换为Hyper或Super?因此,如果我按住该§键并按f,它将H-f在Emacs中激活。 我已经尝试了以下方法,但不起作用: (define-key key-translation-map (kbd "§") (kbd "<Hyper>")) 它只是<Hyper> is undefined在按下键时说,根本不充当修饰符。 这也行不通: (define-key key-translation-map (kbd "§") "<Hyper>") 只是把§钥匙变成了<钥匙。

2
如何切换不同语言的键盘布局?
问:使用非标准键盘布局时,如何在不同语言的输入法之间切换? 我必须用两种不同的语言编辑文本。我希望能够跨两种语言使用我的键绑定,当然,除了在将文本插入缓冲区中时。看来我应该能够toggle-input-method(C-\)并选择其他语言。 到目前为止,还算不错。 麻烦所在:我使用英语Dvorak布局,该布局是在操作系统级别设置的(即,使用setxkbmap)。当我toggle-input-method使用QWERTY布局(美国标准)时,插入的文本将是正确的,但由于我使用的是Dvorak,因此显示为乱码。(FWIW,当我将布局切换到标准美国时,它可以正常工作。) 因此:我如何通知Emacs我正在使用Dvorak,以便toggle-input-method和朋友将我的按键转换成另一种语言的正确字符?


4
如何将您的键绑定到尚未加载的键映射?
我use-package用来管理已安装的软件包,并将bind-key操作分配给我喜欢的自定义键。 我覆盖了大多数默认的Emacs键盘绑定(例如,C-n变为M-k,C-p成为M-i),但是我可以接受其他模式来覆盖我的键盘绑定方案。有时,我希望我的键绑定继续存在。M-k除了默认的Gnus或Helm,我还想表达其他意思。 但是,它们在Emacs启动时彼此冲突,因为如果键映射不存在,我无法将其添加到该键映射中(因为use-package有时会延迟加载程序包)。例如,以下命令会引发错误(例如(void-variable helm-map)),因为Helm和Gnus尚未完全加载。 (bind-key "M-Y" 'helm-end-of-buffer helm-map) (bind-key "M-k" 'helm-next-line helm-find-files-map) (bind-key "M-s" 'other-window gnus-summary-mode-map) 我将所有use-package调用都放在一个文件中,并将bind-key自定义键绑定放在另一个文件中。我不想将绑定放入use-package调用中,因为也许我想将自定义键绑定方案发布为独立程序包。如果我希望安装我的方案的人也改写了Helm和Gnus本地键绑定,该怎么办? 我如何使用来管理本地模式的键绑定bind-key,以便即使最近装入程序包也设置所有键,并且所有键设置都在一个文件中?

1
如何从按键“代码”回到键盘的等效性?
我有以下文档: mc/keymap is a variable defined in `multiple-cursors-core.el'. Its value is (keymap (67108903 . mc-hide-unmatched-lines-mode) (27 keymap (118 . mc/cycle-backward)) (22 . mc/cycle-forward) (return . multiple-cursors-mode) (7 . mc/keyboard-quit)) Documentation: Keymap while multiple cursors are active. Main goal of the keymap is to rebind C-g and <return> to conclude multiple …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.