Code editors for Windows are numerous, but it seems that only a few of them are really worth using. After all, it can take a while to really get into the groove of an editor and tweak all the settings to your tastes, so you'd better find one you like!

I should mention that the features I've called out for each editor are only the prominent ones; obviously, there are many more. Also, just because I've mentioned a feature on one editor and not another doesn't mean the second one doesn't have the feature. So let's get to it! I've arranged them from least to most expensive.

Notepad++

http://notepad-plus.sourceforge.net

v 5.3.2 | Free

This is probably the best free text editor for Windows out there; with support for simple things—like syntax highlighting and folding—all the way up to FTP, Notepad++ should tick most of the boxes. I've used the editor as my main editor quite a bit, and one of my favourite features is File Status Auto-detection: when NP++ is made the active program, it will check all currently open files for changes and let you know if any file has been updated / deleted. Notepad++ is based on the Scintilla editing component.

JEdit

http://jedit.org

v 4.20 | Free

Jedit is rather ugly in my opinion, but it has a decent feature set; as a Java program, it's actually multi-platform. It offers syntax highlighting for over 130 languages. The website says it supports folding, but I couldn't get that to work (although it does highlight the opposite bracket). Jedit has a plugin repository, which may give the editor a bit more functionality.

Notepad2

http://www.flos-freeware.ch/notepad2.html

v 3.0.20 | Free

Notepad2 is also based on the Scintilla editing engine, but it's much simpler than Notepad++. It bills itself as being fast, light-weight, and Notepad-like, and offers syntax highlighting for a variety of languages. There's no installation for this editor: just unzip and run. There are a few modified versions (with more features / languages) available.

Programmer's Notepad

http://pnotepad.org

v 2 0.9.926 | Free

Programmer's Notepad has a similar interface to that of Notepad2, although it does support having multiple files open at once. It supports bookmarking, folding, and highlighting, but other than that, there isn't too much to mention.

Crimson Editor

http://www.crimsoneditor.com/

v 3.7 | Free

Crimson Editor offers macro support and the ability to execute external programs. It has the ability to edit remote files, using a built-in FTP client; there's also a spell checker and a neat 'column select' mode.

ConTEXT

http://www.contexteditor.org/

v 0.98.5 | Free

ConTEXT supports many languages, both programming and human; it also gives you the ability to define your own custom languages. It does file comparing and exporting to HTML, and includes some interesting behaviour for projects. Another neat thing: ConTEXT remembers where your cursor is when you close a file, and puts it back there when you re-open the file.

SciTE

http://gisdeveloper.tripod.com/scite.html

v 1.77 | Free

SciTE is a really simple text editor, based on Scintilla. It's quite basic, but it does support syntax highlighting for around 30 languages and regular expression search and replace.

Editra

http://editra.org/

v 0.4.88 | Free

Editra claims to be in the early stages of development, but it offers a decent bunch of features: user profiles, auto-completion, session saving, and syntax highlighing for 60+ languages. Plugins can extend the feature set, offering an integrated python console, FTP client, file browser, and calculator, among others.

PSPad

http://www.pspad.com/en/

v 4.5.3 | Free

PSPad brings templates, an interesting internal web browser, and a macro recorder to the table. It also supports hex editing, and some degree of code compiling. PSPad offers integration with TopStyle Lite, which may come in handy if you use it for writing CSS.

RJ TextEd

http://www.rj-texted.se/

v 5.10 | Free

RJ TextED, too, offers integration with TopStyle Lite; and it does HTML validation and formatting. It sports an FTP client, a file browser, and a code browser, as well as a character map and support for email.

SourceEdit

http://www.brixoft.net/prodinfo.asp?id=1

v 4 | Free

SourceEdit includes features such as clipboard history, syntax highlighting and autocompletion for a decent set of languages. A hex editor and FTP client beef this one up a bit, too. Oh, and it does macros, too.

TotalEdit

http://www.codertools.com/totaledit.aspx

v 5.2 | Free

TotalEdit does file comparison, RegEx search and replace, and has multiple options for file backup / versioning. For cleanup, it offers (X)HTML and XML customizable formatting, and a spell checker. You can install TotalEdit on a USB drive, making it portable, if you want; you can also easily send the current document as an email.

Emacs

http://www.gnu.org/software/emacs/

