One of the first things I learned at RC was how to use the Emacs operating system. Besides being good for lame jokes, Emacs is a text editor which is intended to be used with the keyboard only. There are features like moving between words, sentences and paragraphs with a low number of keystrokes.

I’m not saying you should use Emacs as your new editor, in fact continue with your favourite tool (Tip 22 from The Pragmatic Programmer: “Use a Single Editor Well”), but I recommend taking a couple of hours, say one, as a start, to pick up some hotkeys and the concepts of how it works.

Why? Because it will allow you to be more flexible regarding the tools you’re using. I am talking mostly about command-line tools in a Bash-like environment on the GNU/Linux operating system. Let me give you some examples from my experience:

  • I was able to pair with someone who was using Emacs and I could actually use the editor on their computer without being scared to break something. And I could save the file with the correct keystrokes (yay, as unfortunately it’s not <Cmd>+S).

  • I am learning to navigate the command-line more efficiently. When I am typing a command, I can now remember how to jump to beginning and end, jump between words, how to correct typos without deleting everything or moving very slowly with the arrows. Sometimes I look it up on the Emacs tutorial.

  • My commute to RC includes a 50 minute bus ride, so there’s plenty of time to kill. Recently I wanted to look at some documentation for Prolog, but I had no internet available. Oh no, what do you do? I started browsing the manpage which directed me to the info tool. I had no idea how to navigate through the pages etc, but when I looked at the help it looked very familiar to the commands I had picked up for Emacs.

That is actually no surprise, as GNU Emacs and GNU Bash and GNU info all have a common ground: GNU. So, although this stuff is not very easy to pick up, it gives you a better leverage in the long term towards using a large variety of tools. A good place to go now might be here.