One of the programs I use most often on a day-to-day basis is a text editor. On Windows, I've been using UltraEdit for several years. Things are a bit more interesting on the Mac. The text editor that comes with OS X, TextEdit, is a more advanced than Wordpad on Windows, raising the bar for text editors on the Mac. It supports rich text editing and does basic search and replace. It's probably enough for the casual text editor. Considering the three most used programs on my system are my e-mail client, browser, and text editor, TextEdit just isn't enough.
When I started using a Mac a couple years ago, it seemed like BBEdit was the way to go. Fortunately, TextWranger, a stripped-down and free version of BBEdit, came along shortly thereafter. It had all of the features I would have used in BBEdit anyway, so I started using it. It wasn't quite UE, though, as it was missing a lot of the stuff I had come to love about UE. One of the great things about UE is that every time I realized there was a feature I needed, UE already had it. Some of the features are:
- User-definable blocks of text (templates/stationary) that can be inserted into a document either on creation or while editing, i.e. an HTML block with doctype, and other required elements already there
- The ability to send the current document to the default viewer, such as a browser
- The ability to trim whitespace characters at the end of lines with the push of a button
- Automatically reopen all files from previous session
- Similarly, allow separate workspaces that make it easy to open groups of files
- Search and replace with regular expressions
- User-configurable syntax highlighting
- Edit multiple documents within one window
- Line numbering
- Soft wrapping, so text that reaches the end of the line wraps to the next line without increasing the line number
- Configurable fonts and colors
- SFTP/SCP integration
Bonus features I'd like that aren't in UE:
- Check spelling as you type
- CVS/SVN integration
When I got my MacBook Pro, I set to the task of finding a replacement for UltraEdit (UE) on the Mac. I had already heard about a number of editors, such as SubEthaEdit, TextMate, Smultron, and skEdit, but I went and did a bit more searching anyway. Luckily, digg.com (the SlashDot of Mac news) had a story about the Top 10 must-have Mac applications (it may have been 10 Apps Every New Mac User Should Download), which helped a bit, too. VersionTracker is another great resource for software reviews, so I did a bit more digging there.
After trying a handful of text editors, I settled on TextMate and have been using that for roughly the past month. My trial period ran out over the weekend, so I'm going to give some other editors a good testing before I invest in TextMate. Though TextMate doesn't have the full list of features above, it supports many of my must-haves, including workspaces (though I don't quite have them working ideally yet), templates, and line numbering. To top that, there's great documentation and a helpful bunch of folks on the TextMate IRC channel. I'll probably get a license sooner or later since I doubt any of the other Mac text editors can live up to it.
One of the other text editors that's worth mentioning is SubEthaEdit due to its unique multi-user capabilities. Another new Mac user gave a really good description of a live demo, where multiple users edited the same document simultaneously. I don't do much interactive editing, but it may come in handy for CVS and SVN work. I was lucky enough to pick up a free license yesterday thanks to BlogZOT 2.0 over at macZOT. Getting free software rocks.
Fellow Mac users: Are there any other editors I should give a try?


Note: Comments with a light blue background were made by the site owner.
I'm using BBEdit at work,
I'm using BBEdit at work, and I can't see myself switching from it.. BTW, BBEdit has CVS integration, but not SVN.
Nice to see new pictures of you, gives us here in Norway a chance to watch Sara Ellen grow up even if we're not there with you.
You should try TextMate.
You should try TextMate. It's pretty cool.
We'll keep putting pictures up, don't worry. :)
Emacs
I am no mac user but I noticed that emacs exists for the mac. High learning curve but I don't regret that I started with it 7 years ago. At least it has all the points you mention.
http://www.emacswiki.org/cgi-bin/wiki/EmacsForMacOS
I actually use Emacs when
I actually use Emacs when I'm in a terminal or ssh session, but prefer a text editor that uses the standard OS keyboard shortcuts. Plus, the Ctrl key is a pain to work with on this keyboard.
Re: Ctrl key is a pain
Remap Control to Caps Lock. That's where Ctrl key was on actual VT100 terminal, so you can get the Original Emacs Experience(tm) ;)
I use the Caps Lock key.
I use the Caps Lock key. :P
Some problems with TextMate
TextMate author insists that tab *should* overtype selection and that cmd + ] is "the One True Mac Way" of indenting code.
Another problem is jumping to between pair or brackets - there isn't such function. You can select them, you can fold them, but you can't move cursor. This feature is on "maybe someday" TODO list :(
But besides these annoyances TM is quite nice and I haven't found anything better so far (Crimson Editor on Windows is my second best choice).
TM has auto-completion that is simple enough to work with any language and smart enough to be useful. There are lots of useful macros. Column typing is a cool feature. Project management is OK.
As for SFTP integration - use Cyberduck. It provides transparent uploading of modified files.
One of my big beefs with
One of my big beefs with TextMate is that I couldn't find a way to use spaces instead of tabs for indenting. I have already changed a couple of the keyboard shortcuts via the OS X key editor.
I haven't found a way to integrate CyberDuck and TextMate. Is there something I'm mising?
It may be that I'm missing
It may be that I'm missing something ... I'm no professional whatsoever ... but ... if you're after a text/html editor ... aren't Macromedia's/Adobe's products like Dreamweaver/GoLive/FlexBuilder an option?
Those are WYSIWYG editors
Those are WYSIWYG editors rather than just plain text editors. I might use my text editor for writing a weblog post, typing a letter, writing a test case, etc. Plus, I don't use WYSIWYG editors.
Plus, I don't use WYSIWYG editors.
Not a challenge, I'm interested in the answer: Why not?
I usually do only one kind
I usually do only one kind of thing with HTML: make test cases. The test cases are most often to rat out a bug in Opera, so trying to do it via WYSIWYG doesn't work. WYSIWYG editors usually add a whole bunch of extra fluff when I want the minimum mark-up needed to trigger the bug. And since I'm trying to see if the bug is present after some mark-up changes, I have to load it in Opera anyway.
Furthermore, most WYSIWYG editors implement their own rendering engine, which, in my experience, is far behind Opera, Safari, and Mozilla in standards support. There is the notable exception of some Macromedia and Adobe products that use Opera's rendering engine, but then I'd still need to compare with another browser to see if the page renders as it should while triggering the bug in the WYSIWYG editor/Opera.
On Windows, I like EditPlus.
On Windows, I like EditPlus. It has O.K. Unicode handling, lots of features and templates. It also has a large column length limit that is a million times longer than UE. It doesn't have a hex edit mode like UE, but UE's hex edit mode doesn't work right for utf-8 and displays a utf-16 representation of the bytes.
The best editor I've tried on Windows is Jedit. It's awesome. You just need a fast computer to make it feel comfortable.
Jedit is java-based and is available across the board. There's a mac version you can use and it's free. You might like it. If it doesn't have a feature you want, there are plenty of plugins to add it. You can download and install them right from Jedit. It has good unicode support too and you can hexedit with a plugin and enter your own hex characters easily.