v 22.3 | Free

"Beyond just being able to edit plain text files, Emacs includes special features to help you write in many different programming and markup language. Emacs can compare two files and highlight their differences. Emacs is a file manager. Emacs can read news, mail, and RSS feeds. You can even play tetris in Emacs. You might see now why some people consider Emacs to be not merely a text editor but almost a complete operating system. Some users find that they can do almost all of their work from within Emacs."

Vim

http://www.vim.org/

v 7.2 | Free

Vim is an incredibly complex text editor, more similar to Emacs than any others on our list (although Vim and Emacs users seem to be somewhat at odds ). I don't think I could do it justice in a few sentences, considering that there have been whole volumes written on it (not to mention that I have only a cursory knowledge of Vim). Suffice it to say that Vim probably has every feature mentioned in this article, and a few hundred more. For starters, check out "Vim in 6K"

Bespin

http://bespin.mozilla.com

v 0.2.2 | Free

I know Bespin isn't really a Windows text editor, and it hardly has the feature set that other editors do, but I thought I'd throw it into the mix just because I really like the concept of an online text editor and because it has one big (obvious) feature that the rest don't: cloud access to your code. It also offers syntax highlighting for HTML, CSS and JavaScript.

Textpad

TextPad is a rather simplistic editor: it boasts column select, drag-and-drop text between files, and hyperlink support. It also supports large files (based on the size of your virtual memory). That's it? Well, the feature list also mentions a right-click menu.

E-Text Editor

This is one of the most interesting editors, mainly because of the 'foreign' features it brings to Windows:

"Close integration with cygwin [a Linux-like environment for Windows] gives you access to the full range of UNIX shell tools and lets you extend e with your choice of languages like Ruby, Perl, Python and more."

Another one of e's strong points is that it accepts TextMate bundles; it also supports revision control, so you don't have to keep track of multiples versions of a file.

In-Type

http://intype.info

v 03.x (alpha) | currently free, to be ~ $25 – $45

Intype is a pretty neat little editor that's still in development. It currently doesn't have a whole lot of features (you can't even drag and drop text), but it looks like it will be pretty slick. It does snippets really well, and already offers a pretty wide selection, as well as supporting about two dozen languages (with support for creating additional ones). Keep an eye on this one; it's promising.

EditPlus

EditPlus doesn't have anything unique, but there are some niceties: it highlights URLs and email addresses, activating them when you 'crtl + double-click'. It also has a built in browser for previewing HTML, and FTP and SFTP support. Macros and RegEx find and replace are good to have as well.

HippoEDIT

HippoEDIT offers something a bit different when it comes to autocomplete: in pops a 'tooltip' above your cursor as you type, suggesting words you've already typed. It does syntax highlighting for over 2 dozen languages, and includes code templates for many of those languages. HippoEDIT also has customizable keyboard shortcuts and workspace layouts.

UltraEdit

UltraEdit almost seems more like an IDE than a text editor; there are hundreds (easily thousands) of features packed into this one. Obviously reaching out to more than just web developers, UltraEdit is ultra-customizable, with different 'environments' to choose from, depending on what job you're doing. Supposedly "nearly every editing task" is automatable. UltraEdit also supports FTP and has a built-in SSH/telnet console for accessing your servers.

Sublime Text

Sublime Text is probably one of the most fun editors that I looked at, mainly because of its super-cool 'zoomed out' view of the file that you can pan around on. One drawback is that the preferences dialog is really just a bunch of text files; this can make it a bit difficult to tweak settings if you don't know exactly what you're looking for. I like the option to open a local file when you right-click on its link, and there are a few automation features, so this would make a solid choice of a text editor.

Extras

While reseaching for this article, I found a few other related things. First off, text editors are good for more than coding: they provide an excellent environment for writing content. To that end, you might want to check out WriteMonkey, Q10, or DarkRoom. These editors aren't very good for coding, but are great for writing copy with minimal distractions.

Then, for some interesting tips on text editing, check out the video "Seven Habits for effective Text Editing 2.0" by the creator of Vim.

That's it!

I'd love to hear what text editor you use, and why; chances are, I missed a few good ones. Let me know in the comments!

Follow us on Twitter, or subscribe to the NETTUTS RSS Feed for more daily web development tuts and articles.



