On a good day I spend anywhere from 8 to 12 hours writing code. Unfortunately, even though I've been doing this for ten years now, I have yet to find a text editor that satisfies all my needs.
I suspect TextMate would fulfill all my wildest fantasies, but I don't have a Mac. A few months ago I wrote about e, which is currently the closest thing to TextMate for Windows. Sadly, my infatuation with e is quickly wearing off; it gets slower, more bloated, and less stable with each release. Intype shows promise, but is missing some very important features and is apparently being developed by a team of hypothermic sloths with refactoritis.
My needs aren't complex, nor are they numerous:
-
High performance, low resource usage
During a typical debugging session, I have Firefox, IE7, Opera, Safari, and an IE6 VMWare image running in addition to my email client, IM client, several SSH terminals, and my text editor. Every last megabyte of RAM is precious, yet many text editors (especially recent builds of e) have no qualms about gobbling up a hundred megs or more and responding like a pregnant cow in a lake of molasses. You're a fucking text editor, not a goddamn video game. Learn how to manage memory efficiently.
-
Good, customizable syntax highlighting
Shareable color schemes in the form of editable files is a must. GUI dialogs that force me to open a color palette and choose each individual color for each individual language construct are an instant disqualifier, especially if I have to do this for every single language (I'm looking at you Aptana).
-
Good anti-aliased font rendering
This comes for free on Windows if you just let the OS render the damn fonts, but plenty of text editors still seem to get this wrong. I have to stare at these fonts all day, every day, so I need them crisp and readable, not pixelated or blurry. If I can't use my favorite font, that's an instant failing grade (suck it, jEdit).
-
Some kind of outline- or symbol-based navigation
I need to be able to jump to any class, method, CSS selector, etc. instantly, preferably with a hotkey and a few keystrokes. This is one thing that e does very, very well, but that no other Windows text editor can seem to get right. It does me no good if you display the outline in a lovely treeview with expandable nodes for each class and method but don't give me a keyboard shortcut. I'm not going to use the mouse. I refuse. Mouse equals fail.
-
Stay the hell out of my way
I don't want auto-indent, I don't want auto-formatting, I don't want auto-complete, I don't want auto-fucking-anything. I know what I'm doing and I want you to get out of my way and let me do it, because if you try to do it for me you'll only fuck it up.
At this point, I've pretty much given up all hope of finding a Windows text editor that does these five simple things and does them well. I've resigned myself to the fact that I'm either going to have to return to the dark and painful world of desktop application programming and write my own damn text editor or I'm going to have to bite the bullet, get a Mac, and use TextMate.
Since I don't have the time or the desire to write my own text editor, it's looking like I'll probably end up throwing money at the problem. Sigh.
Comments
Notepad++
I've had some reasonable liking to Notepad++ on the Windows machine at work, though if you've honestly considered getting the Mac, you'll probably be pretty happy with it.
Notepad++ has some of the features you hold in disdain, but they're optional and not on by default.
http://en.wikipedia.org/wiki/Notepad++
have you tired Editpad?
I've been using the free "lite" version for years, and have never had problems with it. The "pro" version is cheap, and might even do all the things one your wishlist:
http://www.editpadpro.com/programmer.html http://www.editpadpro.com/editpadlite.html
TextMate
Honestly, nothing compared to TextMate. I do mostly Ruby/Rails development, but it is hands down the best editor I've ever used. It looks so simple on the surface, yet you will be amazed at how powerful it is..
Get a Mac
There are so many reasons why you'll love it.
*pad
Somehow I knew the first two commenters were going to suggest Editpad and Notepad++. Yes, I've tried them, and yes, they fail.
Vim? Emacs?
I assume you've looked at these?
TextMate rocks
Yeah, TextMate would definitely fill the niche you're after. It's pretty damn sweet out of the box, and is incredibly easy to extend. The Subversion support is excellent, and its snippets and macros are beautiful. I've only got two real gripes about TextMate: first, there's no split-window editing support, meaning that you can't be looking at two parts of the same buffer (or two different buffers) within the same window. That feature alone makes me sometimes fall back to Emacs, which has the best implementation of this feature that I've ever seen.
The second gripe is pretty esoteric- there's something going on within TextMate's main editor control such that editing long unwrapped lines- anything past about 150 characters or so- is painfully slow, and gets slower the longer the line gets. Wrapping solves the problem, but it's still annoying.
All in all, though, TextMate is one of the best things about developing on the Mac. It's an almost perfect marriage of all the good stuff that GUIs bring to the editing table along with the shiny capabilities of a shell (or perl, or ruby, or php) script.
Vim/Emacs/TextMate
dar512: Yeah. Emacs is okay, but it's still too crufty for my tastes. Vim can go jump in a lake.
bedrick: I'm a stickler for wrapping lines at ~80 characters, so I doubt I'd ever run into that problem.
80 characters
Yeah, the only time I ever really run into it is when I'm looking at or editing log files from certain programs.
Crimson Editor
Yes, I would agree. Although I do like auto-indenting. Crimson Editor works the best for me.
Yep, Notepad++
I just started using Notepad++ and so far, so good. I'm coding in a customized server-side Javascript, if you can believe it, so I don't expect a whole lot of help, but hell, it's free and friendly and easy to use and is probably a lot more powerful than I know yet.
No title
I am still looking for a simple text editor that has VSS integration. Homesite is the closest I have gotten, but I hate all the fluff that comes with it.
Cream
You apparently don't have much love for Vim, but have you taken a look at Cream? It's a extensively-tweaked Vim configuration which supports standard keyboard shortcuts for cut/copy/paste, file open/save, etc., and has support for normal mouse-based selection out-of-the-box, along with the usual suite of Vim syntax highlighting, build integration, etc.
Re: Cream
I looked at Cream after posting this blog entry. It's actually pretty nice, but it's a bit crufty and uneven. For example, to enable soft tabs (spaces instead of tabs), you have to turn autowrap on and set the wrap width to 9999.
Still, it does an excellent job of making Vim more accessible. I'll keep playing with it, but I'm not sure I'm ready to use it as my primary editor yet.
UEStudio
I've been using UEStudio for a while, sure you have to pay for it, but you really do get what you pay for.
Re: UEStudio
Sadly, UltraEdit fails miserably at #2 above, and doesn't do a very good job of #4.
TextPad?
I edit code off and on, hardly more then for an hour or so at a time and I use TextPad. Might be worth a look. It's also very very cheap.
Re: TextPad?
TextPad also fails #2 and #4. You people aren't listening. :P
EditPlus?
Have you tried EditPlus? http://www.editplus.com -- it's what I use.
How bout' this?
Dont get scared by the danish language website - the app. is english, and so is the documentation... i have used Webpad when it was around version 1.0? or so and was happy wiith it because of it's "lightweight and out of my face" way of doing it's job...
You can get the trial version here.
Full version cost ~32,27$ for a "personal licence" and ~54,09$ for a comercial one.
Scite?
Scite has a low RAM footprint, offers language-specific syntax highlighting, is somwwhat as customizable as EMACS, ports to compilers, tabbed buffers, and has interface-control configurations allowing you to kill auto-indent. And it's free.
Re: Scite?
Scite is very nice, but it still fails requirement #4.
Editplus
I code on it 7/9 hours a day and I'm still not blind (or mad), think you should give it a try. I've used used it to make regex replacements on 100Mb+ SQL files without a complain.
Coda for Mac is also wonderful.
macs, vi, windows...
yes, on the mac, you'll have nice choices, i like subetha edit.
but, on windows, i prefer ultraedit32. fast and cool.
but, in general, i just use vi. :)
Re: *pad
How exactly does Notepad++ fail? I personally use it for everything. It satisfies 1, 2, possibly 3 and 4, and 5.
Re: *pad
Notepad++ fails to satisfy #2 because the only way to customize the syntax highlighting is to use a GUI preferences dialog to choose each color. It's technically possible to manually edit the
stylers.xmlfile, but you'd still have to change each individual color for every single supported syntax, and the only way to swap between color themes is to overwritestylers.xml. I was very clear in my description of #2, and Notepad++ fails utterly.It also fails #4. While it has the ability to display a list of functions, the number of supported languages is slim (JavaScript and Ruby, for example, aren't supported). Furthermore, the only way to jump to a specific function is to click on it in the list; there's no keyboard shortcut. Fail.
Notepad++ also earns a special bonus fail by using Comic Sans MS as the default font for comments. Whoever thought that was a good idea should be drug out into the street and shot.
Slick Edit
Not free but the best navigation I've ever seen. Good Unicode support. Try the download at slickedit.com.
Just click on the symbol or function to open a window pane with the source for it.
Visual Studio?
What’s wrong with Visual Studio? It is free too. Of course, it’s good for the languages it supports. It is not that extensible, or I do not know how!
Arachnophilia on any platform
Check out Arachnophilia; it should meet most of your needs. It is free, works well with the default settings, and you can customize what you want. From arachnoid.com, written in Java, works on any computer.
A Good Text Editor Is Hard To Find
I started looking for text editors back in 1997 when I started to learn HTML. I liked the syntax highlighting to help discern tags, variables, etc.
Now I am starting to learn some PHP, a little C and a little Java. I have found some IDEs that do a good job all your above points, but no plain text editors. I have found that Crimson Editor does a fair job, but development seems to have stalled. The last release was in 2004.
My next computer purchase will be a Macintosh, so I’m hoping that TextMate will meet not only your requirements, but my needs for a quick text editor that does all the syntax highlighting I will ever need :)
Top 3
1) Pico for hacking my dhtmlz
2) Notepad for dot batz
3) Eclipse for my JavaBeanz
Generally speaking, text editors are way too fancy and hard to use. That is why I usually just redirect my applications to a file: echo “window.onload = function () { alert(‘best practices’); }” > /var/www/public/javascript.js
But seriously, if you have the patience to learn vi(m), it will grow on you.
You should try ConTEXT
Have a look at http://www.contexteditor.org. It´s freeware and open source.