Most of my GNU Emacs learning time has continued to be spent writing elisp. I am very slowly starting to retrain myself on a couple of basic keystrokes:
M-g M-g (goto-line) and
M-% (query-replace) are two biggies, because my use of
ido-ubquitous mode actually means that my default use of
M-x to get to both of those is disrupted—the minibuffer no longer autocompletes in the same way, so if I’m going to have to relearn how to get to them, I should really re-learn the short versions.
Anyway, I did want to take a moment to sing the praises of the GNU Emacs Help facility, because it has been invaluable. Specifically
C-h f (describe-function) and
C-h v (describe-variable). While the help they give is necessarily brief, it’s often enough for someone like me, who just needs a gentle prod about something now and again. I even used
C-h f to look up the documentation for
if a few minutes ago, because I couldn’t remember if you had to do
progn to do a multi-statement else block.
So that’s it for today. Learn the rich set of commands that let you get right to what you need in the documentation—it will be invaluable for exploring emacs.
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.
The this blog had its genesis when I sat down to read the GNU Emacs Manual while we were travelling over the holidays—I figured I could skim it, maybe pick up one or two new things, but, really, it would mostly be just speed-reading.
What it actually proved was that I had never tried to read the manual recently, perhaps ever. I would stumble across basic stuff I feel like I should have known all along, and then an hour or two later would have to work very hard to remember what it was that I had stumbled across.
I have come to realize I retain things better if I write them down—I still don’t understand how I got all the way through college, since I never took notes worth a damn. So this is my public notebook.
While I know
M-f (forward-word) and
M-b (backward-word) at such a low level that I thought I didn’t know them until I used them without thinking about it, I didn’t know about
M-RIGHT/C-RIGHT (right-word) and
M-LEFT/C-LEFT (left-word), which do basically the same thing, but are a little bit more ergonomic since you’re not doing both keys with the same hand. Something to retrain, I suspect.
I probably also need to try to train myself to use my right
Meta key more; unfortunately, on my laptop keyboard, it falls somewhat awkwardly under my thumb, so it may take some time to make that transition.
Finally (for today), there’s
M-g M-g/M-g g (goto-line) which I use at least a couple of times a day…by typing
M-x goto-line. I think this will be a little faster.