像Emacs一样的键绑定在系统范围内?


27

有没有办法为整个操作系统设置类似Emacs的键盘快捷键(至少下面提到的子集)?这在某些应用程序中是可能的,例如终端,Emacs(如图)以及通过其他一些应用程序中的特殊插件(Eclipse),但是我已经习惯了通过文本进行Cf-ing操作,而不必跳到箭头上希望能够在整个系统范围内执行此操作,这样我每次输入时都可以执行此操作-例如,在Rhythmbox中搜索歌曲,在破折号或HUD中键入内容,在Thunderbird或Gmail中编写邮件...我最感兴趣的组合是:

  • CF-前进
  • Cb-向后
  • 钙-家
  • CD-删除
  • CK-删除行

(对于非emacs用户请注意-C表示Ctrl)

Answers:


15

基于: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 ThemeEmacs


1
这很酷,但是很多东西不起作用,例如Cb,Ck等。该解决方案可能将所有内容都拉入了emacs,例如浏览器,电子邮件等。而不是试图将键绑定推出emacs之外
bph

在哪里不起作用?就我而言,它在大多数情况下都运行良好。
Eyal Levin

看来,如果应用程序实现了等效的快捷方式,则优先。这很尴尬
bph

我认为并非所有应用程序都会发生这种情况。我在Chrome浏览器中几次遇到过,全局Emacs快捷方式优先于特定的Web应用程序快捷方式。
Eyal Levin

我的测试案例是在Firefox浏览器中使用yahoo邮件和gmail。在这两种情况下,Ca Ce Cf Cp Cn都可以按预期工作,但是Cb切换了粗体字体,Ck弹出了一个链接对话框。因此,对于我的特定应用程序来说,它有点命中注定-我必须尝试尝试chrome,看看是否有任何不同
bph

14

按照此答案的建议,我设法使用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中都留下“字母键”-在我正在编辑的每个文本框中。是的!

更新:随着我更深入地使用AutoKey来微调所有内容,我进行了一些更改。您可以在我的dotfiles git repo中看到我完整的AutoKey Ubuntu-Emacs配置(并将其安装)。


因此,我尝试使用正向单词<alt> + f,但它与在emacs中打开文件一直保持冲突。你遇到这个问题了吗?您是如何解决的?
Sambatyon

4

还有另一种不涉及第三方应用程序的解决方案,这里发布了ubuntu 12.04中的emacs键绑定


在Thunderbird等应用程序中,使用Ctrl + F将其解释为“查找字符串”,而不是“向前移动光标”,因此无法使用此方法。
holocronweaver 2014年

@holocronweaver的确是这样,我可悲的是我已经放弃让Emacs密钥在Thunderbird中工作,但是其他大多数输入(尤其是在Chrome中)几乎都可以工作。我禁不住觉得AutoKey解决方案也是永无休止的烦恼之路:)也就是说,您是否尝试过kermit666提出的解决方案,如果可以,那么它对您有用吗?
dolzenko 2014年

经过一些编辑使其适合我的口味后,AutoKey解决方案在Ubuntu 14.04的Firefox和Thunderbird中运行良好。还有更多测试要做。
holocronweaver 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.