emacs - 使用空间而不是控制来避免emacs小指?

标签 emacs elisp

我通过按 C-x 开发了一个 emacs pinky 案例。理想情况下,我想使用空格键而不是控制作为前缀命令,因为用拇指按住它更容易。按下和释放空格仍应添加空格,但同时按下 Space+x 应该可以绑定(bind)到命令。例如:

(local-set-key (kbd "SPC-s") 'search-forward)

有人对如何实现有任何想法吗?是否可以仅使用 elisp 来完成,或者我是否必须修改 emacs 源并编译我自己的版本?

我更喜欢独立于操作系统的解决方案,因为我在 Windows 和 Linux 上都使用 emacs。

编辑:
我尝试过 key-chord.el,它在某些情况下会有所帮助,但不是全部(C-x C-s)。我更喜欢次要模式,例如holding-space-is-control或holding-space-is-meta

编辑:
感谢所有的答复。我目前正在使用 key-chord 将许多 C-* 命令映射到 j* 或 f*,具体取决于 * 是左键还是右手键。例如,我将 C-x b 替换为 jb。它适用于您通常键入一次的所有命令,但不适用于您重复使用的命令(例如向前或向后段落)。这是迄今为止最好的跨平台解决方案,因为它只需要一个自定义的 .emacs 和 key-chord.el 文件。我更喜欢需要较少重新映射并降低键入“fyi”和获得“< yank >i”的风险的解决方案。我相信使用空间是可行的,但我对 emacs 的技术细节知之甚少,无法使其发挥作用。

我考虑过用 Ctrl 替换 Caps-Lock 或 Alt,但这只对左小指有帮助。许多常用命令是使用右小指(C-x、C-s、C-w、C-y)执行的。

最佳答案

我将 CapsLock 重新映射到 Control 以避免痛苦(不过使用 KDE 进行映射,而不是 emacs)。

更新:我也可以在 LXDE 和 MS Windows 中做到这一点。

关于emacs - 使用空间而不是控制来避免emacs小指?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8724667/

相关文章:

emacs - 如何将 <C-left> 发送到 Emacs 术语中?

file - Lisp if 语句 - emacs 初始化文件 ".emacs"

emacs - 在 emacs 中无法在终端模式下工作的 block 绑定(bind)?

linux - 如何使用一个 emacs 实例作为默认文本编辑器? [Linux]

emacs - 在 emacs 中拆分缓冲区后如何切换焦点?

linux - 通过不同颜色的变量打开emacs

json - Emacs 中类似模型/ View 的编辑

emacs - 在多台机器之间远程运行 Emacs

emacs - 如何检查变量是否设置为 elisp/emacs 中的内容?

emacs - 如何在 emacs minibuffer 中模拟返回