Emacs-like keybindings system-wide?
Solution 1
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.
Solution 2
Based on: https://superuser.com/a/516847/205010
Install gnome-tweak-tool:
sudo apt-get install gnome-tweak-tool
Open it:
gnome-tweak-tool
Go to
Keyboard and Mouse
and changeKey Theme
toEmacs
Solution 3
There is another solution not involving third-party apps posted here emacs keybindings in ubuntu 12.04
Related videos on Youtube
metakermit
Updated on September 18, 2022Comments
-
metakermit over 1 year
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)
-
holocronweaver over 10 yearsUsing this method will not work in applications such as Thunderbird, where Ctrl+F will be interpreted as "Find String" rather than "Move Cursor Forward".
-
dolzenko over 10 years@holocronweaver true indeed, I have given up on getting Emacs keys working in Thunderbird sadly, but most of the other inputs (notably in Chrome) almost work. I can't help but feel that the AutoKey solution is road to never ending fiddling and frustration too :) That said have you tried the solution proposed by kermit666 and if so - did it work for you?
-
holocronweaver over 10 yearsAfter a bit of editing to make it suit my tastes, the AutoKey solution has worked fairly well in Firefox and Thunderbird on Ubuntu 14.04. Still more testing to do.
-
Blackraspberryyy about 8 yearsthis is pretty cool, but lots of stuff doesn't work, i.e. C-b, C-k etc. the solution is probably pulling everything into emacs, i.e. browser, email etc. rather than trying to push the key bindings out beyond emacs
-
Eyal Levin about 8 yearsWhere does it not working? In my case it works most of the time pretty well.
-
Blackraspberryyy about 8 yearsIt seems that if an app implements an equivalent shortcut then that takes precedence. Which is awkward
-
Eyal Levin about 8 yearsI don't think it happens for all apps. I encountered in Chrome a few times that the global Emacs shortcuts took precedence over the specific web app shortcuts.
-
Blackraspberryyy about 8 yearsmy test case was using yahoo mail and gmail in a firefox browser. in both cases C-a C-e C-f C-p C-n worked as expected, but C-b toggled bold font, and C-k brought up a link dialog. So for my particular application it is a bit hit and miss - i'll have to give chrome a try and see if its any different
-
sxc731 over 7 years@bph: you can unmap default FF keybindings using the addons.mozilla.org/en-US/firefox/addon/s3menu-wizard add-in. This has enabled me to unmap the default FF bindings for CTRL+U and CTRL+K so I can erase the content of the search field without loosing the clipboard!
-
Sambatyon over 6 yearsSo I tried the forward one word <alt>+f but it kept clashing with opening a file in emacs. Did you face that problem? how did you solved it?
-
Pedro Luz over 5 yearsThis will not work if your running
emacs -nw
-
Admin about 2 years2022: in "Tweaks" it's under "Keyboard" and called "Emacs Input", second in a short list of toggles/controls.