问题描述
有没有办法为整个操作系统设置 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
-
安装 gnome-tweak-tool:
sudo apt-get install gnome-tweak-tool
-
打开它:
gnome-tweak-tool
-
转到
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