37

Is there a way to set Emacs-like keyboard shortcuts (at least the subset mentioned below) for the whole OS? This is possible in some apps such as the terminal, Emacs (go figure :) and additionally through special plugins in some other apps (Eclipse), but I got so used to C-f-ing through text and never having to jump to arrows that I'd like to be able to do this system-wide so that I can do it whenever I'm typing - e.g. searching for songs in Rhythmbox, typing stuff into the dash or the HUD, writing mails in Thunderbird or Gmail... The combos I'm most interested in are:

  • C-f - forward
  • C-b - backwards
  • C-a - home
  • C-e - end
  • C-d - delete
  • C-k - delete line

(note for non-emacs users - C means Ctrl)

metakermit
  • 2,650

4 Answers4

26

Based on: https://superuser.com/a/516847/205010

  1. Install gnome-tweak-tool: sudo apt-get install gnome-tweak-tool

  2. Open it: gnome-tweak-tool

  3. Go to Keyboard & Mouse and toggle the Emacs Input option.

Screenshot of the Tweaks window showing the "Emacs Input" toggle inside the "Keyboard & Mouse" section.

18

I managed to solve the problem by using AutoKey, as recommended in this answer. Some of my phrases are:

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

(yeah, the kill line combo was nasty to find :)

You could go on replacing stuff, but I don't want the mental remap to grow to large (e.g. ctrl+n doesn't open a new window, but goes to next line). All in all AutoKey is a cool app!

Anyway, now I've got the emacs ergonomy of never having to leave the "letter keys" throughout Ubuntu - in every text box I am editing. Yeiii!

Update: as I got deeper into playing with AutoKey to fine-tune everything, I made quite some changes. You can see my complete AutoKey Ubuntu-Emacs configuration (and install it) in my dotfiles git repo.

metakermit
  • 2,650
6

There is another solution not involving third-party apps posted here emacs keybindings in ubuntu 12.04

Ev Dolzhenko
  • 4,749
0

gnome-tweak-tool has been replaced with gnome-tweaks:

  1. Install gnome-tweaks: sudo apt-get install gnome-tweaks.

  2. Open it: gnome-tweaks.

  3. Go to Keyboard & Mouse and switch Emacs Input on.