I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

March 04, 2005

Notepad Strikes Back

In revenge of Notepad, I recommended Florian Balmer's truly excellent freeware Notepad replacement, Notepad2. And when I say replacement, I mean replacement:

copy notepad2.exe c:\windows\servicepackfiles\i386\notepad.exe
copy notepad2.exe c:\windows\system32\dllcache\notepad.exe
copy notepad2.exe c:\windows\system32\notepad.exe
copy notepad2.exe c:\windows\notepad.exe

What good is Notepad doing anyone these days? Why even keep it around when there are so many other worthy replacements available with marginally larger memory footprints?

Unfortunately, after six months of living with Notepad2, some glaring deficiencies began to nag at me. The biggest problem was performance slowing to a crawl on my Athlon 3200+ when I opened a text file larger than a few megabytes. Or the way Notepad2 would go into minute-long convulsions if I tried to search that same file. Now, to be fair, this isn't Florian's fault-- these are limitations of the Scintilla engine he uses to drive his (free!) app.

I don't think it's unreasonable to ask a basic text editing app to have decent performance on largish text files in the 5mb - 100mb range. Although I've been relatively happy with Notepad2, I work with files this size fairly often, so I had no choice but to search for Yet Another Notepad Replacement. I felt guilty emailing Florian with questions since he was already providing such an excellent bit of software completely gratis-- so this time, I figured I'd bite the bullet and purchase something with a more formal support relationship.

I did quite a bit of searching for commercial text editor recommendations from other developers, which turned up the following:

I won't even pretend that I lived with these applications long enough to have an informed opinion about which one is "best". I didn't. I browsed through the screenshots and feature list for each one, and then chose two trial versions for a quick spin. Rather than harping on feature checklists, I tried to consider what I actually do in my existing text editor:

  1. I sometimes edit fairly large text files.
  2. I might use this for lightweight scripting and HTML coding tasks.
  3. I don't need another full-blown IDE (eg, Visual SlickEdit). I have Visual Studio for that.
  4. I expect flexible syntax highlighting.
  5. I want something relatively lightweight; starts fast, runs fast.
  6. I loves me some Regex. I need extensive, complete Regex support.

Based on my prior usage history, I felt that EditPad Pro was the best fit: it's quite fast on large text files, has best-of-breed regex support, and it doesn't pretend to be an IDE. I can even set up custom syntax coloring schemes using regular expressions; there's a large library of predefined regex coloring schemes available for download, along with a nice standalone color scheme editor. EditPad Pro was written by Jan Goyvaerts aka JGSoft, who is also the author of PowerGREP and RegexBuddy. I've recommended both of these regex-centric products in prior posts, so it's probably not too surprising that I think Jan has one of the best text editing apps. Regex-y minds think alike.

As I did with Notepad2, I'll have to live with it for about six months before I can claim to have anything resembling an informed opinion about it. If you're still unconvinced that spending $30 on a fancy text editor is a good idea, there are plenty of freeware alternatives as well. The ones most often mentioned are:

Between these two lists, that covers 90% of the Windows text editors I saw recommended in my research. For the more obscure and/or UNIX based text editors, check out the WikiPedia entry on text editors.

Posted by Jeff Atwood    View blog reactions

 

« To Compile or Not To Compile On Software "Engineering" »

 

Comments

FWIW, I loves me TextPad, which I've used for years. Good editor, regex support, and I can use it to grep. Customizable syntax highlighting; you can add tools (e.g., integrate a command-line compiler -- search my blog for "Textpad" to get to a post with an example); etc. But of course everyone loves their own favorite editor.

mike on March 5, 2005 11:53 AM

Also up there is Notepad++, based on the open-source Scintilla component.

Christian Romney on March 5, 2005 12:00 PM

I'm with Mike, I love TextPad. I'm been using it now about 3 years. I've done a lot of work in the past with reporting/analysis of IIS log files and TextPad can whip through a 450MB log file pretty good. The marking of lines that match certain criteria, using Regex, and then being able to copy ONLY those lines allows you to only get the lines of text (or code) that you want, etc...

Erik Lane on March 5, 2005 10:31 PM

> The marking of lines that match certain criteria, using Regex, and then being able to copy ONLY those lines allows you to only get the lines of text (or code) that you want, etc...

FWIW that is a textbook definition of GREP!

> But of course everyone loves their own favorite editor.

I think the lesson here is for us to know a few tools so we can A) figure out what we like, rather than blindly accept the featuresett our tool offers and B) have a reasonable point of comparison rather than blindly advocating one tool.

I'll start switching between TextPad and EditPad to see how that goes.

