Sunday 19 August 2012

Emacs vs Vim vs Notepad

I like a little controversy on  a Sunday. Therefore, I thought I would spend my Sunday afternoon, curtains drawn to stop the glare, typing a little article to describe my humble opinions on the biggest question that faces the modern man.

EMACS VS VIM VS NOTEPAD!!

I have seen MANY articles from biased, dogmatic sources that claim one or the other is the pinnacle of text editing, and whilst I don't agree that it is not an important subject, I am going to try to be neither biased nor dogmatic in my analysis here.

Also a note before we get in to the nitty gritty of the article; I am BY NO MEANS a power user of ANY text editor. I have made some minor adjustments to my main text editor (which will remain nameless according to the above paragraph) but as I do most of my work in HTML, CSS , Javascript , Python and C#; most of the time I am in one of the following:
  • Visual Studio
  • Eclipse
  • Aptana Studio
I have also been known to dabble with Butterflies now and again.

I am going to tackle the editors in reverse order to the title as these are the orders that I tried them out first.

NOTEPAD
Notepad, Notepad2 and Notepad++ are what I would call traditional editors. Notepad++ has an AWESOME tabbing feature distinctly lacking in the other two, notepad 2 has debatabely better syntax highlighting and notepad is probably faster.

I like Notepad (for this section this encompasses all three above mentioned programs) as it is simple to use and requires NO brainpower which is a massive boon for someone like me.

Further more, as far as graphic user interfaces go on a text editor, I would say that any of the Notepads are far and above nicer than the other two that we will discuss today. However, they all are really just for inputting text and have no further use other than that. Notepad++ does have more in the way of plugins and probably could be put in to its own category for that reason alone, but none of the customization that is possible in Emacs is available as easily with Notepad. 

VIM
Vim was the first "keyboard only" text editor I tried. This is my own phrase for Vim and Emacs as I don't really know what to call them otherwise.

Vim is an interesting idea. You have an input mode and I forget what they call it but basically and editing mode. Switching between the two is as easy as clicking on i or esc (depending on current mode) and moving around the document can all be done using the keyboard (without going over to the arrows)

The principle idea was great for Vim, and I know people who swear by it, however, I found it immensely illogical and the learning curve just seemed to intense. I found that I was still looking up the docs after a day of using it to do simple things and I also found that looking up the docs was not fun.


EMACS

I tried Emacs when I got bored of Vim. I was put on to the idea by a blog (I forget which, sorry!) and thought that it looked like a great alternative to Vim.

The important thing for me was to not have to move over to the arrow keys and also to be able to bulk perform actions. This was easily possible in Emacs and in fact, working through the tutorial allowed me to learn and remember these commands quickly.

Which brings me to my next and possibly most difficult to explain point. I found Emacs more logical, more easy to remember and perhaps most importantly for me, more fun in documentation than Vim. As I was in the market for a quick text editor that I would invest some time in, this won me over.

However, the down side to using either Vim or Emacs is that you will need almost exclusively need to use them in order to stop yourself from getting in to bad (notepadesque) habits or from having a lot of missing characters when using normal notepad. The thing is that it is SO different using these "keyboard only" text editors, that you will find yourself as frustrated with it as if you were going from touch typing QWERTY to touch typing DVORAK. However, in a similar way there are benefits to spending the time in learning to use them wisely.

One final thing to note about the emacs editor is that it has a language (emacs lisp) that allows you turn Emacs in to much more than a text editor. However, due to time restraints and laziness I never looked deeply enough into it for it to ever be more than just a novelty.


CONCLUSION
I am still undecided as to which the best of the three are. Due to a massive amount of laziness and the fact that the IDEs that I use have only buggy support at best for EMACS I tend to use NOTEPAD more often. Is this because it is better? Honestly, I don't know, I suppose it is for me is the best answer I can give.

Vim was just not fun enough for me and I have no interest in learning any more about it unless someone can give me a non-subjective reason to. Emacs is great, however, I always felt that I was using a tool at about 1% of its potential and because of this I never really got the benefit of all the hard work that I was putting in mentally to using it. Maybe one day I will get on to using it more fully if ever I have to leave my IDEs behind. At the moment the only language I use EMACS for is C and that is VERY rare.