3

I'm relatively new to Emacs and like it a lot, especially the navigation commands such as: C-e, C-a, C-f, M-f, C-n, C-p, etc.

Unfortunately, I often find myself trying to use them in other applications like Microsoft Office, Internet Browsers, etc. without success.

The key bindings sometimes work, such as C-e, C-a, C-n, C-p while I'm writing in the Safari Browser on OSX. But most other applications don't do this and I find it quite perplexing.

It gets even more confusing if you are using several operating systems. In Microsoft Windows, the Control key is used for all standard commands, so C-n usually creates a new document or C-p for printing, while on OSX the Alt or Cmd key is blocked for those. So to get a consistent set of key bindings on Windows and OSX and Emacs seems very difficult without at least breaking the most basic standards of one of those operating systems.

Q: How do you manage to do this on most operating systems?

  • Do you redefine key bindings also in other applications to match those of Emacs?
  • Or do you redefine standard key bindings in Emacs to avoid conflicts with standard key bindings of the operating system?
  • 5
    One option: assimilate everything into Emacs. Use TeX/Markdown and EWW. Or, tweak your OS. On Windows you can use AutoHotkey to intercept and remap key strokes. – nanny Dec 1 '14 at 20:46
  • 1
    Regarding AutoHotkey, take a look at emacs.ahk: "Allows you to use emacs-like key bindings on Windows environment". – rsenna Dec 1 '14 at 21:02
  • 4
    Martin: That tends to be the nature of using custom configurations. On Unix systems you can generally put all of your configuration files into version control, and can use that to (at least partially) recreate your environment on another machine. I don't know whether that's as easy to do on Windows, but if you find yourself having to use "Standard Windows" (or "standard" anything), you'll always have to accept that you don't have your customisations. – phils Dec 1 '14 at 21:24
  • 3
    @Martin: You asked a question about getting Emacs keybindings in other programs, but then you say that you don't want to modify your system to become reliant on Emacs keybindings in other programs. Which is it? – Ryan Dec 2 '14 at 3:43
  • 1
    It works in safari and a lot of text areas in Mac OS X because they are using the library readline, you can [check its manual to customize it through an init file] (cnswww.cns.cwru.edu/php/chet/readline/readline.html#SEC9) system-wide. It is not a complete solution as it doesn't cover Windows though. – PuercoPop Dec 2 '14 at 8:37
2

I see different options for solving this:

  1. to "outsource" text editing to Emacs by copying the text into an Emacs buffer, edit it there and then copy it back to the original application.

  2. redefine the same keybindings like in Emacs in other Applications

    • as I wrote before, this seems to be nearly impossible in a multi-platform environment, where the Alt-Key is "blocked" by system wide commands in MacOS X, while the Ctrl-Key is blocked in the same way in MS Windows.
    • some of those Emacs navigation keybindings do already work in Mac OS X, e. g. in Safari in text fields, which is really cool. But then I try to use others (like M-f, M-b) which are already bound to system wide commands like Cmd-f for searching, and it fails...
    • for Firefox there is e. g. the Firemacs extension, which redefines the key bindings. I liked it a lot in the beginning, but then got really really confused and frustrated using other computers without this extension, so I disabled it.
  • 2
    Yet another option is to do about everything in Emacs. I only use a browser and Emacs. In Firefox I use Keysnail.js for Emacs keybindings. – rekado Dec 4 '14 at 10:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.