adi*_*ess 6 emacs key-bindings emacs24
我正在尝试学习emacs,并希望在我的键盘上使用emacs中的任何元命令,因为我使用dwm作为我的窗口管理器,它广泛使用元键.我已经阅读了这个页面,用它来试试
(setq x-meta-keysym 'super)
(setq x-super-keysym 'meta)
Run Code Online (Sandbox Code Playgroud)
没有运气.理想情况下,我想简单地翻转它们,但仅限于emacs.当我用Ch v检查变量x-meta-keysym和x-super-keysym时,命令似乎被正确评估.当我用linux实用程序xev检查超级密钥时,它确认我按下的密钥映射到Super_L.
小智 6
我同意@Tyler
就我而言,我使用 dwm 作为窗口管理器,因此元 (ALT) 键用于控制几乎所有功能。使用 emacs 时,元键与某些键绑定发生冲突,例如:当我在单词 Mf 或 Mb 之间移动时(这就是我来到这个线程的原因;)),所以我找到了三个选择来摆脱这个问题:
1) 更改 emacs 键绑定并使用超级键作为元键
(setq x-meta-keysym 'super
x-super-keysym 'meta)
Run Code Online (Sandbox Code Playgroud)
两个符号(变量)都是必需的,因为如果您只使用 x-super-keysym 'meta,它会将两个键都启用为元键。如果您只使用 x-meta-keysym 'super,它会同时禁用这两个命令,并且 de 命令缓冲区将返回 sx 未定义。
2) 在 config.h 文件中将 meta 的 dwm 键绑定更改为 super 键。看看http://dwm.suckless.org/customisation/windows_key
/* key definitions */
-#define MODKEY Mod1Mask /* meta (ALT) key */
+#define MODKEY Mod4Mask /* super (windows or cmd) key */
Run Code Online (Sandbox Code Playgroud)
3) 覆盖 xmodmap 键映射绑定,将 mod1 交换为 super,将 mod4 交换为 meta(一定要检查 xmodmap 第一眼返回的内容,并且不影响其他程序的键绑定)
最后,我建议不要更改默认的 emacs 元键,因为它对您的手指来说不太舒服,并且可能会导致您对按键的响应缓慢。根据您的环境尝试选项 2 或 3。
因此,事实证明,当 emacs 不在终端模式下使用时,上述命令可以工作。我一直在终端上专门尝试它,这就是它不起作用的原因。我不确定如何在终端中修复它,但我想它已经足够好了。
编辑:终端仿真器在按键进入 emacs 之前就吞噬了按键,因此只要按键实际上进入了 emacs,原始命令就可以工作。
| 归档时间: |
|
| 查看次数: |
2827 次 |
| 最近记录: |