Hacker News new | ask | show | jobs
by koenigdavidmj 4537 days ago
A lot of the Emacs shortcuts work in OS X (most of the system) as well as on Linux (bash and other users of readline).
2 comments

The basic Emacs key-bindings should work in all Cocoa apps. For instance, the URL bar of your web browser, while text editing in just about any editor (maybe even in Office, but I have not tired in a while), etc. Basically, anywhere you have a cursor, the basic line-editing key bindings should work.

So, in practical terms, this means you have 1 + n clipboards[1]. The main global GUI clipboard (using the command key), and then an app-specific clipboard (using the control key with Emacs bindings). As a developer, it is extremely helpful to have two clipboards in TextMate, for instance.

[1] Technically, the clipboard in OS X maintains a history (not sure what the limit is), but the OS X GUI only exposes the last cut/copied item.

defaults write -g NSTextKillRingSize -string 4
Can you shed some light on how to access those other three from the GUI (whether using the command key or some other means)?
Sorry forgot some steps...You also have to rebind C-y to 'yankAndSelect:' (https://developer.apple.com/library/mac/documentation/Cocoa/...)

For the most in depth info on the Cocoa Text System: http://www.hcs.harvard.edu/~jrus/site/cocoa-text.html

I use Vim and was unaware that this shortcut existed. Are there any other Emacs shortcuts which are useful in OSX?
If you do "set -o vi" you can also use vi shortcuts, such as ESC-j,k to go up/down the history, 0 to go to the beginning of the line, etc.
You cannot use 'set -o vi' to turn Cocoa text fields into vi-mode.
Ctrl-K kill to end of line,

so Ctrl-A Ctrl-K will clear a given field

And you can Ctrl-Y to paste the line you killed. This is a separate copy/paste buffer from the normal Cmd-C one, which can be nice.