Linux text editors: Do any make the grade?

Our exacting editor test-drives a whopping nine Linux text editors. Which ones crossed the finish line ahead of the pack?

1 2 3 4 5 6 7 Page 2
Page 2 of 7

What if, say, I want to create a new file in Emacs? Should I really need to check a manual? There's no "new file" option under the file menu, and a stab at control-N got me the admonition:

This buffer is for notes you don't want to save and for Lisp evaluation. If you want to create a file, visit that file with C-x C-f, then enter the text in that file's own buffer.

OK, except from where I'd ended up, Ctrl-X Ctrl-F just got me a lot of angry beeps. Not an auspicious start.

To create a file, the manual explains, "just visit it. Emacs displays '(New file)' in the echo area, but in other respects behaves as if you had visited an existing empty file. If you make any changes and save them, the file is created." Um, OK.

There is a lot of built-in help within Emacs, which you access simply by hitting Ctrl-H, but that help isn't all that understandable if you're a newbie ("C-k Info-goto-emacs-key-command-node. Type a command key sequence; it takes you to the Info node for the command bound to that key.") Unless you're experienced using early-era Unix editors, I'd strongly advise reading the manual.

In short, I can see why longtime Unix and Linux users and programmers would appreciate things like integration with version control systems. And if you already know and use these commands, perhaps they seem intuitive. But this isn't an application I'd recommend for someone with modest Unix or Linux knowledge, or for people who need to write and edit documents as well as programs.

Emacs ratings (on a scale of 1 to 10):

Ease of learning and use: 1

Look and feel: 4

Content editing (spell check, search/replace, etc.): 5

Simple HTML editing (bold, line breaks, ordered lists, etc.): 5

Customization (macro power, ease of creating): 5 (lots of capabilities, but not trivial to learn and use)

Total: 20

clear.gif
clear.gif

KVIM

There are people who swear by the old, command-line vi text editor. Then there are people like me who swear at it. I used vi for years, before the days of Web mail and POP-mail clients with GUIs, to write a weekly e-mail newsletter that I sent using the Unix "elm" e-mail program. I didn't mind elm, but just loathed vi. And it's not just we word-weenie editor types who detest it; I've got an IT manager friend who works on Unix systems who dislikes it, too.

The bummer of a user experience begins with the opening screen. If I'm running the command "vi newfile.txt" to start a new file, isn't it pretty likely that I want to start writing in it? Why does it open in "command mode," requiring me to type "i" before I can start my story? Not to mention having to remember things like "j" moves the cursor down one line, or "$" takes me to the end of a line. Ugh.

If you're a serious coder, some of vi's commands probably make a lot more sense. After working with regular expressions, where ^ signifies "at the start of a line" and $ "at the end of a line," I'm willing to admit that vi's ^ and $ probably weren't simply dreamed up to be annoying. Still, there's something to be said for Ctrl-right arrow. I'm well aware that a lot of hard-core coders find vi a useful tool, as one of my ham-radio friends told me recently in extolling its usefulness for various file management tasks. But I do not.

 
KVIM
clear.gif
KVIM's look and feel move vi into the modern era, but UI frustrations remain. (Click for larger view.)

My KDE Linux desktop came with a new, improved version of vi called KVIM. Vim is an updated version of the old vi, and KVIM is vim for the KDE environment. Unfortunately, KVIM doesn't improve the vi experience much.

This is an editor that's so nonintuitive that you'll need instructions before you can use it to type a single word. Without a doubt, KVIM is highly configurable, powerful and programmable. For example, the vim online manual shows code for changing a list of names in lastname, firstname format to firstname lastname format.

:%s/\([^,]*\), \(.*\)/\2 \1/

This isn't unique to vim; many scripting languages can use regular expressions to do this, too. For a text editor, though, a better approach is to offer an easier-to-learn interface for basic functions, and then offer more complex scripting for power tricks. Vim has the power, but comes up short on its UI.

1 2 3 4 5 6 7 Page 2
Page 2 of 7
7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon