Tuesday, December 21, 2010

Emacs, what can you do with it?

Recently, when searching the web for a good python IDE, I came across PyCharm and a review of it by none other than the great Guido Van Rossum (see here).  From his review I learnt that he is a big fan of Emacs.  I had heard of Emacs before and I knew that it had been around for ages (Emacs development began in 1970s), but I had never given it a serious try.  Around this time, I was also looking for a good text editor.  Motivated by the knowledge that Guido was so happy with Emacs, I did a search on Google to find out whether Emacs was still worth learning. I felt this was necessary given the plethora of new editors that have been written since Emacs first came into being. Given that Emacs is so old, I thought there must be something better out there.

I found many rave reviews about emacs.  People talked about all the different things you can do with it.  Many said that it is not a text editor, it is more of an IDE. Some likened it to an operating system.  I read that Emacs has:

  1. powerful text editing and navigation commands and the ability to access all these commands with the keyboard
  2. ability to issue shell commands from within Emacs
  3. ability to perform numerous directory and file operations from within Emacs such as renaming and removing files, creating and deleting directories, browsing them etc.
  4. content sensitive editing modes for many programming languages and for TeX, LaTeX and ConTeXt.
  5. ability to function (with the help of modes such as the powerful org-mode) as a Planner, Calendar and Task manager.  (I had also been looking for a good Calendar and Task manager and most that I came across were not satisfactory for one reason or another).
  6. ability to access email and newsgroups.
    You can even play games in Emacs... I have not tried that. I was impressed after reading these things and decided to give Emacs a serious try. While I have used it for only a few weeks now,  I am quite impressed with the things that I have tried so far and am using it for increasing number of my tasks.

    If you also want to try Emacs and you use Mac OS X, the following are two possible options for downloading it:
    • GNU Emacs for Max OS X - These are vanilla builds that do not contain additional packages or patches not contained in the official release of GNU Emacs
    • Emacs for OS X modified - This is also based on GNU Emacs but come with AUCTeX and ESS. AUCTeX is useful for those who use TeX or its relatives for writing. From the ESS (Emacs Speaks Statistics) website, ESS is designed to support editing of scripts and interaction with various statistical analysis programs such as R, S-Plus, SAS, Stata and JAGS. 
    I will post here as I learn how to do various cool things in Emacs that are not possible in most other text editors.