Jeff Atwood on March 5, 2005 11:19 PM

Then I like GREP. :-)

I've tried UltraEdit and EditPro for a short time each and was doing the same with TextPad and then just kept using it. But yeah, everyone likes what they like.

Erik Lane on March 6, 2005 08:46 PM

Have you tried JujuEdit ?

If the developer of it would polish it a bit I would love it, but even at the beta stage I like it better than Notepad2. Notepad2 is slow with long lines, big files and has stuff I do not need that much.

JujuEdit has stuff I need and is superbly faster when dealing with BIG text or code files. And it does Hex too. And the stuff you mentioned as important (all sort of highlighting, super fast regex replace etc). But the author doesn't seem to put much effort to it anymore :( What a shame!

Joku on March 7, 2005 11:40 AM

In addition, RegExBuddy and PowerGREP are AWESOME tools from the same vendor. Well worth the money.

Brian Hanley on March 7, 2005 02:02 PM

i feel your pain. i too went through text editor wanderlust. i went from ultraedit to jedit to editplus to notepad2 to editpad to textpad and finally settled on crimson editor.

crimson editor isnt the be all end all, but i like the simple elegant approach and the tiny footprint. it has the important stuff and what it doesn't have i can live without or use a more centralized app for a specific purpose (ie; ide for code etc).

you could do alot worse than crimson editor.

www.crimsoneditor.com

it's free and the author is pretty smart ;)

grymmjack on March 7, 2005 10:29 PM

Jeff,

I have a fairly comprehensive list of editors (including notepad replacements) at www.vbbox.com/tools/editors/

Klaus H. Probst on March 10, 2005 06:37 PM

ConTEXT all the way. It is fast, supports a ton of languages and file formats, has a tabbed interface for viewing multiple files, and it has a nice file compare interface.

That is pretty much everything I need.

Chris Brandsma on March 11, 2005 12:20 PM

A little delayed, but gVim happens to be my favourite, whenever I'm forced into using Windows (Win32 port of vi/vim). Seems to have most things on your list, though I can't be 100% sure about the syntax highlighting however, since none of the editing I do on Windows is of code

Maior Lapine on April 25, 2005 02:47 AM

I use Notepad++ :
http://notepad-plus.sourceforge.net/
which is really amazing!

John on September 29, 2005 02:19 PM

I like the BDV Notepad. All my friends use it for a long time. It has a lot of unique functions for regular users and it is free. Here is the last version 5.0:
http://www.badevlad.com/bdvnotepad_en.htm

Notepad on November 18, 2005 05:20 AM

I've used TextPad for years, but I've switched to Red Hat Enterprise Linux 4 WS, and the good folks at TextPad don't support linux. Oh well, looks like I'm going to purchase EditPad for both Linux and Windows; [fingers crossed].

ascii editor on April 4, 2006 04:54 PM

Code-Genie, that's good handles large files well.

Ahmad on May 27, 2006 07:03 PM

GVim is definitely the way to go, IMHO.. if you spend that much time doing text editing, wouldn't it be worth a few extra hours to learn how to edit faster? Inline regex, customizable folding and syntax hilighting, and pure power editing. It seriously doesn't get any better if you're a power user willing to spend some time to learn the ways of vi.

fusioncow on September 21, 2006 07:15 AM

BDV Notepad 5.0 are now here: http://www.bdvnotepad.com

Denis on April 4, 2007 05:14 AM

You can create hardlinks with fsutil shipped in Windows XP and 2003:

fsutil hardlink create C:\WINDOWS\system32\dllcache\notepad.exe "C:\Program Files\Notepad2\Notepad2.exe"

fsutil hardlink create C:\WINDOWS\system32\notepad.exe "C:\Program Files\Notepad2\Notepad2.exe"

fsutil hardlink create C:\WINDOWS\notepad.exe "C:\Program Files\Notepad2\Notepad2.exe"

Andrey on April 12, 2007 05:38 AM

Notepad2 sucks.

First, it requires msvcr70.dll.

Second, it does not support case insensitive search for non-english text in utf-8 files.

Third, scroll performance is terrible.

Andrey on May 10, 2007 12:49 AM

Hi Jeff,

I realize I'm late to the party, but based on the desired feature list you provided, I think you'd have enjoyed spending a little time with Boxer (<a href="Boxer">http://www.boxersoftware.com</a>;. If you're still on the hunt, drop me a note and I'll provide you a comp copy.

Best,

David Hamel
Boxer Software

David Hamel on June 15, 2007 02:51 PM







(hear it spoken)


(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.