Latest Update: Adding a link to our article on GTD with Emacs PlannerMode.
Who Needs a Good Text Editor?
- Programmers - the traditional market for text editors is programmers - this explains the feature set of most editors. They’re not often designed around writing words so much as code. I don’t find this a problem, personally, especially since most of the text I write needs to be marked up in some way or another for publishing on the web -
HTML ,Markdown ,Wiki -syntax, etc. - Writers - a good text editor can be a much more efficient way of getting your words into the computer, without too much formatting to distract you, than a word processor. I wrote more about this in my article on Text Editors for Writers. And by ‘writers’, I mean anyone who writes a lot - not just professional authors - it could be writing business reports, blog posts, articles for a web site, or even just emails to friends. If you enter a lot of text, you need a good way of doing it.
- Geeks - even if you don’t do any actual programming, when you mess about with computers, you need to edit text files, and if you’re a geek, you probably care about your tools for doing so.
Types of Text Editors
There’s a broad range of different text editors, with different features, ranging from very simple little editors like Windows Notepad, all the way up to powerful, programmable beasts like Emacs. I like an editor at the feature-rich end of that, but for writing without distractions, something simpler may be better. My Text Editors for Writers article split them into three categories - simple, powerful and friendly, and powerful and unfriendly. In reality, there’s plenty of cross-over between the categories, but I think pretty much all popular editors fall into one of them. If it’s going to remain popular despite being unfriendly, it had better have some powerful features to keep people interested.
Specific Editors
Simple
Windows Notepad - if you’ve got Windows, you’ve already got Notepad, so it’s familiar to most people. It’s not got much power, but if all you need is something simple to get those words out of your head without distracting you, it does the job ok.NanoNotepad - an editor from J Wynia designed especially for tacklingNaNoWriMo - the National Novel Writing Month. Hardly any features, but has auto save, word count, and a countdown timer to tell you how long you have left to write your draft novel.
Powerful and Friendly
Notepad2 - one I used for quite a while - it’s not got the features of some others, but it’s nice and speedy, and quite simple to use. Not clogged up with too many features you’ll never use, but a good step up from Windows Notepad. Windows only.Notepad++ - a bit more powerful than Notepad2, and I found this one to be a good balance for quite a while.PSPad - still installed on my PC, and very powerful. More of a programmer’s editor than just a text editor, PSPad can even make a nice navigator panel for thePHP file you’re working in, listing all the variables, and giving you one-click access to the functions. Similar functions are available for many languages. If you do any programming, or even just dabble in PHP, this is an excellend editor. If I wasn’t keen to go cross-platform, I’d still be using it.
(A quick aside on cross-platform - you can skip this if you already know what it means. Most software is written to work on one specific computer platform - usually on just one operating system. So,
jEdit - a java-based cross-platform text editor. Very extensible, and very powerful. A bit slower than most, but how many editors can include a web browser, an email client, and anIRC client? Unfortunately, it also crashed my computer. If it works ok on yours, this is an excellent editor.MadEdit - a fairly simple-looking cross-platform editor. Runs native, no Java. Along similar lines to Notepad++ or Notepad2, it’s quite pleasantly easy to use, but has no shortage of features - including all the geek-friendly stuff for converting line ending types, hex mode and such like. I thought it was a bit on the ugly side at first, but turning off the display of line endings and spaces makes it look much nicer to me. Seems to be undergoing heavier development work than most others - this being just an early beta, there’s a lot of promise.
Powerful and Unfriendly
Vi andVim - Vi is the old classicUnix editor, and if you ever see someone working with it who knows what they’re doing, you’ll be amazed. Once you’ve taken the time to learn Vi, it can be incredibly quick to use. Vim is a modernised version of Vi, and it’s cross-platform - available for almost every common OS out there. Vim also makes Vi a bit more friendly - your usual copy ‘n’ paste controls work again. The two modes of Vi make it difficult to get used to - you can’t just open a file and start typing, and once you’re typing, you can’t enter basic commands without switching back to command mode. Weird.Emacs - the other classic Unix editor. Emacs doesn’t play well with other apps, as you have to remember a completely different set of keystrokes to use it, but it’s very powerful and programmable. Uses lots of key combinations to fit all the commands in, so you have to remember things like Ctrl-x then Ctrl-s to save, Ctrl-x them Ctrl-c to exit.
For a bit more comparison, see my article Vi and Emacs, or for a way of doing GTD with Emacs, see GTD with Emacs PlannerMode
Related Utilities
Mozex
Use
You’ll need to click the ‘install’ link first, then if you’ve never installed an extension from that site before, it will fail, and pop up a little bar at the top of the page telling you it was blocked - click the button on there, and ‘allow’ the site to install extensions. Then, just click the install link again. You’ll need to restart Firefox for the extension to load.
Mozex doesn’t have a lot of polish to the interface - to get to the settings, go to Tools, Extensions, click on Mozex, and click ‘Options’. The tab we want to set is ‘Textarea’, so select that. All you really need to enter is the ‘Text editor’ setting. I’m using Vim for this, and the command line for that is…
- “c:\Program Files\Vim\vim70\gvim.exe” %t
You need the location of the .exe file to be in quotes, because there’s a space in there. The ” %t” is on the end, as that’s the way the file gets passed over to the editor.
I also set the ‘Hotkey’ - just click in the box, then press the key combination you want to use to bring up the editor. I used Ctrl-e.
Once all that is done, whenever the cursor is in a textarea box, just press Ctrl-e, and Vim (or your own preferred editor) will pop up to the front, and away you go. When you’ve done, save and exit in the usual way, and the textarea should get updated automatically. It’s worked flawlessly for me so far, though sometimes there’s a delay that can be worrying, if you’ve carried on working in Firefox at the same time and change to a different tab. For a bit of extra safety if you’ve done a lot of typing, just select all and copy before saving and exiting. If all goes wrong, then you can just select all in the text box and paste over it.
Which is the Editor for You?
I can’t really tell you that, but I can make a few recommendations.
- If you are willing to put some real time in to learn an editor, in order to be able to work faster later, I’d try learning Vim. Vi is the fastest way of editing text, and Vim just makes it a bit easier to handle without losing much of what made the original so great.
- If you are happy with a Windows-only editor, and you do any programming (including PHP and maybe even HTML), give PSPad a go. It works very reliably, it’s very customisable, and helps make coding a bit easier.
- If you want cross-platform, and you don’t mind Java, jEdit is about as good as it can get. Look for the current beta version if you want soft line wrapping to window, though (what? Wrapping lines the way normal programs do - breaking at the edge of the window).
- If you’re happy with Windows-ony and want something a bit simpler than PSPad, try Notepad++.
Which is the Editor for Me?
I haven’t entirely decided on that yet. I’ve spent time using many of the editors I’ve mentioned. If it hadn’t crashed my machine, I’d probably have been happy sticking with jEdit, but it did, so I’m not.
Right now, I’m working in Vim. It’s got enough approachable power that I can work in it right now (I’ve used it before, so I’m relatively used to the modes and key bindings), but there’s enough left over to know that the more time I spend learning it, the better it will get.
May 21st, 2006 at 11:43
I had some issues with jEdit when I was using java 1.4, if you are using any jre older than 1.5 you should upgrade and try again.
If you realy like jEdit, you can lookup at jEdit wiki if someone had the same issue…
Simao
May 21st, 2006 at 12:31
It’s 1.5 that I’m running. I think I’m settling reasonably well into Vim this time, and I’d really prefer to be running something native rather than a Java app.
May 23rd, 2006 at 17:16
I want an editor to write blog posts in, spell check them and archive them (in case my blog blows up). Windows Notepad doesn’t do spell check and I really need that function. What do you recommend for Windows? Thanks!
May 24th, 2006 at 02:20
Hi Claire,
I’m not actually sure which of those includes spell checking. Vim definitely does, but unless you really want to learn Vi, I wouldn’t go there. PSPad does, and it’s much more of a friendly Windows editor. The only down side of PSPad is that it’s got so many features, it might be a bit much for writing blog posts. I can’t remember if Notepad2 and Notepad++ have spellchecking, and I don’t have either of them installed on here at the moment - I’ll put them back on later, and find out.
Do you want something as simple as possible, but with a spell checker, or are you ok with using something that’s covered in features you won’t really need?
August 8th, 2006 at 06:24
ultraedit is another fantastic editor. It has hex edit mode, syntax highlighting for many programming languages, regexp search and replace etc. Extensible with plugins. Really fast! I use it for everything.
August 11th, 2006 at 11:06
There’s always Cream, which is Vim modified into friendliness. All the power of Vim is there if you need it.
October 9th, 2006 at 02:59
Thanks a lot Pigpog for this quite thorough drive-through the best code editors. The funny thing is that my opinion is exactly the same as yours : I started using a pure windows code editor (code-genie (dead now) then notepad++ then pspad) but I wanted me to be able to leave the windows world (just in case) and looked for a cross platform editor. Another criteria which made me decide is that pspad, though it’s freeware, is not opensource ; so it may just die or become another shareware. I had heard of (x)emacs and vi(m) but the learning curve was too steep for me. I then tried jEdit : very good, very flexible (I like the background image feature) but it was definitely too slow to launch and not that stable. I then decided to learn vim and so far, I am happy with it.
June 27th, 2007 at 16:08
I’ve been using NoteTab light at work (http://www.notetab.com/). I was using notepad++ but wanted to start keeping a log of the support calls I deal with during the day. I wanted something that would do a date/time stamp with F5. The best thing about this program for me, is that it will search a directory. I keep my call logs in folders named by the week. I can go to the main 2007 folder and search for a customer’s name. It will pull up all those files. There are a lot of cool scripting things that it seems to do as well, but I’ve not tried those. I like this program enough that I just may register it someday.
April 30th, 2008 at 06:57
Thanks for the tip
I like notepad++ from all of the rest.
it has backup everytime you save, quick to load, and spell checker (too bad, Its not spellcheck as you type like ms-word)
May 1st, 2008 at 04:14
TED Notepad (http://www.jsimlo.sk/notepad/) is a very good step up from Notepad-type editors. It even has rudimentary text completion, though it only works in the file you’re in. Small, fast and free.