(This is a highly subjective review. For balance, see also DonationCoder classic roundup of major text editors).
The following was inspired by the recent DC thread Windows editors - do they have to be so bad?
, and by the new (to me) HippoEdit text editor, which is surprisingly inventive for a project this young. Rather then reviewing a single application here, I thought of pinpointing the features I find best in the several text editors I use daily. Then I thought of listing some of the worst aspects as well, so this thread should properly be called The Best (And The Worst) Of (Some) Windows Text Editors (With Screenshots), For Your Entertainment
I've only listed some of the stand-out features - those that are unique to an editor, are particularly impressive or useful, or those I cannot live without. I did not list features that are too common to mention these days (word wrap, auto indent), unless a specific implementation of a common feature seemed particularly inspired (or particularly not so).
I should also note that there is a lot I don't
do with text editors. I almost never use them to write executable code. I never use persistent blocks or any implementation of text clips (I use AHK for text expansion and configuring the same set of clips separately in each editor sounds too much like work). Apart from writing short notes to self, I use text editors to search, replace, tweak or extract text and tags, often in xml files, from small to quite large (tens of megabytes). I thus pay much attention to speed and efficiency of editing large files and to the display capabilities that help visualize and navigate the thicket of tags and entities. I use regular expressions heavily and love incremental search. Finally, correct handling of Unicode is a must in my line of work, so editors that do well there score points with me (and TextPad, which does not, serves mostly as a scratchpad).
Since it's a long post, I might as well reveal right away that the moral of the story is nothing groundbreaking - there is no optimal editor, even given my limited range of uses. I have registered copies of all the editors listed here, and use them all interchangeably, since none does it all. Of course the other moral of the story is that all authors of the editors mentioned herewith should bow before this post daily and start implementing the missing best-of features posthaste, to one-up the competition. Or better still, five-up them.
On to...1. TextPadThe Best Of: text editorsThe Good:
- Fast! even with large documents. TextPad is easily the fastest when loading and navigating very large files. (Yes, that's because it's an ANSI editor. Slow string operations is the price we pay for Unicode.)
- Extremely fast search and search/replace functions; very fast also with regular expressions; I love and use often its ability to do search and replace in all open files (why don't all text editors have this?)
- Unlimited bookmarks (F2 toggles). The best thing about it is you can bookmark all lines containing your search string directly from the Find dialog box, and then invoke clipboard/editing operations on the bookmarked lines. I use this all the time, and though this feature can be replicated in a few (not all) other text editors, it is never so easy and so natural.
- Nice, simple and fast syntax highlighting. I think TextPad is the only editor that supports highlighting only the angle brackets of xml tags out of the box. Some other editors (EmEditor) can be configured to do so, but doing so significantly slows down EmEditor when working with large html or XML files. Most editors, like EditPad Pro, will highlight the whole tag, which produces too much coloration for my eyes, and makes it harder to see the actual angle brackets.
- Probably the first text editor to offer document classes (options settings applied to specific types of files). Today almost every editor has this feature though (shame on you, UltraEdit).
- Nice sort function with optional deletion of duplicate lines.
- My favorite peculiarity: when a file is unmodified, the Save button is displayed as disabled (to signal the file has been saved). However, you can still click the Save button, and TextPad will do a Save As instead.The Bad:
- I could never get used to the MRU order of tabs. If you open three files and need to make a single change in all of them, it becomes confusing. If you have more than a dozen files open, it's useless - so much so I usually close a file before moving on to another.
- No highlighting of matching brackets or tags, though Ctrl+M jumps to matching bracket (not tag).
- No incremental search. One other aspect where TextPad shows its age.
- Macros cannot be edited (recording is tedious, you cannot fix or modify a recorded macro).
- No proper handling of UTF-8 or UTF-16 encodings. TextPad can read and write such files, but only if all the characters can be displayed using the current ANSI codepage in Windows. Otherwise it will display a warning message and let you open a file, but some characters in the file will be corrupted.
- No folding,
no rectangular selection,
no indentation guides or nesting indicators... why do I still like it so much? (Block selection is available: Press Ctrl +Q, B - or see under the Configure menu. Thanks to steeladept for the correction.)
- Still using version 4.7, since version 5.0 seems to be plagued by all kinds of problems. Helios (the makers of TextPad) are mostly absent from the forum and bugs remain unfixed for years. The programmers are probably working on greener pastures these days, as is their right.2. EmEditorThe Best Of: text editorsThe Good:
- Absolutely the best handling of UTF-8 and UTF-16 documents. EmEditor was recommended to me when I worked for two large Internet companies' localization departments, where EmEditor was used exclusively, since it always stored Unicode text cleanly and never broke a build. Supports a huge number of encodings. I use EmEditor whenever I need to be perfectly sure that the editor will correctly detect document encoding (present or absent the byte order marks) and will not damage UTF-encoded text on save.
- Automatically highlights all occurrences of your search term, so that you can visually assess the number / density of matches. I love this feature
(and it was unique to EmEditor until HippoEdit, below)
(also available in EditPad Pro and HippoEdit).
- Will highlight matching brackets (but does not mark matching tags in html or xml files).
- Endless customization. Easily the highest number of options of all the editors I've seen. Plenty of properties for specific file types.
- The only text editor I know (ed:
apart from HippoEdit) that lets you assign more than one keyboard shortcut to the same function. Useful.The Bad:
- Not as fast as TextPad; became perceptibly slower with large xml files after upgrade from version 7.x to 8. With syntax highlighting on, cursor movement and scrolling can become extremely slow (like, move one character per second or so), even with word wrap off.
- In the screenshot above, the weird white rectangles are EmEditor's implementation of "mark current line" - it only colors text and white space in the line with cursor, but omits the tags. If they are ever holding an Ugly Contest, those rectangles should make sure to apply.
- Unlimited bookmarks like in TextPad, but no built-in functions to cut/copy/delete bookmarked lines. (Can probably be duplicated using NextBookmark()
command in script, but troublesome and slower).
No search and replace in all open documents. Why?
Both the find and the replace functions now work across all open documents in EmEditor. Thanks to mwang for the correction.
- Relatively weak code folding (via plugin only)
- Relatively weak incremental search (via plugin only, you type in an edit box, Enter focuses the document). My main issue is you need to click the edit control on the toolbar; i.e. cannot initialize incremental search from the keyboard.
- It's a really good editor, but has shortcomings like every other application. The author tends to gloat a little too much about how great EmEditor is, and seems non-responsive to suggestions. I asked for "replace in all open files" two years ago, still not there, even though adding this should be a mere formality (checkbox in Find dialog box; loop s/r process over document buffers).3. EditPad ProThe Best Of: text editorsThe Good:
- Probably the most powerful, featureful search facility. Count matches, highlight matches, and the ability to fold document so that only matching lines are shown. Fancy syntax highlighting for regular expressions in the search pattern box. Replace with "adapt case", and more. Can save your "favorite searches" (this in addition to standard implementation of search history)
- Visually nice code folding (in the screenshot, see how the folding line "angles" at bottom - this provides a very distinct indication of where the block ends).
- Nice alternative to selecting with the Shift key: press Shift+Ctrl+B to mark the start of a block, navigate freely in the document, then press Shift+Ctrl+E to mark the end of the block. However, the starting point is not indicated in any way while you navigate to the end point.
- Interesting additions to the standard clipboard operations: cut or copy appending the text to clipboard, and Swap with clipboard.
- The author is very responsive to comments and feature suggestions.
- Comes with a separate editor for syntax coloration schemes, which I have never used. Is that Good?The Bad:
- Surprisingly, incremental search implemented in a non-standard way: first of all, it's a toggle. When enabled, you still need to click the search pane at bottom, otherwise you'll just be typing letters in the document instead of typing your search pattern.
- Recorded macros are stored as INI files. This makes them theoretically editable, but the format is rather obscure.
- Default color scheme seems garish to me and distracting, but it can be tamed.
- No option to trim trailing blanks on save (most other editors support this feature and I always keep it enabled - a personal preference).
- Editing weirdness: in every typical Windows editor (I don't know about vi
pressing Ctrl+Delete on a word deletes the word and any spaces that follow. This is usually what you want. However, EditPad Pro only deletes until word boundary. If you are removing an unwanted word from a sentence, you need to press Delete again to get rid of the extra space. Wrong!
- A little visual inconvenience: the text starts at the first (leftmost) pixel, with no margin between the text and the gutter. This affects readability, esp. with line numbers or code folding enabled. Most editors leave a two- or three-pixel padding between text and whatever surrounds it.
- The way the main menu is organized is somewhat random. The View menu isn't where it's supposed to be (Windows standard: right after Edit), and doesn't contain all the items you would expect. Some view-related toggles are under the Options menu, and others are elsewhere yet (try enabling the ruler and see how long it'll take you to find the setting).4. HippoEditThe Best Of: text editorsThe Good:
- I'm surprised! Great visuals and a rich in features. Very nice syntax highlighting, with automatic bolding of the nearest surrounding tag.
- The HTML tag "hierarchy bar" (breadcrumbs) line is visually stunning and very useful in navigation and to determine nesting. Pity it
only works for html
does not work for xml - why?
- For the screenshot above I turned on all the HippoEdit visual goodies. Note the progressively darkening background, which indicates tag nesting. Again,
it's only for html
this feature does not support xml.
- Incremental search uses a separate toolbar as in EmEditor, but it's a built-in feature with full keyboard access, Next/Previous links and highlighting of the search term.
- Another feature no other editor here has. Note the two purple vertical lines in the gutter below. The thicker line indicates lines in the editor which have changed since the last save. The thinner ones indicate lines that have changed in the current editing session and have already been saved. The latest editions of Code Gear Delphi do this as well, but most shareware editors have yet to catch up:The Best Of: text editors
- Oh, I forgot:
one other cool thing about HippoEdit is that it can change the size of the caret depending on the state of the Shift or CapsLock keys. When either of these is pressed, the caret becomes taller. What a neat idea! It's exactly little things like these that are such fun to discover and actually help you work. I'd like to see this feature everywhere - in fact, since the caret is generally managed by Windows, it should be a feature of the OS. The Bad:
- The name
- The hierarchy bar, indentation guides, nesting indicators etc. - all these fantastic features
only work with html files, but not for xml
do not work with xml files. Time to badger the author!
- Many toggles in the menu (e.g. options to show/hide a particular element of the interface) are not shown checked or unchecked according to whether an option is enabled. This is inconvenient when discovering the features of the program.
- No support for macros or scripting at all. The author says scripting support is coming, and there is some discussion of possible implementations on the forum.5. HTMLPad 2008The Best Of: text editors
HTMLPad is a specialized editor for HTML, not that useful for other types of files. It's the best HTML editor I could find at the price I was willing to pay. I'm only including it here to showcase a few display niceties that regular text editors could benefit from:The Good:
- I love the clear indication of surrounding tags (green background). Much better than just bolding them (or doing nothing).
- Note how the unmatched closing /b
is marked in the screenshot.
- The Inspector pane (on the left) is actually useful. You'll note that all my other screenshots show no sidebar panes - that's because in other editors these panes never seem to earn the screen estate they take up, so I rarely use them. I do use them in HTMLPad.
- I like the thoughtful single-key commands to select the whole tag under cursor, or select everything between the opening and closing tags. In some other editors you might be able to fake such a feature by using a regex search in a script, but that won't always work correctly.
(On edit: of course, HTMLPad does much more - project support, ftp editing, live preview with split panes, dialog boxes for complex tags, integration with html and css validators, etc. I find it very convenient for editing html. It's the closest in spirit to the original HomeSite, and it's what HomeSite might have been if it had not been sold to Allaire. There is also a more advanced version, called WeBuilder, which has all the HTMLPad goodies plus special features for coding in php.)The Bad:
- No incremental search and no macros (that I can find).
- The display of the tag structure is very readable and clear, but HippoEdit's is better! Oh my.7. Oxygen XML EditorThe Best Of: text editors
This is a specialized XML editor, something of a high-end tool that thankfully offers an inexpensive personal license. It can do just about everything with XML, and is way better IMO than the famous XML Spy. I don't use 5% of its features, but it comes incredibly useful when I need to figure out the structure of complex xml files.The Good:
- When you type a starting xml tag, Oxygen will automatically append a closing tag, that's expected. But the cool thing is, when you later edit an existing tag, it will apply the edits to the closing tag as well, so you never worry about mismatched tags. A thing of beauty.
- Another editor with actually useful sidebar. Note the Outline pane, where the whole structure of the XML document is visible, including (partial) text between tags. Click items in the structure to go there or to collapse and expand blocks. Clicking a section in this pane will also select the whole xml block. Love it!
- Note in the screenshot above the neat way of marking matching tags by underlining them, rather than coloring. Also, structural errors are clearly indicated.
- Oxygen has three different views of xml files. This one is called Grid. I haven't quite figured it out yet, but ain't it pretty?The Best Of: text editors
- And now the absolute win in thoughtful design! If you work primarily on xml tags, you can dim the text with a single click, so that the tags stand out better:The Best Of: text editors
Or, if you need to work on the text, dim the tags instead:The Best Of: text editors
If I were a computer, I would marry this program.The Bad:
- Written in Java. Takes about a week to start.
- In the screenshots, notice the missing View menu? Turns out, a lot of immensely useful features, that you would expect to find under View, are instead located under the special Document menu. These are commands related to word wrapping, folding, font size, jumping to next/previous tags, as well as validating and refactoring xml. Worse, the Document menu is nested. Easily half the elements there belong under View, and most of the rest should reside under a menu named "Structure" or something similar. Here's just a small part of it:The Best Of: text editorsAnd that concludes my... Hello? Where is everybody? Where did ya'll go? Hello?!