The benefit of using a powerful text editor is not of the savings in time you get but the chance for your tools to talk with your mind. Which is an enormous experience once you start feeling it 🙂
Sharing my experience in using Vim and Emacs.
Humble Beginnings with Vim:
I learned Vim and recommend every new comer to use VimTutor.bat to learn vim after learning to touch-type. You know touch typing right ? I learned and used Vim for 4 years for most of my text needs – code search, search and replace code, emails, documentation and wiki.
Ever since I was hooked up to Vim, have enjoyed it every bit of it ! Most of the time I would force shut my mouth so as not to scare my colleagues out of my surprise and enjoyable moments. Vim gave back me some life by removing monotonous text editing.
Every passing minute, hour and day has been a spiralling increase of productivity. I also taught and advertised it too those few colleagues who could touch-type.
I will say a tool is powerful only when it starts to get out of our way and gets the job done. We start to realise what communicating with speed of thought means. Vim fits this principle completely. And surely there is so much more to learn and the hunger just refuses to go away !
The IDE dilemma, look elsewhere:
So I was happy vimming, learning more, enjoying more when one fine day I demanded it to be my IDE for (no) .NET application development. Not that I wanted a glossy looking gray box but features we miss like – code completion (intellisense), project browsing, git/svn integration, class view, function/method/class i.e. search the symbol, integrated debug and build environment. I was using Vim 7.4 at that time and due to the lack of multi-threaded or inter-process architecture in Vim thought that it was a bit limiting for me to do all of this in Vim.
I knew the only other place I could look and demand was emacs and I looked into it.I really agree with the common poke at emacs as “An Operating System which lacks an editor” Or the famously funny name ‘Escape Meta Alt Contol Shift’ !
There’s Emacs but:
Convinced that emacs had the power to provide me what I wanted I had to now leave my adorable Vim text editing language (you should not call it keybindings, its a text programming language) I feared about this but still went ahead to give it a try and planned comeback to Vim if I failed.
After going through the emacs tutorial for first time, I experienced the chords pain quickly (chords means pressing multiple keys with multiple fingers at the same time – the dreaded ‘Escape Meta Alt Control Shift’ name is dedicated to this) .
I got the pain quickly because of my already weak finger and muscles connected all the way till my elbow. I carried this pain for a while and continued to adopt and learn more about Emacs.
Org-mode from google tech-talk was good to watch just for fun.
I found other emacs variants and some cool like neoVim. Even if neoVim sounds interesting and is becoming stable (as I heard from the above Evil youtube video,) and even if emacs lisp is due for a major over haul which is not coming soon, I am willing to keep with emacs and join the 30+ years of evolution and stability. (emacs and vi both were born roughly around 1975)
Some videos of Rick Dillon helped me. Blogs of Xah Lee helped me to swap Ctrl and Alt and removing the caps lock. The pain got lesser.
Through out all this the hand-finger elbow pain was always there and I missed power of text editing in vim. Emacs had too much power and customisation available but lacked a decent text editing behavior by default.
Enter the Dragon: Evil-Mode
Because Emacs was extremely customisable and I was already using Vim keybindings in Chrome browser, Visual Studio; I thought somebody must have implemented vim keybindings for Emacs and I googled. Lo and Behold I found Evil.
Evil Mode Video on Youtube https://www.youtube.com/watch?v=JWD1Fpdd4Pc really clicked with me and I was charged up.
Finding evil mode was one such great moment for me as I could use my favorite vim style editing and still be in emacs. Then I never looked back and have happily shifted to Emacs since then.
The IDE dilemma is still to be solved but seeing CEDET and OmniSharp (intellisense) server for C# code completion I am convinced that I will be able to use those features of IDE for which many people fall in the trap.
Fast Forward 1 year:
Evil and Org are the 2 things I can’t live without in Emacs and use them all the time. Mailman, gnus, Calculator and many more.I look forward for many years with Emacs and Vim bindings … 🙂