wordgrinder
Create and edit text-based documents
TLDR
Start WordGrinder (loads a blank document by default)
Open a given file
Show the menu
SYNOPSIS
wordgrinder [OPTIONS] [FILE]
wordgrinder --convert INFILE OUTFILE
PARAMETERS
--help
Displays the help message and exits.
--version
Displays the program version and exits.
--import
Imports the specified file into a new WordGrinder document. Supports various formats.
--export
Exports the currently loaded document to the specified file, inferring format from the extension.
--convert
Converts an input file to an output file without launching the full editor.
--read-stdin
Reads document content from standard input instead of a file.
--write-stdout
Writes the document content to standard output upon exit, often used with --export.
--tty
Specifies a particular TTY device to use (e.g., /dev/ttyS0).
--no-auto-backup
Disables the automatic backup feature.
--no-spell-check
Disables the integrated spell checker.
--no-smart-quotes
Prevents the automatic conversion of straight quotes to curly (smart) quotes.
--tab-width
Sets the display width of tab characters (default is 8).
--key-bindings
Loads custom key bindings from the specified Lua file.
--theme
Sets the display theme for the editor.
--rcfile
Loads a custom configuration file instead of the default.
DESCRIPTION
wordgrinder is a full-screen, character-based word processor designed for the Linux terminal. It offers a minimalist, distraction-free writing environment, focusing on content creation rather than complex formatting or graphical elements. While it's primarily a plain text editor, it supports essential text formatting like bold, italic, underline, headings, and lists.
Unlike traditional graphical word processors, wordgrinder does not support images, tables, or complex page layouts. It saves documents in its own proprietary `.wg` format but provides robust import and export capabilities for common formats such as HTML, ODT (OpenDocument Text), Markdown, LaTeX, and plain text.
Its strength lies in its lightweight nature, ability to run on virtually any terminal, and its keyboard-centric interface, making it ideal for writers, programmers, or anyone who prefers a fast, no-frills environment for drafting text.
CAVEATS
Terminal-based: WordGrinder operates entirely within the terminal. It lacks a graphical user interface, limiting mouse interaction and visual fidelity.
Limited Formatting: While it supports basic text styling, it cannot handle complex layouts, embedded images, tables, or advanced typography found in GUI word processors.
Proprietary Format: Documents are natively saved in WordGrinder's `.wg` format, requiring conversion for use with other applications.
Keyboard-Centric: Efficient use relies heavily on keyboard shortcuts, which might require a learning curve for new users.
FILE FORMATS
WordGrinder uses its own internal binary `.wg` format for saving documents. For interoperability, it supports importing and exporting a wide range of formats, including HTML, ODT (OpenDocument Text), Markdown, LaTeX, Troff, and plain text. The `--convert` option is particularly useful for batch conversions.
KEY BINDINGS
The application is highly keyboard-driven. Common operations are mapped to Ctrl and Alt key combinations. For example, Ctrl-S saves the document, Ctrl-X exits, Ctrl-B toggles bold, and Ctrl-I toggles italic. Users can customize key bindings extensively via a Lua configuration file, typically found at `~/.wordgrinder/keybindings.lua`.
CORE PHILOSOPHY
WordGrinder adheres to principles of 'plain text first,' emphasizing content over elaborate presentation. It's designed to 'run anywhere' on virtually any terminal, making it highly portable. Its 'distraction-free' interface, with minimal on-screen clutter, helps writers focus solely on their prose.
HISTORY
Created by David Given and first released around 2011, wordgrinder emerged from a desire for a minimalist, distraction-free word processor that could run efficiently in a terminal environment. Its development focused on core writing functionalities, harking back to the simplicity of early text editors while offering modern conveniences like basic formatting and robust import/export. It appeals to a niche audience of retro computing enthusiasts, minimalists, and writers seeking an unencumbered creative space, and continues to be actively maintained.