如何在 Emacs 中将超级键和箭头键绑定到 windmove?

如何在 Emacs 中将超级键和箭头键绑定到 windmove?

我正在尝试绑定 Super 和箭头键(s-ups-down等)以在 Emacs 中切换窗口。不幸的是,我无法正确设置它。

我正在运行 Kubuntu 13.04 和 Emacs 24.3.1。

xev 认为 Windows 键已绑定到 Super_L。

KeyPress event, serial 40, synthetic NO, window 0x4800001,
root 0x251, subw 0x0, time 7320920, (-362,216), root:(898,899),
state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

我在我的.emacs中尝试了以下操作:

(when (fboundp 'windmove-default-keybindings)
  (windmove-default-keybindings 'super))

我使用 describe-function (Ch f) 来验证 windmove 命令是否已绑定到 super 和方向键,例如s-left。但是,当我尝试使用该组合时,什么也没有发生。

我已经使用 view-lossage (Ch l) 检查了按下了什么,但超级加方向键没有显示。

有趣的是,我可以绑定 super 和一些其他键,例如 sh,并且 windmove 函数可以正常工作。

这让我抓狂。任何帮助我都会感激不尽。

答案1

对此的一个可能的解释是,您的窗口管理器正在捕获这些键绑定但不会将它们转发给 Emacs。

尝试在窗口管理器的配置中寻找Super+绑定,然后停用它们。arrows

相关内容