Although for many a text editor is a scary beast, they belong to the most useful software for a hacker. It is interesting how different they may be to fulfill the needs of their users (it is why five text editors were used as a case study in Eric Raymond’s The Art of Unix Programming). In last two years I used the following text editors, ordered partly by the time spend with them:
- GNU Emacs – described in its manual as ‘the extensible, customizable, self-documenting real-time display editor’. Emacsen are the only editors programmed with their own Lisp dialect allowing very helpful support for users writing in many different programming languages, a mail client, a Web browser, several games and a psychoanalysis. A nice feature of Emacs is support for doing everything with keyboard only, using many modifier keys (that’s why its name is sometimes expanded as ‘escape, meta, alt, control, shift’). I haven’t heard also of any other text editor having its own religion. Emacs is very user-friendly, but its friends must spend much time learning it.
- GNU Nano – a very simple to user text editor. It has most useful commands listed at the bottom of the screen, making learning its use as simple as writing
nano footo edit filefoo. I use it for every administrative task for my other computers and for commit messages in version control systems (although Emacs has specific support for using a VCS). vi(mostly Vim and Nvi) – the only well-known text editor with modes. Later I used it only when the above programs were unavailable. Before Emacs 22 I used Vim more due to its Unicode support.ed– the line-editor with which Unix was written. I used it only once, to remove broken/usrfilesystem from/etc/fstabin an older computer with FreeBSD. No other text editor was available, since they resided in the filesystem eaten by bad blocks on the disk. From this experience I know how helpful man pages may be.
Before these four I used GUI-based text editors (although both Emacs and Vim has nice GTK+ interfaces). They weren’t so interesting and required much more typing work. Then I used a mouse, the pain-bringing device required by such editors.
