Emacs offers many handy key bindings; every now and then I come across a new one, which has been hiding there somewhere for a decade or more… Here are some of my favorites – I'm listing those that are (a) often useful, (b) might not be known by everyone already (c) don't require any external packages or setup.
-
M-27 x
gives youxxxxxxxxxxxxxxxxxxxxxxxxxxx
; and, believe it or not, works also with different characters and numbers; -
M-m
jumps to the first non-whitespace character on the current line; -
M-^
joins two lines into one – like vi(m)'s:join
, except that point must be on the second line, not the first; -
M-/
auto-completes based on words in all your buffers; there are more powerful alternatives, but this one does not require any setup; -
C-h k
followed by some key or key combination tells you what it does,C-h m
describes the currently active modes, with their key bindings; -
C-h f
documents the current function,C-h v
does the same for variables.C-h a
gives you information about commands - for example to getdate
-related commands, pressC-h a date
. This will, however, also get you commands related toupdate
; instead, you can useC-h a \bdate
(becauseC-h a
accepts regular expressions); -
C-x C-o
will delete all the empty lines around your current cursor position, except for one; -
M-q
re-aligns the current paragraph; I use it all the time when writing e-mails etc. (you might want to check out filladapt for a version that gives you a bit more smartness with indentations, lists etc.); -
C-x 8 RET
in a recent emacs version gives you an auto-completable list of special characters to insert. So if I need, say, the Yen-character, I typeC-x 8 RET ye TAB
and I getYEN SIGN
, whichRET
will then insert: ¥. Note that the completion only works on the start of the character name, so if you'd want to include the α-character, you'd need to know that its UCS-name isGREEK SMALL LETTER ALPHA
… (you can try*alpha
or TAB the empty string, and search in the results buffer, but that's rather slow); -
C-h l
shows your last 300 key presses ('lossage'). Interesting to see, and it might be useful when defining keyboard macros.
What are your favorites? Please share them in the comments.