I mainly use Notepad2 as my text editor, but it lacks a couple of useful features. In particular, there is no support for tabs and no spell checker. As with most Scintilla based editors, there is no “hard” word wrapping either (where text is wrapped to, say, column 78 with line breaks).
In my quest for the perfect text editor, I was looking for the following features:
- White text on black background
- Syntax highlighting
- Spell checker (preferably a smart one which ignores HTML tags, keywords etc)
- Small and fast
- Hard word wrapping
- Preferably open source / free
Surprisingly, I could only find one program that met those requirements, namely Crimson Editor. Before settling on CE though, I also tried:
- JuffEd (no white on black)
- Metapad (no syntax highlighting)
- Notepad++ *
- Notetab Free (pro might be okay)
- Programmers File Editor (pretty basic)
- Programmers Notepad (no spell checker)
- PSPad *
- RJ TextEd (good but slow)
- ConTEXT (no spell checker)
- gEdit (pretty good, a bit large due to being a Unix port, most plug-ins don’t work on Windows)
- jEdit (Java based, need I say more?)
- Others I forgot about
* Notepad++ and PSPad were very close, but the spell checker is not check-as-you-type, which is a real pain because it picks up non-dictionary words like “USB”, “NEC”, “Atari” etc where as with check-as-you-type you can just ignore the red underline.
Crimson Editor is the only one which met my requirement. I had to download the latest beta from the forums though, because the last release version has a bug where the mouse wheel only scrolls two lines at a time regardless of the system setting. I like fast scrolling. Also, there is no global hard word wrapping option, but you can manually invoke a command to reformat the current paragraph to an arbitrary margin.
Syntax highlighting in CE is different to most editors, and I’m still trying to decide if it’s better or not. The program allows you set colours for several general categories of language elements such as keywords, strings, and variables. The highlighter for a given language then uses these categories to colour the text. It’s a nice way of doing things because it means you only have to set colours once and all highlighters use them, in contrast to most editors where each highlighter has to be configured independently. On the other hand, it does limit the control you have over the highlighters a bit, as for example you can’t have separate colours for numbers and text because there is no numbers option.
The status of Crimson Editor is a bit ambiguous, but the developer is still working on it and accepting patches. A replacement called Emerald Editor is in the works, which should be good if it improves on CE.