If you use Linux in a professional capacity, it’s probably to either develop code or host a website on a server. The traditional Unix approach of using small tools that do one job well can be used effectively to create text for humans rather than computers.
In fact, that’s how the original developers of Unix at Bell Labs convinced their management to buy them a PDP-11 in the early ’70s. They would develop a system for processing patent applications. It was an early form of word processing.
Bell Labs also developed a package called Writer’s Workbench that could help researchers, clerks and other people developing documentation to write effectively. It could even detect sexist phrases.
The Writer’s Workbench is long gone, but you can assemble your own toolkit by using some Linux tools. Some come with most distributions and other you’ll have to install by yourself, but you can have a more flexible solution than a word processor like LibreOffice.
The first tool you’ll need is an editor. If you haven’t noticed, there are a lot of them available for Linux. The most popular ones are Vim and Emacs. I won’t go into too much detail on how to actually use them, but we have lots of posts with tips and tricks for various editors on this blog, including one for Vim.
To install Vim or Emacs on Ubuntu, just use these commands:
There’s a long-standing debate over which one is best, but you should just try both (or something else completely) and try which one feels best to you. And please, don’t argue about it on the Internet!
Another necessary tool that’s built into most word processors is a spelling checker. This is available as a seperate program in Linux. It’s called ispell.
To install it in Ubuntu, simply type this command:
You’ll have to install a language pack. If you use American English, for example, you’d install the “iamerican” pack as you would any other Debian/Ubuntu package. There are language packs available for any language you’d care to imagine.
To scan a piece of text you’ve created, just type:
You’ll get an interactive screen similar to what you’d use for a spell checker in a word processing package. It will flag words it thinks it’s misspelled, and you can either leave them or keep them.
Remember the Writer’s Workbench I talked about? There are a couple of GNU tools that replicate some part of the original project, called Style and Diction.
You can install them both with one command:
Both programs will analyze text for stylistic elements. Style displays readability metrics so you don’t bore your audience with overly formal language, and Diction attempts to help you get rid of wordy phrases with too many words in them.
You can call them with “style” and “diction” at the command line.
Advanced Text Processing
You can get into more sophisticated tools for doing things to text, like Sed, Awk and Perl. These are fully-fledged programming languages, and they’re beyond the scope of a short tutorial, but they’re worth digging into if you have to change a lot of data quickly. If you’re intrigued about using Linux for text, you might be interested in a book from the ’80s – Unix Text Processing by O’Reilly. Even though it’s old, it’s got a lot of good info still applicable to modern Linux systems.