If you write code, or if you write administrative shell scripts or
batch files, you know how crucial a good text editor can be.
Personally, I like plain text. Whether I'm writing a large,
multi-part manual in Latex, a web site in XHTML, or coding in C or
Java, I prefer to work in a plain editor—even when writing
content for a blog! I've used fancy IDE's but they inevitably
mess up my code and interfere with my style, so I have found that
I don't have much use for them.
I write this blog each week in Smultron.
Still, I'm no masochist. Windows Notepad is fine so far as it goes,
but a development tool it's not, so it's important to find a text
editor that meets my development needs. Linux has a host of open
source editors to choose from, but Windows and Macintosh users have
traditionally had to choose between good (read "closed-source,
proprietary and sometimes expensive") programs and free or
inexpensive inferior ones.
But what's wrong with Notepad or the Mac OS TextEdit? What does one
really need in a text editor? For me it's two things: syntax coloring
and bracket matching.
Since the first time I used the DOS editor JED to write 8086
assembler, I understood the power of syntax coloring for debugging.
When you're writing line after line of MOV, DUP, PUSH and POP
statements, color can sure help you avoid simple mistakes. When I
migrated from assembler to C, I needed to make sure I had a closing
brace or parenthesis for every opening one. I found that I needed those
features back then, and I still need them now—perhaps even more
since I have to wear bifocals these days.
I develop with Notepad++ on Windows.
Recently I ran across a couple of really nice open source text editors
that do what I want and then some. In Windows I now use
Notepad++,
and on my MacBook Pro I use
Smultron.
Both applications support syntax coloring for a number of common
programming and markup languages. Both watch my brackets to make
sure that they come in matching pairs. Both support auto-indent
when it's suitable for the language in use. Smultron also uses
the concept of the project, a group of files that should be
loaded and edited together, like the HTML files and style sheets
for a single web site. Notepad++ handles code folding, and uses an
XML syntax definition file to add support for new languages that
haven't been developed yet.
Both applications handle the
end-of-line problem
that comes up when you work on multiple operating systems like I do. Whether it's bash, Python, C#, or one of many others, these editors
will make it easier for you to express your coding style without
the constraints of an IDE. Or even make cool
^ ____ ____ - - ^ +--, |
/_\ |____ / | | /_\ | -+-
/ \ ____| \____ | | / \ | |_ o