October 5, 2004

Free text editors for the rest of us

Author: Preston St. Pierre

A good text editor is an invaluable tool. With text editors, you can perform a variety of tasks: coding and scripting, editing system files, building Web pages, and writing documents like letters and articles. Here are three text editors that balance ease of use with robust feature sets. Eddi gives you enough to get the job done, while NEdit and EditPad offer more advanced features to keep even demanding users happy.

Of course there is no shortage of text editors for Linux. But many an average user -- the non-technical person who may have moved to Linux from another operating system -- sees a heavy "geek factor" in most Linux text editors.

Take vi and Emacs. They're great editors, but they contain too many features. (In the colophon to his book Just A Geek, Wil Wheaton wrote, "I couldn't find the text editor in emacs.") And having to remember a number of keystroke combinations to carry out a simple task is no fun, either. Chances are many Linux users won't use a fraction of the power of either tool.

While features like c-tags, automatic code indenting, and regular expressions are great for programmers, they aren't useful for everyone. Some of us just want an editor that lets us write easily, edit a .profile file, mark up documents, and maybe cobble together a simple script.

Linux users running the KDE and GNOME window managers can get those tasks done with Kate and gedit, respectively. While they're nice applications, not everyone running Linux uses KDE or GNOME. Eddi, NEdit, and EditPad run under just about any Linux window manager.

Eddi

For pure simplicity, you can't beat Eddi. Eddi is written in Tcl, a popular scripting language. As such, Eddi can be run on any computer that has Tcl installed, regardless of operating system.

While Eddi doesn't have all of the features of the other editors discussed in this article, it does pack a lot into a very small package. Feature-wise, it's somewhere between a basic editor like xedit and the other editors being discussed here.

One of Eddi's nicest features is a tabbed interface that enables you to quickly move between open files. Another is the toolbar, which puts all of Eddi's main commands just a mouse click away -- no need to remember combinations of keystrokes or to dig through menus to find the command that you're looking for. While both of these features are standard in a number of applications, they are missing from many text editors.

If you're writing in HTML or LaTeX, you'll find Eddi's syntax highlighting abilities useful. Syntax highlighting is the use of color to differentiate between markup and text in a document. For example, if you're building a Web page, the HTML tags might be blue while the actual text is black. If Eddi recognizes the type of file that your working on, it automatically applies syntax highlighting. If Eddi doesn't recognize the file type (for example, you used the extension .ltx instead of .tex for your LaTeX documents), you can apply highlighting using a toolbar option.

Eddi also enables you to record macros (short programs that automate tasks). You can record only keystrokes, but if you have one or more repetitive tasks in your work, the macros you record can save you considerable time and effort.

One feature that sets Eddi apart from most other editors is its use of plug-ins. Plug-ins are little programs that extend the capabilities of software. You can configure Eddi to load only the plug-ins you want to use. Right now, the only available plug-in is for an HTML menu that enables you to add markup to your Web documents with a mouse click. However, the developers say that other plug-ins are in development. Some of the plug-ins that the developers hope to create include ones for sending and reading email, reading newsgroup posts, and transferring files via FTP.

On the downside, Eddi doesn't have a built-in spelling checker, or a way to link to an external spelling program like Aspell. I'm hoping that one of the plug-ins Eddi's developers cobble together is one that supports spell checking apps. As well, you need to install a library called Tix in order to run Eddi. Installing and using a library can be tricky and time-consuming -- something you may not have the patience for.

Eddi showing off its tabbed interface.

Positives: Small, easy to use, uncluttered interface.

Negatives: No spelling checker, requires you to have Tcl and Tix installed and properly configured.

NEdit

While widely considered to be a programmer's tool, NEdit is a great text editor for anyone who needs to manipulate words or files. From the outset, I have to mention that NEdit is the text editor that I most use.

Why? It's one of those applications that does everything that I need an editor to do, but isn't jam-packed with features that I rarely use.

In a lot of ways, NEdit is unobtrusive. There are no toolbars crammed with colorful icons, and no floating pallettes or workspaces to keep track of. The NEdit interface is simple, almost ugly. (Not xedit ugly, but not attractive either.) But the spartan look and feel doesn't detract from NEdit's performance. Version 5.5 of NEdit incorporates a tabbed interface, and there is a way to update the editor's look and feel by editing a system resource file.

