I need a Linux text editor to replace Textpad 4.7.3 (a Windows nagware app), but all the alternatives I've tried are either bloated or incomplete. Here are the features I find most important, in descending order:

Smart navigation keys: [home] toggles between start of line and start of non-whitespace, [F2] seeks to next bookmark, hitting the up and down arrow keys take you to the column where you last navigated, not where you last typed (I think Textpad's the only place I've seen this)

Run user-defined commands from program (such as compilers), have interactive command results (Textpad would let you define regexes to match filenames and line numbers so you could double-click on an error and be taken to that line in that file.)

Workspaces (collections of files to be open at the same time)

Here's what I've found distasteful in the editors I've tried:

Vim and emacs do not take full advantage of my screen, mouse, and keyboard. Also, there's have quite a learning curve -- you have to learn an entirely new way of interacting with the keyboard. (Of course, if they had everything I wanted, I would learn them.)

Gedit is almost perfect, but it (like most of them) has crappy tabbing, which is intolerable

Eclipse is a monstrosity, and I won't touch it unless I'm doing Java

Regex capability is frighteningly rare

Almost nothing has last-seen tab traversal

I've not seen anything with last-navigation-column cursor traversal. (Once I started using it I found I couldn't do without.)

I don't have the time or the specific knowledge required to build my "ideal editor", so I'm hoping someone out there with the same taste in editors might have stumbled across a gem.

ETA: Please don't recommend an editor you haven't personally used. I've heard of SciTE, Eclipse, gedit, medit, nedit, GVim, Gemacs, Kate, Geany, Gnotepad, ozeditor, etc. I'm sure that most of them have some of the features I mentioned. If you're not sure if it has an essential feature (e.g. ctrl-tab works just like alt-tab), then you're not really helping, are you?

I don't understand what you mean by "Vim and emacs do not take full advantage of my screen, mouse, and keyboard" -- not taking full advantage of the keyboard is a complaint never heard about vi.
–
ephemientOct 21 '08 at 4:14

What I mean is that it doesn't take advantage of all three. (It certainly has the keyboard down pretty well, even though it seems to entirely eschew modifier keys.) However, vim lives in a little terminal window, as does emacs. They also fail to make use of powerful GUI elements, like tabs.
–
phyzomeOct 21 '08 at 4:37

emacs doesn't live in a little terminal window unless you use -nw, by default it uses X. And xemacs at least uses tabs (although you probably wouldn't like them)
–
Mark BakerOct 21 '08 at 9:00

Vim and GVim, as of version 7, have real tabs now. Launch "vim -p *" instead of "vim *", or use :tabe instead of :e -- it's all documented.
–
ephemientOct 21 '08 at 14:41

Grrr, I'm starting to think this was a poorly-conceived or -worded question. Maybe I should have just called it "Linux replacement for TextPad?" or something like that. Mark, thanks for mentioning that about emacs. I thought it lived in a little terminal window, like vim.
–
phyzomeOct 21 '08 at 17:54

multiple ways of displaying buffers, and completely customizable keyboard navigation. One of my most used function is "go back to last buffer" which I have mapped to F12

* Auto-indent, indent preservation, and indent manipulation

(tab, shift-tab)

Yup. You can also set these to be tabs or spaces and convert between the two

* Smart navigation keys: [home] toggles between start of line and
start of non-whitespace, [F2] seeks to
next bookmark, hitting the up and down
arrow keys take you to the column
where you last navigated, not where
you last typed (I think Textpad's the
only place I've seen this)

Generally expected nav. Map these to your key of choice. If you place the cursor at a particular column and page up or up arrow, the cursor stays put in that column

I think you've misunderstood the cursor thing: 1) Write two lines of code. 2) Position your cursor (using arrow keys, mouse, etc.) in the middle of the top line. 3) Type a bit. 4) Hit the down arrow. Did the cursor drop straight down, or did it go down & back to the column in which you had put it?
–
phyzomeOct 21 '08 at 4:42

By default, it doesn't show any gui for tabs. You have to turn on the option with the 'set tabline=2' command. Also, ctrl-tab / ctrl-shift-tab won't work in the MS Windows model unless you write some impressive functions. Next tab / prev tab could be mapped pretty easily though. Great editor.
–
Eric TuttlemanOct 21 '08 at 4:03

(G)Vim will always show tabs if you use -p or :tabe ... Also, gt/gT/:tab# are a lot easier to hit than Ctrl-(Shift)Tab, IMO.
–
ephemientOct 21 '08 at 4:12

I think you're making a serious mistake in being so extremely picky on how things should work. You will probably not find something which is exactly like TextPad in every single respect. You're missing out on some great functionality in some of the suggested text-editors.

One thing I've learned during my years using Emacs is the answer to the question "can you do X in Emacs" is always YES! (Of course, there are a few cornercases where this isn't true, but it is basically a good approximation of reality.) So, I realized that someone probably already has implemented a module for making Emacs more Windowsy (CUA-shortcuts, Ctrl-Tab, etc.) After googling on "windows keys in emacs", I found EmacsW32. It seems to have many of the features you're asking for:

