7 command-line tools for writers

Put away your word processor and start writing from the command line using these open source tools.
333 readers like this.

For most people (especially non-techies), the act of writing means tapping out words using LibreOffice Writer or another GUI word processing application. But there are many other options available to help anyone communicate their message in writing, especially for the growing number of writers embracing plaintext.

There's also room in a GUI writer's world for command line tools that can help them write, check their writing, and more—regardless of whether they're banging out an article, blog post, or story; writing a README; or prepping technical documentation.

Here's a look at some command-line tools that any writer will find useful.


Yes, you can do actual writing at the command line. I know writers who do their work using editors like Nano, Vim, Emacs, and Jove in a terminal window. And those editors aren't the only games in town. Text editors are great because they (at a basic level, anyway) are easy to use and distraction free. They're perfect for tapping out a first draft of anything or even completing a long and complicated writing project.

If you want a more word processor-like experience at the command line, take a look at WordGrinder. WordGrinder is a bare-bones word processor, but it has more than enough features for writing and publishing your work. It supports basic formatting and styles, and you can export your writing to formats like Markdown, ODT, LaTeX, and HTML.

Spell checkers

Every writer does (or at least should do) a spelling check on their work at least once. Why? An immutable law of the writing universe states that, no matter how many times you look over your manuscript, a spelling mistake or typo will creep in.

My favorite command-line spelling checker is GNU Aspell, which I previously looked at in detail. Aspell checks plaintext documents interactively and not only highlights errors but often puts the best correction at the top of its list of suggestions. Aspell also ignores many markup languages while doing its thing.

A much older but still useful alternative is Ispell. It's a bit slower than Aspell, but both utilities work the same way. As you interact with your text file, Ispell suggests corrections. Ispell also has good support for foreign languages.

Prose linters

Software developers use linters to check their code for errors or bugs. There are also linters for prose that check for style and syntax errors; think of them as the Elements of Style for the command line. While any writer can (and probably should) use one, a prose linter is especially useful for team documentation projects that require a consistent voice and style.

Proselint is a comprehensive tool for checking what you're writing. It looks for jargon, hyperbole, incorrect date and time format, misused terms, and much more. It's also easy to run and ignores markup in a plaintext file.

Alex is a simple yet powerful prose linter. Run it against a plaintext document or one formatted with Markdown or HTML. Alex pumps out warnings of "gender favouring, polarising, race related, religion inconsiderate, or other unequal phrasing in text." If you want to give Alex a test drive, there's an online demo.

Other tools

Sometimes you just can't find the right synonym for a word. But you don't need to grab a "dead tree" thesaurus or go to a dedicated website to perfect your word choice. Just run Aiksaurus against the word you want to replace, and it does the work for you. This utility's main drawback, though, is that it supports English only.

Even writers with few (if any) technical skills are embracing Markdown to quickly and easily format their work. Sometimes, though, you need to convert files formatted with Markdown to something else. That's where Pandoc comes in. You can use it to convert your documents to HTML, Word, LibreOffice Writer, LaTeX, EPUB, and other formats. You can even use Pandoc to produce books and research papers

Do you have a favorite command-line tool for writing? Share it with the Opensource.com community by leaving a comment.

That idiot Scott Nesbitt ...
I'm a long-time user of free/open source software, and write various things for both fun and profit. I don't take myself all that seriously and I do all of my own stunts.


I don't use Wordgrinder in my daily writing. But I know a half dozen or so people who do (two of them pointed it out to me last year when I was writing that article you mentioned). Some use it to hammer out their first drafts or all drafts. Others adopted Wordgrinder for its simplicity and as a distraction-free tool.

In reply to by bcotton

I just tried Wordgrinder. I will stick with emacs/org-mode.

C-c C-x C-o

I love the prose linters, I installed Alex and proselinter after reading your article, very handy. I use a vim profile for writing and have to play with getting them all integrated, that would make for a stunning writing tool. Great article, thanks for sharing.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.