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 xgives youxxxxxxxxxxxxxxxxxxxxxxxxxxx; and, believe it or not,
works also with different characters and numbers;M-mjumps 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 kfollowed by some key or key combination tells you what it does,C-h mdescribes the currently active modes, with their key bindings;C-h fdocuments the current function,C-h vdoes the same for
variables.C-h agives 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 aaccepts regular expressions);C-x C-owill delete all the empty lines around your current cursor
position, except for one;M-qre-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 RETin 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 TABand I getYEN SIGN, whichRETwill 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*alphaor TAB the
empty string, and search in the results buffer, but that's rather slow);C-h lshows 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.