Emacs has many useful functions, but for the most efficient use you really need to make keybindings (as previously discussed) for the ones you use often. There's no shortage of possible shortcuts, but the number of easy-to-remember bindings is fairly limited.
I can remember bindings that I use all the time like
M-w for copy (well,
fill-paragraph) to word-wrap a paragraph, even
if they're not that mnemonic (interestingly, it can be hard to verbalize
these bindings when someone ask me – but my fingers have no such
For functions that I use every minute, any weird key binding will do (as long as it is short). And functions that I use seldomly I can look up in a menu. The trouble is with those functions in between :)
Bindings that involve the arrow-keys are attractive, but I've found that
org-mode binds many of those already. And in the olden days, the
C-c-prefix was reserved for user-defined key bindings – but again,
org-mode and other packages have overtaken that those. So what's left?
Recently, I have been using the Windows-key a bit more. Under (my) X, it's
super, and emacs does not use it for anything else, so I have been
using it to create a set of useful key bindings. I am trying to be a bit
super + lowercase letter starts some 'application':
(global-set-key (kbd "s-a") 'org-agenda-list) ;; Agenda (global-set-key (kbd "s-n") 'org-todo-list) ;; todo-list (nextactions) ;; program shortcuts (global-set-key (kbd "s-b") 'browse-url) ;; Browse (W3M) (global-set-key (kbd "s-f") 'browse-url-firefox) ;; Firefox... (global-set-key (kbd "s-t") 'twitter-get-friends-timeline) ;; Twitter (global-set-key (kbd "s-w") 'wl) ;; Wanderlust
super + uppercase opens a file / special buffer, for example:
(global-set-key (kbd "s-S") ;; scratch (lambda()(interactive)(switch-to-buffer "*scratch*"))) (global-set-key (kbd "s-E") ;; .emacs (lambda()(interactive)(find-file "~/.emacs"))) (global-set-key (kbd "s-G") ;; gtd.org (lambda()(interactive)(find-file "~/.emacs.d/org/agenda/gtd.org")))
super + arrow keys I now use for
windmove (see here).
The windows-keys are not perfect of course – they don't work from the
console (easily) or, ironically, on Windows. But they are mnemonic – I can
s-t for twitter; contrast this with
C-x 5 2 to create a new
So, I wonder, does anyone have some clever scheme for their key bindings? I think I am getting much of the efficiency from emacs from the fact that I can do just about anything with some quick actions on the keyboard, so I'm very interested.