This post originated from an RSS feed registered with Python Buzz
by Rod Hyde.
Original Post: text editor nirvana
Feed Title: The landscape.
Feed URL: http://www.bloglines.com/blog/RodHyde/rss
Feed Description: The technical landscape through the eyes of an occasional indie games programmer who now uses Python as his language of choice.
I'm always on the look out for a better text editor.
In my day job, I'm a UNIX sysadmin. And, being fundamentally lazy, I
don't like to do anything twice or undo someone else's work, which
means that I often write scripts or programs to automate repetitive or
error-prone tasks. I normally use vi for this, because it's available
on every UNIX box I look after, but I do miss syntax colouring and
language-sensitive indentation. Yes, I could use vim, but there's a world of difference between running gvim on my laptop and the versions that run on AIX or HP-UX. Besides, I don't have the luxury of being able to install it everywhere.
Before becoming a sysadmin I was a developer. I still like to keep my
hand in, so in my spare time I do a lot of programming. Over the last 9
months I have been using Python, mainly to write simple games. Before that, I used to write a lot of Java, so naturally I used Eclipse, even when writing such tiny programs such as my RoboCode robot, Wee Gem. When writing C or C++ I still use the Visual C++ 6.0 IDE, despite its comparative lack of features.
Over the years I've tried several editors. I won't name them all here,
but for one reason or another I've always reverted to vi / vim for the
simple stuff, Eclipse for anything Java-related, and the Visual C++ 6.0
IDE for C++. What I've been looking for is an editor or IDE that
supports tabbed windows, split windows, syntax colouring, language
sensitive indentation, and is highly configurable. For Java work, that
is undeniably Eclipse. But both for my work and for my current personal
projects I needed something simpler.
And now I would like to thank MrPhil at the Indie Game Developer forums, for his post with links to several editors. One of the links was to jEdit,
which for me is text editor nirvana. I'm completely sold on it. It's
free. It comes with source code. It's cross-platform. It does
everything I wanted and what's more, it comes with a fantastic
collection of plugins. The killer feature for me was the FTP plug-in,
which meant that I could use my laptop to seamlessly edit files on any
UNIX box.
There was just one thing that
I didn't like in jEdit. It didn't seem to have a way to uncomment a
number of lines, which struck me as a strange omission. But, given that
jEdit's macros are implemented using the BeanShell
(never used it before, but it has Java-like syntax) it really didn't
take long to create a pair of macros to add / remove '#'-style
single-line comments from selected lines and to bind them to keyboard
shortcuts. And it only took another 5 minutes to make the macros add /
remove whatever the lineComment
property was set to. I'm slightly perplexed that this isn't a default
feature in jEdit given how easy it was to do, but if I hadn't had to
look at this then I probably wouldn't have discovered BeanShell.