Header Image

Text Editors

 

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 tackling NaNoWriMo - 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 the PHP 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, Windows software doesn't work on a Mac, and Linux software doesn't work on Windows. Some programs are cross-platform - there are versions available for more than one OS. Sometimes, these are actually compiled for each OS, so they run natively, just like any other app. Sometimes they are cross-platform because they're written to run on top of a layer like Java. Java apps tend to be slower and more memory-hungry than native apps, but getting an app to work natively on more than one OS is challenging. The advantage of a cross-platform app is that if you decide to switch to a different platform later, you can still use your favourite apps, so if I want to run Linux in a year or two, I can still run Firefox, Thunderbird and Vim. The disadvantage is that you limit your choice of apps, and some cross-platform apps don't behave like the rest of your programs, because they were designed with a different platform in mind.)

  • 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 an IRC 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 and Vim - Vi is the old classic Unix 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 Firefox? Wish you could use your chosen text editor to edit stuff that's in a textarea box (the normal edit boxes for entering text into sites)? Well, you can. You need to use an extension called Mozex, which is still in development, but seems to be working ok. It's not the easiest extension to set up, but it doesn't hurt anything if it doesn't work right. First, you need to install it from...

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.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

jEdit

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

pigpogm's picture

jEdit

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.

text editor with spell check?

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!

pigpogm's picture

Text Editor with Spell Check

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?

Text editor with spellchecker

There's always Cream, which is Vim modified into friendliness. All the power of Vim is there if you need it.

ultraedit is another

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.

Thanks a lot Pigpog for this

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.

text editors

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.

Thanks for the tip

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)

Text editors

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.

 

Creative Commons License
Small Print: any dispute involving this site is to be settled in England, under English law.
This site is running Drupal on PHP on Apache, using a MySQL database, Hosted by AIT.

For our Privacy Policy, see the bottom of our About PigPog page.