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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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."
- 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"
- v 0.2.2 | Free
- v 5.2.0 | $24.70
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.
- v 1.0.30 | $34.96
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.
- 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.
- v 3.10 | $35.00
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.
- v 1.42 | $39.95
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.
- v 15. | $49.95
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.
- v 1.05 | $59.00
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.
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.
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.