For more then 15 years being professionally bounded to computers I was using lot of editors. From those on Spectrum (does anyone still remembers this computer at all) and VAX up to more ‘sophisticated’ ones on Windows and Linux.
Since most of the time I develop applications on MS Windows systems majority of editors I’ve used were Win based. I was using them mostly for editing small Windows batch or some text files. Developing C++ applications on Windows mostly in Visual Studio I didn’t have a need for some advanced features.
That completely changed 5 or 6 years ago when I started to use scripting languages. First Lua which was embedded in one of the applications I was working on, and later Ruby. After that I’ve started to use Ruby more and more. At the beginning just to finish some tasks quicker and easier. Then I discovered Ruby on Rails and was amazed with its architecture and ORM approach. Exploring Ruby on Rails was really fun so I’ve started to make some small Web applications like the one you can see on Cuisine For You which I’ve made for my wife so she can post her amazing recipes and share them with others.
Everyday usage of Ruby, naturally, put more demand on editor I’m using. I was looking for the one which supports easier code navigation, Ruby debugger, code snippets and other fancy stuff. One editor that has it all is TextMate. It is widely used by RoR developers but it exists only on Mac. There is a Windows clone called e-texteditor. Both of them are commercial applications. In addition there is no Linux version of e-texteditor although there is an announcement that it will be ported. Nevertheless paying for editor is something I wanted to avoid.
There’s one more thing (isn’t it always). Occasionally I use text editor to view large text files. Usually logs from my applications or web server which are tens, and rarely hundreds of megabytes large. Almost no editor could open so large files easily. Except two.
These two were Vim and Emacs. Two editors that are satisfying all my needs. They have fairly good support for Ruby and RoR, both are Linux based but have been ported to Windows, they are free, can open extremely large text files… So I had to decide between them.
When I work in console on Linux I always use Vim, but frankly speaking I never could get used to its commands. I do remember few, which I use the most frequently, but simply I cannot get familiar with it completely.
As you can already guess my quest for editor finished on the last one – Emacs. Although its way of customization through Lisp is not so easy to master, it knocked me down with all the features. Basically all you have to do is to download Lisp libraries you need and to set up your .emacs file. In next few posts I’ll describe in detail how I did it. At the end, result is Emacs that has excellent support for Ruby On Rails, Ruby debugging, Git and few more nice things I use.