【发布时间】:2012-08-13 17:24:56
【问题描述】:
我最近一直在修改我的 Emacs 设置,但我遇到了一个开始让我烦恼的问题。我希望能够引入额外的修饰符,如键。为了让事情更清楚,我正在尝试做的是当我处于 dired-mode 时(它不接受文本输入,因此可以反弹普通字母)我希望这样当我按住字母 s并按j 或l 光标分别移动到下一个和上一个目录行。有效地使s 键充当修饰符。
我已经考虑让s 应用一个修饰符,例如super 或hyper,但这些都用于全局事物。这可能吗?如果没有,那就太可惜了。
编辑:
我所追求的似乎有些混乱。如果我定义一个普通的键序列,例如
(define-key map (kbd "s j") 'dired-next-dirline)
然后我必须在按j 移动到下一个目录行之前每次一直按s 键。这不是我正在寻找的东西(不要听起来很生气 :P)我希望 s 像一个修饰符一样我可以保持 s 键保持向下并继续点击j 以向下移动。
我希望我已经说得更清楚了。谢谢。
【问题讨论】:
-
我的理解是在 Emacs 中添加一个真正的修饰键是一个操作系统级别的过程。这对您没有用,因为您只希望它在某些 Emacs 上下文中如此行事。所以 AFAIK,你所要求的目前无法完成。
-
可能有一个命令临时更改键盘映射,这样您只需重复按键序列中的最后一个按键。
C-x e(执行宏)执行此操作 - 要重复宏,只需再次点击e。kmacro-call-macro的源代码似乎是开始阅读的地方... -
@legoscia 我喜欢临时更改键盘映射的想法,但我认为使用宏有点不必要。如果没有人想出更好的主意,您可能想将其发布为答案。谢谢
标签: emacs customization key-bindings