当前位置: 首页>>技术教程>>正文


Emacs-like 键绑定 system-wide?

, ,

问题描述

有没有办法为整个操作系统设置 Emacs-like 键盘快捷键(至少是下面提到的子集)?这在某些应用程序中是可能的,例如终端、Emacs(看图 :),另外还可以通过一些其他应用程序(Eclipse)中的特殊插件,但我已经习惯了通过文本使用 C-f-ing,而不必跳转到我想要的箭头喜欢能够做到这一点 system-wide 这样我就可以在打字时做到这一点 – 例如在 Rhythmbox 中搜索歌曲,在 dash 或 HUD 中输入内容,在 Thunderbird 或 Gmail 中写邮件……我最感兴趣的组合是:

  • C-f – 前进

  • C-b – 向后

  • C-a – 家

  • C-e – 结束

  • C-d – 删除

  • C-k – 删除行

(非 emacs 用户注意 – C 表示 Ctrl)

最佳方案

基于:https://superuser.com/a/516847/205010

  1. 安装 gnome-tweak-tool: sudo apt-get install gnome-tweak-tool

  2. 打开它:gnome-tweak-tool

  3. 转到 Keyboard and Mouse 并将 Key Theme 更改为 Emacs

次佳方案

按照 answer 中的建议,我设法使用 AutoKey 解决了这个问题。我的一些短语是:

content                     |   hotkey             |   description
---------------------------------------------------------------
<ctrl>+f                    |   <ctrl>+<alt>+f     | replace the find operation
<home>                      |   <ctrl>+a           | begining of line
<end>                       |   <ctrl>+e           | end of line
<left>                      |   <ctrl>+b           | back one letter
<right>                     |   <ctrl>+f           | forward one letter
<delete>                    |   <ctrl>+d           | delete one letter
<home><shift>+<end><delete> |   <ctrl>+k           | kill line

(是的,杀戮线组合很难找到:)

你可以继续替换东西,但我不希望心理重映射变得很大(例如,ctrl+n 不会打开新窗口,但会转到下一行)。总而言之,AutoKey 是一款很酷的应用程序!

无论如何,现在我已经有了 emacs 人机工程学,无需在整个 Ubuntu 中离开 “letter keys” – 在我正在编辑的每个文本框中。是的!

更新:随着我更深入地使用 AutoKey 到 fine-tune 一切,我做了一些改变。您可以在我的 dotfiles git repo 中看到我完整的 AutoKey Ubuntu-Emacs 配置(并安装它)。

第三种方案

这里还有一个不涉及第三方应用的解决方案 emacs keybindings in ubuntu 12.04

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13583.html,未经允许,请勿转载。