新手求助:怎么用S-x代替M-x

想用win+x(super-x)实现m-x的功能 但是使用命令:

(define-key key-translation-map (kbd “S-x”) (kbd “M-x”))

并没有用,会显示s-x is undifined,请问大佬们该怎么设置(尽量不用插件,也不改系统的键位)

求大佬指点

用小写的 s

 (define-key key-translation-map (kbd "s-x") (kbd "M-x"))

大写的是 Shift,参考这里:Modifier-Keys

The standard key bindings in Emacs do not include any characters with the Super and Hyper modifiers, and only a small number of standard key bindings use Alt. However, you can customize Emacs to assign meanings to key bindings that use these modifiers. The modifier bits are labeled as ‘s-’, ‘H-’ and ‘A-’ respectively.

3 个赞

win+x好像是系统的,不冲突吗?

其实如果用外置键盘的话,可以用 Menu 键来调用 M-x,在我的键盘上它就在右 Super 边上。

我用的Ubuntu 22.04,win-x不会触发系统 刚刚试了一下Windows系统,确实是系统的,可能需要系统里禁用一下

感谢大佬!我的键盘上也有这个键(cherry,在右ctrl左边,右数第二个键,图标是一个鼠标点击文档)

我其实想把metasuper调过来,和hhkb键盘或者macbook的风格一样

并且把键位对应成macos的风格,比如用alt(Meta)+c/v/x实现复制粘贴剪切

太详细了,感谢大佬。

我没找到这个doc,麻烦大佬了