Regexp support: Yes

Ctrl-Tab buffer switching: Yes

Auto-indent: Yes

Syntax highlighting: Yes

"Smart navigation keys": Not directly, but this should be possible with a simple rebinding of the proper commands.

Block select: Yes

User-defined commands: Yes

Jumping directly to compiler error locations: Yes, but if you're using a compiler with a non-standard error format, you may need to tweak the regexps used to extract error messages

Workspaces: Yes (I think this included as a standard package nowadays)

And remember, Emacs has a big and active community with a lot of resources online, and a lot of people who are willing to help you customizing Emacs. If you're missing a feature in Emacs, chances are someone else has already implemented it!

It looks like that's only for Windows. I didn't see a way to put it into Linux. :-/
–
phyzomeOct 23 '08 at 18:30

Details, details. ;-) The important point is that there are Emacs-modules which makes Emacs work like a normal Windows programs.
–
JesperEOct 23 '08 at 19:14

We've all got enough projects without our editor being one too. It's not a mistake to be picky. Crappy editors are incredibly expensive if you spend 12 hours a day using one. Maybe the cost of certain critical features is worth making the editor into a project, but I'd rather pay for an editor that I didn't have to build myself.
–
MnebuerquoApr 28 '09 at 19:15

But it is a mistake to be so picky as to discard good editors just because you can't be bothered to relearn anything, which I think was my point.
–
JesperEApr 29 '09 at 4:06

It runs decently well overall, but there are some major bugs. It doesn't handle dot-files very well, the color picker for syntax highlighting is screwed up, the file extension lists in the per-language prefs are almost un-editable... It's not pretty.
–
phyzomeOct 21 '08 at 3:31

I don't use it much anymore, but before I learned gvim, I used wine / notepad++ . It does have the tabbing right. RegEx / highlighting / bookmarks and most of everything. One of the worst graphics on a web site too. :)
–
Eric TuttlemanOct 21 '08 at 4:05

Have you tried Kate? I'm not sure it complies with all your requirements, but it may. Also, for a more development oriented tool, you could try KDevelop, whose default editor is Kate (but you can change for any other editor implementing the KTextEditor interface)

Komodo Edit by ActiveState has a linux version, and it does most of the things you describe. I've been using it 24/7 for well over a year now, and while I don't like it, I haven't found anything better on Linux. It's the reduced feature free version of their commercial product, and if it worked better I'd be tempted to buy their more-featured Komodo IDE.

It's not real stable, at least on my system. It crashes a lot or freezes, so save often if you try it.

I recently upgraded to version 5 from 4.2, and it was not an improvement. They broke a lot of things so I'm going to go back to 4.2. The main thing they broke which really makes me sad is the tabs for editing multiple files. In 4.2 they had the x to close in the right edge of the tab row, where its position never changed. In 5 it moved to the end of the active tab. Now you can't close multiple files without aiming the mouse for each one.

I used Eclipse before Komodo, and Komodo 4.2 is less bad than Eclipse was a year ago.

Really, this response isn't an endorsement of Komodo Edit. I'm really not happy with it, and I'm hoping you find a good editor with this question so I can switch too.

I recently jumped from Mac to Linux (Ubuntu), and have been missing BBEdit. After months of bouncing back and forth between gvim and gedit and finding jedit kinda clunky, I believe Geany is the answer for me. Totally intuitive out of the box, lots of goodies when you start digging.

Not sure if it gets an A on the phyzome test, but certainly an A-minus:

Fully configurable syntax/color themes -- I just installed a dark theme created by Barry Van, but you can create your own if you want. Have to admit I'd never thought about mixed-language highlighting as a real possibility, so not sure about that one.

Multifile search, regex.

Directional and historical tab navigation.

Great auto-indent options (different brace modes, tabs vs spaces, you can even edit with tabs and have it autoconvert to spaces on save!)

I honestly don't think about "smart navigation keys" too much (beyond the basics), so can't really speak for that, but it does seem to have a lot of config options for keyboard shortcuts..?