My review: The Crimea - Lottery Winners On Acid (2006) ►
◄ Pete Writes: Beardy weirdies
"An editor without regex support is like a PC without a CPU." —John Horn
Let me add to that... an editor without full regex support is often far more frustrating than an editor with no regex support at all, because it's listed in search engines and software directories as having regex and then turns out to be useless.
(What's a regular expression? A time-saving feature that permits tasks to be partly automated. Read this and check out the links at the bottom...)
Here's what I need from an editor:
- Multiline regex (Regular Expressions) search and replace. Specifically, I need to be able to do things like search for >\n\n< and replace with >\n< — the simple, trivial stuff I take for granted... that most Windows editors cannot do.
- Tabbed MDI. With stacking as I tend to work with dozens of files open.
- Word wrap. You may scoff, but I've found quite advanced editors that lack this.
I use Notetab Light at present. Here's what I'd like from an editor:
- Small. A few megabytes rather than requiring an entire framework or Java VM to be installed for one application.
- Unicode support.
- Some form of syntax highlighting.
- Line numbering (or just marking linewraps.)
- Free, so that I can recommend it to anyone else.
Let's start off with some non-runners that are well known. Free editors that are let down by their incomplete implementations:
- Editors using the Scintilla component (SciTE, Notepad++, Programmers Notepad, etc)
- PSPad 4.5.0 (and other editors using the SynEdit component)
- Crimson Editor 3.70 / ConTEXT 0.98.3 / [insert well-meaning recommendation here]
Far too much time spent googling and downloading turned up three shareware suggestions: TextPad, EditPad Pro and UltraEdit. Well, so much for finding an editor as free as Notetab Light. In the interest of fairness (and because I hadn't sat down and tried it) I thought I'd start with Notetab's commercial version.
Experiences with Notetab Pro (4.95):
- Extremely limited syntax highlighting.
- Slightly buggy regular expressions engine (crashes a bit.)
- Development has been on hold for years, so little hope of Unicode.
- Line numbering is deceptive (based on display rather than lines in file.)
Experiences with EditPad Pro (5.4.5):
- The search dialogue is a pane window, and I can see no option to display it at the top of the screen rather than the bottom, or to make it a floating dialogue box.
- Pasting in Polish text results in anglicised characters.
- When a Unicode font is selected for display, pasting in Polish text still does not work. Reading the help reveals the line "EditPad cannot work with Unicode files directly, but it can convert a Unicode file on-the-fly to ANSI". I presume this means dual-byte encodings are preserved but not displayed in a form useful for editing.
- Odd flat toolbar and non-standard tabs.
- The help seems written for newcomers to regular expressions, rather than users wanting to know the specifics of this regex implementation.
- Doesn't automatically convert \n into \r\n when working with regex in Windows files.
- Line numbers can be configured (on a per-filetype basis) to show physical or screen line numbers.
- http://www.notepad-replacements.com/ is produced by Jan Goyvaerts, but written as an impartial recommendation for EditPad. I find this kind of behaviour by software authors a bit scummy — either the product stands on its own merits or it doesn't.
- Stuck on this version long enough for users to begin complaining.
Experiences with UltraEdit (11.20a):
- The tab bar doesn't automatically offer stacking tabs. It is manually resizeable, but if it gets more than one tab high no arrow is supplied to scroll to later documents — those tabs are just cut off the display.
- The icons are nice.
- Pasting in Polish text results in anglicised characters.
- When a Unicode font is selected for display, pasting in Polish text works (as do languages with other alphabets.)
- The only indication of an edited file is an almost invisible * appended to the filename on a tab.
- UNIX regex aren't default, but can be configured to be.
- Doesn't automatically convert \n into \r\n when working with regex in Windows text files.
- Other search tokens (eg, ^P for a newline) can be used without regex, like in Notetab.
- Physical line numbers are used rather than lines on screen, for numbering.
- Frequent updates, but upgrade policy is rather inflexible.
Experiences with TextPad (4.7.3):
- Pasting in Polish text results in anglicised characters.
- When a Unicode font is selected for display, pasting in Polish text still doesn't work. If you manually select Central European as the script it does... good enough for my purposes, but no auto-detection.
- Replacing \n\n\n with \n\n works as I'd expect.
- Search and replace priority is a little different... for instance, replacing \n with \n\n gets locked into a loop, as the file pointer isn't set to the end of the replace before continuing.
- Stacks tabs perfectly.
- It would be useful if more indication was given of a file being edited than to have a small '*' appended. Colour the tabs or the text on tabs, change the icon — anything to make this immediately obvious.
- You can hide tabs and use a document list pane instead.
- I seem to be able to add a Save All icon to the toolbar, but not Close All. There's no excuse for not being able to add all menu items to the toolbar.
- Stuck on this version long enough for users to begin complaining.
I wish Notetab were still in active development.
This is honestly rather disappointing. I had assumed (naively, perhaps) that ponying up some cash for a text editor might provide a superior working experience to an editor that hasn't had a version increment in three years (and hasn't been significantly updated in much longer than that.) The trials of EditPad and UltraEdit have convinced me otherwise. Of the two, UltraEdit is the stronger contender but its tab interface is appallingly amateurish. TextPad is nicer (to me, at least) but is in a development rut and not very configurable.
Help me out here. There has to be at least one decent GUI-driven text editor native to Windows with the above-mentioned features... right? Whilst as a friend pointed out "there is Emacs always" I was rather hoping to get some functionality without having to learn a mode-based application and a new set of terminology.
So, ignoring the fact jEdit is a Java application — I have a Java Virtual Machine installed due to some other software — I thought I'd give it a go... I'm actually typing this in it...
Experiences with jEdit (4.3pre3):
- Beginners may panic at an unfamiliar interface, but it's very configurable.
- Pastes in Polish text without problems.
- Slow to load initially, but surprisingly smooth in use considering it's an interpreted application. It seems to take up about 28Mb compared to Notetab's 4mb — but I'm not fussed, I've got 0.75Gb in this machine and am used to Firefox chewing it up.
- No tabbed MDI in the base install, but there's a good plugin to do them. It stacks, and shows edited files in a clear graphical manner.
- Monochrome toolbar icons (difficult to read at a glance), but replacing them with a GTK set isn't hard to do.
- Some rather bizarre multi-step keyboard shortcuts, although they're all configurable.
- Scrollwheel only scrolls three lines at a time. As far as I can tell this is by design — you hold down shift to scroll a page at a time. The scrollwheel works fine in other dialogue boxes, so it isn't the JVM that's causing the problem.
- Can't spot an option to hide the horizontal scrollbar, which is wasting space.
- Regex works more-or-less as expected, including the essential support for multiline expressions. Handy pane to show and browse results.
- Garishly fully-featured syntax highlighting, line numbers by physical line, highlights current line, shows matching brackets, offers code folding if you want it, easy multiple views/splits of a document, etc.
- Don't seem to be able to rename the current file on disk. Have to save under a different name and delete the original (or close, rename, reopen) which is messy.
- Under current development.
If I can find a way to alter the default mousewheel scrolling behaviour, I think I may be onto something. I have my system defaults set as they are for a reason, dammit.
Due to the weight of the application, jEdit isn't a suitably slim replacement for Notepad — but it is a very competent development environment. I'd also like to hide that pesky horizontal scrollbar, but overall jEdit performs excellently for a freebie.