Linux 3 min read

JOE: The Classic Editor with WordStar Superpowers

Suresh Suresh
JOE: The Classic Editor with WordStar Superpowers

In the early days of personal computing, long before modern IDEs or even the dominance of Vim and Emacs, there was WordStar. WordStar defined how millions of people interacted with computers in the 1980s.

Today, that legendary keybinding scheme lives on in a remarkably powerful terminal editor known as JOE (Joe’s Own Editor).

JOE is a classic, lightweight, and highly capable text editor that provides a surprisingly advanced feature set—including multiple window splits, regular expression search, and keyboard macros—all without the steep learning curve of Vim.

Why Choose JOE?

JOE sits in a “Goldilocks zone” between Nano and Emacs.

  • It is far more powerful than Nano, offering advanced window management and macros.
  • It is much easier to learn than Emacs, requiring no knowledge of Lisp or complex chord chains.

If you are a sysadmin who needs an editor that boots instantly, handles large files beautifully, and has a rich feature set hidden behind an intuitive help menu, JOE is an excellent choice.

Installation

JOE has been a staple in Linux distributions for decades, so installing it is trivial:

Ubuntu/Debian:

sudo apt update
sudo apt install joe

Fedora:

sudo dnf install joe

macOS:

brew install joe

To start the editor, simply type joe filename.txt.

When you open JOE, you are greeted by a clean interface with a simple status bar at the top of the screen.

The absolute most important shortcut to remember is Ctrl + K, then H. This toggles the Help Menu at the top of the screen. The help menu is incredibly well-designed and shows you every shortcut you could possibly need, updating contextually as you work.

Basic WordStar Navigation

If you don’t want to use your arrow keys, JOE uses the classic WordStar “cursor diamond”:

  • Ctrl + S: Move Left
  • Ctrl + D: Move Right
  • Ctrl + E: Move Up
  • Ctrl + X: Move Down

Essential Editing Commands

Unlike Vim, JOE is modeless. You just type to insert text. To perform actions, you use Ctrl shortcuts.

Saving and Quitting

  • Ctrl + K, then D: Save your file.
  • Ctrl + K, then X: Save your file and immediately exit.
  • Ctrl + C: Exit without saving (JOE will prompt you to confirm if there are unsaved changes).

Copy, Cut, and Paste (Block Operations)

JOE handles cutting and pasting slightly differently than modern editors, using a “Block” system:

  1. Move your cursor to the start of the text you want to copy and press Ctrl + K, then B (Begin block).
  2. Move your cursor to the end of the text and press Ctrl + K, then K (K-end block). The text will highlight.
  3. Now, you can press Ctrl + K, then C to Copy the block, or Ctrl + K, then Y to Delete (Cut) the block.

Search and Replace

  • Ctrl + K, then F: Find text.
  • Ctrl + L: Find the next occurrence of the text.

Advanced Power: Macros and Windows

What makes JOE better than basic editors is its advanced functionality.

Window Splitting: You can split your terminal to view two files at once!

  • Press Ctrl + K, then O to split the window.
  • Press Ctrl + K, then P to jump to the previous window.
  • Press Ctrl + K, then I to close the current window.

Keyboard Macros: Need to automate a repetitive edit? JOE has built-in macro recording.

  • Press Ctrl + K, then [ to start recording a macro.
  • Perform your edits.
  • Press Ctrl + K, then ] to stop recording.
  • Press *Ctrl + K, then * to execute the macro as many times as you need!

Conclusion

JOE is a testament to the idea that good software design is timeless. By combining the legendary WordStar keybindings with advanced features like macros and window splitting, JOE remains a top-tier choice for terminal warriors who want power without the paradigm shift of modal editing.

Suresh

Written by Suresh

A passionate technology enthusiast, blogger, and self-taught developer. I write about Linux, Open Source, Cloud Computing, and emerging technologies to help students and beginners learn tech for free.

Discussion

Loading comments...