gpt4 book ai didi

emacs - emacs 中元命令的用户 super 键

转载 作者:行者123 更新时间:2023-12-04 14:46:08 28 4
gpt4 key购买 nike

我正在尝试学习 emacs,并希望将键盘上的 super 键用于 emacs 中的任何元命令,因为我使用 dwm 作为我的窗口管理器并且它广泛使用元键。我已阅读 this page , 用它来试试

(setq x-meta-keysym 'super)
(setq x-super-keysym 'meta)

没有运气。理想情况下,我想简单地翻转它们,但仅限于 emacs。当我用 C-h v 检查变量 x-meta-keysym 和 x-super-keysym 时,这些命令似乎确实被正确评估了。当我使用 linux 实用程序 xev 检查 super 键时,它确认我按下的键已映射到 Super_L。

最佳答案

我同意@Tyler

在我的例子中,我使用 dwm 作为窗口管理器,所以 meta (ALT) 键用于控制几乎所有的功能。使用 emacs 时,元键与某些键绑定(bind)发生冲突,例如:当我在 M-f 或 Mb 单词周围移动时(这就是我来到这个线程的原因;)),所以我找到了三个选择来解决这个问题:

1) 更改 emacs 键绑定(bind)并使用 super 键作为元键

(setq  x-meta-keysym 'super
x-super-keysym 'meta)

这两个符号(变量)都是必需的,因为如果您只使用 x-super-keysym 'meta,它会启用两个键作为元键。如果您只使用 x-meta-keysym 'super,它会同时禁用这两者,并且 de 命令缓冲区将返回 s-x 未定义。

2) 在 config.h 文件中将 meta 的 dwm 键绑定(bind)更改为 super 键。看看 http://dwm.suckless.org/customisation/windows_key
 /* key definitions */
-#define MODKEY Mod1Mask /* meta (ALT) key */
+#define MODKEY Mod4Mask /* super (windows or cmd) key */

3) 覆盖 xmodmap 键映射绑定(bind),将 mod1 交换为 super 并将 mod4 交换为 meta(一定要检查 xmodmap 第一眼返回的内容,不要影响其他程序的键绑定(bind))

最后,我建议不要更改默认的 emacs 元键,因为您的手指不太舒服,并且可能会导致您对击键响应缓慢。根据您的环境尝试选项 2 或 3。

关于emacs - emacs 中元命令的用户 super 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18970977/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com