This is how poor a user of Emacs I am: I still habitually use
C-@ (set-mark-command) to set the mark. I mean, on what planet is that easier or more ergonomic than
I actually started retraining myself to use
C-SPC a while ago, and it’s mostly taken—but I still occasionally catch myself going for that awkward pinky-thumb-middle-finger chord that fires
More interesting for me to learn how to use effectively is
C-x C-x (exchange-point-and-mark). I know I spend a lot of unnecessary time scrolling around the screen rather than targetting where I want to go. Internalizing
C-x C-x is, I think, the first step in moving a little faster.
But there are other tools, as well.
This blog is supposed to be about what I’m learning and how the process of refining my use of Emacs is going, so each week I’ll be looking at what I wrote about in the past week (or perhaps earlier) and assessing how much I’ve been able to change my habits or otherwise make use of my new knowledge.
So this first week has gone pretty well—using
M-g M-g (goto-line) instead of
M-x goto-line has come up a couple of times and I’ve remembered the new way of doing things, and similarly
C-/ (undo) for undo. The change back to the prior handling of
line-move-visual hasn’t come up as much as I expected—I have a much wider terminal these days, so it’s less of an issue—but I’m nonetheless glad to have made the change back.
The one thing I’ve not internalized, and that I’m not sure I’m likely to internalize, is using
C-LEFT (left-word) and
C-RIGHT (right-word) for by-word cursor motion. The benefits versus
M-b (backward-word) and
M-f (forward-word) just don’t seem to be there—it turns out that for me, keeping my hands on home row outweighs the awkwardness of doing it all with one hand.
I’ve actually done a lot of other stuff this week, too—I’ve started using org2blog for all of my blogging (and will write about it shortly), reorganized my init process, started using
ido-ubiquitous, and a few other things. But, for this week, this is the end.
For years I’ve been using
C-x u (undo) for undo. As much as I use it, though, I really need to get
C-/ (undo) under my fingers.
I never remember
revert-buffer, since I rarely get myself to the point where I want to just nuke everything from orbit—so perhaps it’s not surprising I rarely think about it.
In fact, I think the interface of GNU Emacs’ undo facility is one of the few places where it falls dramatically short of its potential. I really don’t know what sort of facilities that other editors have, but given the way that Emacs stores the history, I’m surprised that the baked-in functionality provides no way to access it more efficiently—I mean, there’s not even an explicit redo command, you have to just undo your undoings, ad infinitum. I’ve often accidentally started redoing things when I hit an injudicious key, etc.
Poking around EmacsWiki, I find a reference to UndoTree, which looks like just what I might like. Perhaps I shall package it up and see how well it works. If so, I’ll report back.