As a writer, I find NEdit's spelling checker and word count functions to be invaluable. But the NEdit developers wisely didn't integrate these tools into the application. Instead, NEdit calls an external spelling program (Aspell on my Linux box) and the wc command, respectively. This keeps the size of the editor small while at the same time allowing you to choose the utilities that you want to use with NEdit. But in order to use those utilities, you have to modify the .nedit configuration file. Unless you know what you're doing, you can mess up the editor's configuration.

The search and replace features of NEdit are superior to those of many text editors in Linux and in Windows. If you have multiple files open, you can search for text strings or replace words and phrases across all of the files. With a single document, you can perform search and replace operations over all the text, or just the text that you've selected.

NEdit also has powerful macro capabilities. NEdit comes bundled with a few macros, including ones for stripping characters out of an email message or for completing words. You can record macros by capturing and playing back your keystrokes. On top of that, there are macros available for downloads from the NEdit Wiki support site.

There are two NEdit macro packages that I find incredibly useful. The first is the LaTeX-Pack, a set of macros that help you work with files created using the LaTeX typesetting system. Instead of going to the command line or typing in a string of commands, you can typeset and view LaTeX documents with a couple of mouse clicks. The other is Nftp, which adds a graphical FTP client to the editor.

While it's not the prettiest editor around, NEdit is a does a great job of working with text.

Positives: Great syntax highlighting for a variety of file types. Macros enable you to extend the capabilities of the editor.

Negatives: The interface isn't very attractive, installing macros can be difficult.

EditPad Lite

When I was a Windows user, EditPad Lite was a wicked little text editor I couldn't do without. When I learned that EditPad Lite was available for Linux, I immediately downloaded and installed it. I was more than pleasantly surprised to discover that the Linux version of this editor is an almost perfect copy of its Windows sibling.

If you're a Windows user who has made the jump to Linux, EditPad Lite will seem very familiar. It retains a distinctive Windows look and feel. It also uses all the standard Windows hot keys that you've come to know (Ctrl-C to copy text, Ctrl-P to print, etc.).

One of my favorite features of this editor is the tabbed interface. In Windows, EditPad was one of the first applications to use tabs. If you have multiple files open, clicking on the tabs is a fast and efficient way to move between the files.

Like NEdit, EditPad Lite has a great search and replace feature. You can search and replace text in one document or all of the documents that you have open in the editor, and in blocks of text that you've selected.

If you're exchanging text files from people using Windows or Mac OS, you'll find EditPad's built-in text converter to be a major boon. In different operating systems, line endings in text files are encoded differently. If you open a text file from Linux in Windows Notepad, for example, all of the lines may run together. EditPad Lite's converter modifies the line endings. Using it, you can effortlessly switch between Unix, Mac, and Windows text formats.

EditPad Lite disappointed me in two ways: it has no spelling checker, and it lacks syntax highlighting for certain type of files that I frequently work with -- specifically HTML and LaTeX. But if you're willing to fork over $40 for EditPad Pro, you get these features and more -- a spelling checker, customizable syntax highlighting, and the ability to integrate other tools with EditPad. But even without all the frills, EditPad Lite is both a comfortable environment in which to work and a flexible tool for all of your text editing needs.

Working on multiple documents with EditPad Lite.

Positives: Packs a lot of features without being top-heavy, nice tabbed interface, highly customizable.

Negatives: Lacks a spelling checker and several other features that are available in the commercial version of EditPad, and in several free editors.

Choices for everyone

Text editors aren't just for programmers. There's an editor out there for everyone who needs to work with words or files. The text editors discussed in this article are suited for just about any text editing job. I've used all three to write various documents (including this article) and have had no major complaints.

Don't take my word for it. Give Eddi, NEdit, and EditPad Lite a try. They're excellent alternatives to vi and Emacs.

Scott Nesbitt is a journalist and technical writer from Toronto, Canada, who does most of his work using text editors.

Click Here!