JOE: Old-School Text Editor Teaches New Lessons
Joe's Own Editor is an endearing text editor that brings old-school charm to any Linux distro.
Do not mistake being old-school for being outdated: JOE has been in use on the Linux desktop since 1988. It is a standard item in most distro repositories and is readily available in the Synaptic Package Manager as well. Unless you know about JOE, however, you will not be drawn to it, because it runs in a terminal window and has no fancy GUI. Almost everything you do in Joe keeps your fingers on the keyboard, and for new users, that is the user experience that may get in the way.
Its old-school appeal is readily noticeable when you first run it. Aside from a very minimalistic menu row on top, you access all of its features through keyboard shortcuts. So get comfortable with leaving the mouse alone.
JOE's terminal-based interface is reminiscent of early Unix and Linux tools like WordStar and Turbo C editors. I cut my computing teeth at the start of the PC era on early Apple and IBM PC systems, so the keyboard style and terminal atmosphere of JOE are both fun and productive for me.
Many of JOE's keyboard commands are similar to the look and feel of text editors I used with pre-Windows DOS PCs.
I spend a lot of time working online. Using JOE for taking notes and drafting editorial content is a refreshing change from the mouse-driven tasks that the Linux desktop does so well.
Once you learn the keyboard commands, JOE becomes a fast, distraction-free text editing tool. It works equally well whether you bang out program code or string sentences together.
JOE installs effortlessly. You will not find it in the menu, however. You run it from a terminal window with the command "JOE" plus the Enter key.
That gets you a nearly stark application window within the terminal. You can use the mouse to click on the limited menu options across the top of the terminal box. Your choices are: File, Edit, View, Search, Terminal and Help.
A better option is to use the Alt-and-first-letter combination to open the desired drop-down menu. Either way, just as in any terminal functionality, only a few options are available in these menus.
The quicker you learn the keyboard commands, the faster you will become productive with JOE. So open the keyboard commands menu with the Ctrl+K+H keys. Using those same keystrokes removes the commands menu listing from the top of the terminal window.
The keys to speed in using JOE are the Ctrl and K keys. If you know what other keys complete the command, you can enter them fluidly for immediate execution of the command.
Otherwise, leave the command menu list open and find what you need. JOE will wait for you. There is no time out.
If you are unfamiliar with the WordStar-style keyboard commands, it will take a while to learn the basics. Just give yourself time to adjust.
For example, all commands start with Ctrl+K. The specific command follows that combination. To search for text, use Ctrl+KF. To move to the next screen of text, use Ctrl+KV. To reformat a block of text, use Ctrl+KJ.
Note: I am using the + symbol to show the key combination. Do not use the plus key itself.
JOE works quite well with the default settings, but one of its strongest features is the near-infinite configuration potential hidden in its config file. You can have different settings for different types of text editing tasks. Just load the one you want for the work at hand.
Access all the settings from the Edit menu. There you will find settings for Profiles, where you can edit the Default file, create new profile files and delete existing ones.
You can bypass those options and jump directly to the Profile Preferences settings as well. That panel provides access to General settings, Title and Command, Colors, Background, Scrolling and Compatibility choices.
An added benefit is the option in Keyboard Shortcuts to enable menu access keys such as Alt+F to open the file menu and the F10 key to open the Menu row. Then use the arrow keys to navigate the choices.
JOE gives you all of the features you would expect from a text editor. What's different is how you access them using the keyboard instead of a menu.
You also get all of the features a Unix user expects -- but do not let that scare you if you are not from that background. Think of JOE as a text editor with no GUI.
The feature set includes a screen update optimization algorithm, multiple scrollable windows, a command history and TAB expansion in file selection menus. Add undo and redo functions, (un)indenting and paragraph formatting and the ability to filter highlighted blocks.
Other features include editing a pipe into or out of a command, block move, copy, delete or filter. You can also configure JOE to emulate Pico and Emacs-style editors as well as a complete imitation of WordStar.
Only one aspect of using JOE causes me a big inconvenience. Namely, I have to keep track of exact file names and where they are stored in order to reopen an existing file. Since I store files in several locations, the name game in Linux is a challenge to enter a file name from the keyboard command in JOE.
As a terminal application, Joe does not have a menu option to open a directory listing to choose a file. Even worse, there is no right-click access to opening a file in JOE selected from a file manager. JOE does not show up in any list of installed applications that a file manager sees.
Joe's Own Editor is a fast and handy text editor. It is small and runs on practically any hardware and distro combination. It is maintained by its original author, Joseph Allen. He usually updates the application in the spring each year.
JOE is not your typical modern text editor, but once you master its terminal-based methods, you might find it a handy substitute for GUI-based text editors such as Leafpad or gEdit.
Want to Suggest a Linux Application for Review?
Is there a Linux software application you'd like to suggest for review? Something you love or would like to get to know?
Please send your ideas to me, and I'll consider them for a future Linux Picks and Pans column.
And use the Talkback feature below to add your comments!