[2002-03-06]

The search for the Ultimate Editor

 

Introduction

Looking for the ultimate editor? Well, join the search!

Some people swear by emacs. Some swear by vi[m]. Some claim edlin is the best thing since pre-sliced cheese-in-a-box (a very small group), and some.. well, some just pipe /dev/random to a file and hope for the best (just kidding).

While I have nothing much against vim for a console-based editor, I don't find it a very satisfactory solution for my GUI desktop. I've been lucky to find an editor on the windows platform that I feel comfortable with, but now I'm looking for something similar to run under XFree on linux. The windows editor in question is called GWD, and while not perfect, it's much my center of attention when working on my computer, second only to my favorite web browser (Opera rules!).

What I want

GWD Editor Screenshot If you look at the picture of GWD editor it will be easier to follow my discourse on the favorable points of this editor. The picture depicts part of a source of a decompression algorithm I've reverse-engineered from a very old game (this might turn into an article of itself one day. Don't be alarmed by the code-inefficiencies; it was written to reflect the structure of the disassembly -- after validation it is rewritten for looks and optimized, but I digress).

Anyway. First of all you will notice the color scheme. I want my text to be yellow (white for reserved keywords) on darkish blue, just like the old Borland editors I grew up with. Meaning of course that the customization of the general color-scheme and the syntax highlighting is a must-have feature.

You will notice too the document tabs on the top of the screen, just under the menu row. Again, a must have. They may be present at the top or the bottom of the screen. They are there to give feedback on which documents are loaded, just as much as they are there as a way to change between documents. The interface, through the title bar, clearly reflects the full path to the document currently in focus. Anyone who has been working on multiple Makefiles or HTML index pages will understand the importance of this feature.

Please be observant of the complete absence of fancy buttons and other clutter in the interface. This is by my choice. I use the keyboard most of the time, if there is any function I don't know how to access from there, I'll just use the menu thank-you-very-much.

The status line at the bottom of the screen reflects the current line and column of the cursor, the symbol under it (in both decimal and hexadecimal, if applicable). Furthermore, feedback is given on the total count of lines, the edit mode and type of text file (DOS/UNIX/Mac -- all of which I can chose between in the save dialogue).

Returning to the editing area, we see that as I input a library function, strlen (done here of course only as a demonstration), a pop-up appears giving me the function definition, helping me -- should I need it -- supply the correct parameters in the correct order. This is part of the API Assistance / calltips functionality.

The little cyan dot to the immediate left of the editing area (yes, it is off limits -- you cannot edit that column) is a bookmark. Using bookmarks I can quickly jump between two or more sections of the document. Typically you will set a bookmark in the vicinity of the code you are currently working on, so that no matter how far you wander off in search of a definition or what not, you can quickly return and get the job done.

Not visible is the keyboard editing setup, which allows me to use standard Borland keyboard bindings for block copy/paste/delete. This is somewhat important to me, as those settings are now hardwired in my brain.

Other than that, it is much about the right feeling. I need extremely responsive scrolling on pageup/dn and the cursor keys, and no flickering. Ever. Anywhere.

Wanted features

Here's a quick rundown of the features I require in the editor:

Nice, but not required

Roadkill

Here I will present a rundown of the editors I have tried, but rejected for a position as the ultimate editor for one reason or another. Please note that me rejecting an editor and stating that it sucks doesn't mean that it is of no use [to anyone]; only that it doesn't fit my requirements.

gnotepad+

Does not do syntax-highlighting, amongst other things. (alas, gnotepad+ sucks).

gedit

Does not do syntax-highlighting. No status bar in screenshots. Other than that, looking good! (alas, gedit sucks).

kdevelop

I know, it really isn't fair to treat it as a plain old editor, but I'm quite desperate.

Evaluation pending

nedit

But where are the document tabs?

If you want to tip me off on a good editor, it would be much appreciated. Will you be the one to end my search?

©2002 Eddy L O Jansson. All rights reserved. All trademarks acknowledged.