keyboard shortcuts






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,
kill-ring-save), or M-q (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
trouble).



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
e.g. 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
bound to 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

systematic, where 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






and 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
remember s-t for twitter; contrast this with C-x 5 2 to create a new
frame.



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.


No comments:

Post a Comment

Followers

Popular Posts