Using Joe’s Own Editor for writing

George R.R. Martin went on record saying he still uses Wordstar 4.0 on an old DOS Machine to write his epic 1000 page A Song of Ice and Fire novels. This seems to baffle some people - after all, the only people that don't trust modern technology are people that don't understand it. But often, we overlook that keyboard-driven interfaces are extremely productive once you're over the initial learning curve. I'm still convinced that data entry jobs were at peak productivity when they were terminals talking to mainframes, and that web- or mobile-based software will never, ever reach the productivity levels of those.

Robert J. Sawyer wrote an essay about Wordstar, helpfully subtitled "A Writer's Word Processor". In there he goes into some detail why it is so beloved among it's users:

But touch-typists find that using the WordStar Control-key commands is much more efficient, because they can be typed from the home row without hunting for special keys elsewhere on the keyboard.

To go to the end of the line, you press Control-Q and then D. This seems so much harder and arcane that just pressing the END key on your keyboard, but it can be done without moving your hands - you don't have to take your mind off writing. There is another really important feature that I'll go into details about: blocks.

WordStar, with its long-hand-page metaphor, says, hey, do whatever you want whenever you want to. This is a good spot to mark the beginning of a block? Fine. What would you like to do next? Deal with the block? Continue writing? Use the thesaurus?

After another half hour of writing, I can say, ah hah!, this is where I want to end that block. And two hours later I can say, and this is where that block should go.

Now, Wordstar 4.0 has a bunch of issues these days. One, it's somewhat hard to actually (legally) get it. Then, you need a way to run it on a modern system, e.g., though DOSBox. After you got it running, you know have to figure out how to get your files in and out of your DOSBox. And if you do, you might find that your files show up as gibberish because Wordstar uses 7-Bit encoding for the chars and the 8th (msb) bit as a control char - there are ways around it, but in the end, Wordstar is just too much of a pain these days.

Which leads me to the subject of todays posting: What would a "modern" alternative to Wordstar look like? There are plenty of powerful word processors out there, and there are plenty of distraction-free writers out there. I used iA Writer for most of my writing, especially since it's available on both iOS and Mac OS X. Then again, with my new Macbook I no longer carry my iPad around.

I eventually landed on one of the staples of *NIX systems: joe's own editor, or joe. It's that editor that seems to be mostly forgotten in a world divided between vim and emacs, but I found it to be an awesome writing tool. I use Version 4.0 (UTF-8), installed through homebrew (brew install joe) It's cross platform and also works on Windows.

It has a Wordstar mode, enabled by invoking it as jstar. When you press Control-J, the help opens on top, showing the most important keyboard shortcuts.

Deleting the current line from where the cursor is? Control-Q Y. That's quicker than Shift+END DEL because your hands don't move (even better if you're on a laptop or another keyboard that doesn't have dedicated DEL/END keys).

I've mentioned Blocks above. What's so special about them, isn't it just Cut/Copy/Paste? Yes and no. For one, you don't have to do it all at once. You can mark the beginning of a block (Control-K B), then keep on writing and then mark the end (Control-K K). Go where you want to move it - now or much later, the selection isn't lost if you move around or keep writing - and move it there (Control-K V). Or make a copy (Control-K C) Or delete it (Control-K Y), or undo (Control-U). You can write the block to a separate file (Control-K W), which is great if you want to do some reworking without losing what you had before.

One interesting feature is to filter the block through a Unix Command (Control-K /). If you have a list of words, you can filter it through tr "[:lower:]" "[:upper:]" to make it all-caps for example (the tr manpage shows some more examples). If you know your sed, you can do some real powerful text processing, right in the middle of your file without really having to leave your text editor.

This:

Becomes:

Overall, I think that joe is the editor of my choice for writing prose, because it combines distraction free writing with just enough editing capability to get the job done, all without having to think too much about the editor and moving my hands all over the keyboard to do stuff I have to do a lot. Toggling the help with Control-J allows me to quickly glance at a command while I'm still learning, but because the help isn't modal I'm not losing focus from my text.