March 20th, 2017

WordGrinder: Distraction-Free Writing From the Command Line

WordGrinder is an old fashioned command line program that doesn’t try to do a lot of things. Its purpose is to get the job done, and stay out of the user’s way while doing it.

A few months back while perusing the latest news from the open source media, I came across an article listing five favorite command line tools, or some such nonsense. It turned out that one of the items on the list was a command line “word processor,” WordGrinder, which the article’s writer claimed to be an uber-easy way to write from the command line.

As it happened, I’d been looking for that very thing, so I immediately looked in the Mint/Ubuntu repositories, found it, installed it and took a look. Unfortunately, at the time I was busy, facing a couple of deadlines, so when I couldn’t figure the first thing out about it in five seconds or less, I closed the terminal and went to Bluefish to finish an article I was writing, while vowing to return to look further into WordGrinder as soon as I finished.

My memory being what it is, by the time I was caught up with my work I’d forgotten all about WordGrinder and never went back to look at it again. Until about two or three days ago, when I was again skimming through the open source news of the day and found another mention of this command line word processor.

“Oh yeah,” I thought. “I was going to look at that.”

I’d changed computers since I’d installed the program, so I had to visit apt again. And just like last time, I was busy, again with a couple of deadlines looming, but this time I gave it twenty instead of five seconds, which turned out to be all I needed to figure it out enough to get started.

As advertised, it’s uber-easy. Easy enough that I’m writing this article on it now.

One of my reasons for wanting to find a command line tool for writing is to do away with distractions. This may not be as much a problem to younger generations of writers who honed their writing skills using WordPerfect, Writer, or gawd forbid, MS Word, but to those of us who spent the first half of our careers sitting at a typewriter, modern GUIs are definitely a distraction. With a typewriter, there’s just you and the paper. And because of how typewriters work, you’re never tempted to continually go back to edit the paragraph you just wrote — which is a liability and not an asset, because it’s really nothing more than just another distraction. Job one is to get words on paper; there’ll be time enough for editing later.

For me, WordGrinder solves both of these problems. With the terminal window maximized, there are no distracting bells and whistles on the screen. It’s just me and the words I’ve written. And although navigation through the text for a little cursory editing is easy enough, not having the use of the mouse makes it just difficult enough to remove the temptation to “just stop for a moment and fix that paragraph.”

Actually, it’s this “distraction free” angle that was responsible for WordGrinder being developed in the first place. The program is the work of David Given, who wanted a distraction free way to write a novel. What he came up with is something that’s not dissimilar to code editors such as Vim or Emacs, but much simpler and easier to use. It’s also not a full featured word processor by any stretch of the imagination. But it does come with a surprisingly rich set of features, and my experience so far is that it’s perfect for getting words on paper for that first draft — which for me is the hardest part of writing. When you’re through, you’ll want to export your draft to LibreOffice or your favorite GUI text editor for speedy editing however.

A little WordGrinder 101

When you first open WordGrinder, you’ll see two horizontal and parallel lines bordered by two rows of small triangles. This defines your writing space, or your page, so you write between the lines, not unlike a coloring book. To bring up the menu, click Esc — or after you’ve learned your way around, Ctrl+letter to open a specified sub-menu directly. Next to each menu item there is a letter or set of letters that can be used as shortcut keys to activate a feature without bringing up the menu.

What this means that there are several ways you can…say, boldface a selection of text. You can make text bold before you type the text by going to Menu>Style>Bold>Enter (or simply by using the shortcut Ctrl+B) and then Menu>Style>Plain>Enter (or the shortcut Ctrl+O) to return to normal text. You can also make a section bold after it’s typed by selecting the section and then using the menu or shortcut to turn the selection bold.

Selecting text by way of Menu>Navigation is a little clunky, but thankfully, in a brief introduction on the project’s GitHub page, Given offers a method I find much easier:

“Some operations (applying character styles, cut and paste) require you to select text. To do this, move to one end of the area to mark; press CTRL+SPACE; move to the other end. The operation will be applied to the highlighted text between the mark and the cursor. Note that the marks are always placed on the left side of the cursor. Pressing CTRL+SPACE again will remove the marks.”

Anybody giving WordGrinder a test run should read the introduction first. It’ll only take about five minutes and it’s full of tips.

One area not covered in the intro, and which was particularly troublesome for me, was pasting material copied from other applications — such as the quote above that was copied from a browser — into WordGrinder. It appears that the clipboard function in the app’s menu operates independently from the system clipboard, and only records items that are saved from within the document. If I attempted to paste the above quote into this WordGrinder document using Menu>Edit>Paste or Ctrl+V, instead of pasting the expected quote, it would paste whatever I’d last copied from within the document, like a sentence I’d moved or something.

I found a work around by trial and error. Although Given goes to great lengths to explain in his introduction that WordGrinder completely ignores the mouse, this seems to be the one place where the mouse is necessary. After copying text from an outside source, like a browser or word processor, move WordGrinders cursor to the place where you want the copied material to appear, then right-click with the mouse and select paste from the context menu.

This might be unique to my system; I don’t know. Given explains that WordGrinder might work slightly differently in different terminals or operating systems.

By default, WordGrinder saves to its own format, which will not be readable by any application you might want to use to open the document for further editing or printing, which means you’ll need to export your document to another format before you can use it. The app will currently export into six formats: ODT, HTML, plain text, Markdown, LaTex and troff.

However, it’s not clear whether the ODT feature is working correctly. When I exported this article to ODT, it wouldn’t open and returned an error message in LibreOffice. Exporting and opening as an HTML file works fine, and would be a good work around, as you could then save the document in any LibreOffice supported format.

**********

After writing this article using WordGrinder, I’m reasonably certain that this will be my goto way of writing articles — at least for a while — with rewrites and editing taking place in Bluefish. I really like the simplicity of the app, and the distraction free environment it offers.

The app is available for Windows (with limited functionality) and Mac, as well as for Linux and other Unix-like operating systems. WordGrinder is released under the MIT license.

Related