The Top 7 Reasons To Give The Vim Text Editor A Chance

Ads by Google

vim text editorIf you do any sort of development work on your computer, you’re going to need a text editor every now and then (or all the time). And by “development” I don’t just mean programming; it can be Web development too, or even maintaining and tweaking an existing website.

For years, I’ve tried one text editor after another. You name it, I tried it – jEdit, Notepad++, SciTE, PSPad, Komodo Edit… I’m not just name-dropping here. I used each and every one of these editors for over two months as my primary day-to-day editor. I also had a brief stint with UltraEdit, a venerable (but non-free) editor. Somehow, I couldn’t find an editor that just worked right, and was customizable enough to fit my needs.

That all changed a couple of months ago, when I bit the bullet and started using Vim text editor full-time.  Here’s 6 reasons why you should consider giving it a go.

Reason 1: Vim Is Old

vim text editor

In software, we often cultivate the mindset that says “newer is better”. We’re always after the latest browser, the latest OS, the latest game. But there’s a lot to be said for ancient pieces of software that are still actively used by lots of people.

Did you know MS Office was first released in 1990? That’s 21 years ago, and look how far it has come. That’s about the time Vim was first released, too (1991). Only Vim is based on a much older editor, Vi, that got its start in 1976.

That alone should make you wonder; what makes such an ancient piece of software so compelling, that thousands of new users discover it year by year?

Ads by Google

Reason 2: Vim Is Free & Has A Vibrant Community

Vim is actually defined as “charityware”, and is free to use and open-source. It does ask you to donate for orphans in Uganda, but there are no nags.

If you go to the Vim webpage, you will find lots of recent news items. I counted nine script updates in one day, for example. The site is constantly updated, and Vim’s main developer, Bram Moolenaar, personally posted an update on April 28.

Reason 3: Vim Is Very Customizable & Extensible

vim editor

Those scripts I just mentioned? They’re the key to much of Vim’s power. There are scripts for just about anything. In the screenshot above you can see FuzzyFinder, one of my all-time favorites. It’s a script that lets you type partial names of files, commands, help entries, etc. and searches for them incrementally, on-the-fly. You don’t have to type from the beginning of the name, and it’s got a lot of options – and that’s just one script!

Other notable scripts include NERD Tree that implements a file-system “tree”, SuperTab Continued for powerful tab-completion, and snipMate for replicating TextMate’s snippet functionality. There are lots, lots more.

Reason 4: Vim Works Over Telnet & SSH Connections

vim editor

I sometimes need to manually edit webpages that reside on remote servers. I used to use WinSCP to simulate local editing, but it broke every now and then. A few of the editors mentioned above also have built-in FTP clients, but navigating complex folder trees was always cumbersome and time-consuming.

With Vim Text Editor, I can just open an SSH connection to my Web server and run a remote instance of Vim right on the server. Vim is designed to work with slow terminals, so it actually feels fast. As you can see in the screenshot above, colors work just fine over SSH. Being able to work directly on the server has made a huge difference in my Web development work. Not only is it faster, but I can now search through files right on the server, and use Vim to jump between the results quickly and find exactly what I need to modify with pinpoint precision. Simply awesome.

Reason 5: Vim’s Configuration Is Portable

vim editor

As mentioned above, Vim is very customizable. That means I had to work quite a bit until I got it “just so” on my Windows system. Having to do all that on my remote server would have been a bit of a drag. Luckily, I simply needed to copy a few directories and one all-important “master configuration” file, called .vimrc.

This basically copied my entire configuration from my Windows computer to the remote Linux server. I then just edited my configuration file and modified a couple of things for the server, and I was basically done. Of course I couldn’t keep myself from tweaking things further, but that’s just me.

Reason 6: Vim Is Thoroughly Documented

Note that nowhere on this list does it say “Vim is intuitive”. That’s because it’s not, really. There is a learning curve when you first start using Vim, and it does require a bit of a commitment. But there are quite a few things that can help. Here are just three examples:

vim text editor

  • PeepCode’s Smash into Vim screencasts (shown in the screenshot above): These are actually not free; they cost $12 each (there are two), but are a very worthwhile investment. When I decided I wanted to give Vim a serious spin, I bought the first one and watched it. It was enough to get me started with confidence. It wasn’t boring, either.
  • Vim’s own *:help* command leads into a treasure trove of carefully-written documentation. Every script has its own documentations; default key bindings are carefully documented, all of the commands are explained, etc.
  • Vim also has a wiki with oodles of tips, tricks and helpful code snippets for you to copy and try.

Reason 7: It’s Way Better Than Emacs

OK, so maybe I’m not entirely serious about this last one. As you may have noticed in the introduction, I’ve never actually given Emacs much of a spin (not for two months, at least). According to the scientifically-minded $EDITORs Sucks-Rules-O-Meter, Vim seems to be in the lead in the Editor War, at least for now. But I’m willing to be convinced otherwise. You’re welcome to plead Emacs’ case in the comments.

Speaking of comments: if there are any Vim users in the audience who’d like to share tips or ask questions, I am all ears. I know I’ve barely scratched the surface on Vim in this post, so if you’d like to see more detailed posts about Vim, do share your ideas and wishes.

Join live MakeUseOf Groups on Grouvi App Join live Groups on Grouvi
Best Linux Apps
Best Linux Apps
7 Members
Linux for New Switchers
Linux for New Switchers
10 Members
Linux Distros Talk
Linux Distros Talk
5 Members
Master the Linux Command Line
Master the Linux Command Line
6 Members
Ads by Google
Comments (36)
  • ViDestroyer

    You are crazy

  • Vagif Verdi

    vim is used mostly by unix/linux admins to edit bash/python/perl scripts and various configuration files.

    But if you are a programmer, you are seriously missing for not trying emacs. For many non mainstream languages like lisps (CL, clojure, scheme), haskell etc, emacs is the most powerful IDE available today.

  • Anonymous

     Vim is great on it’s own, but it’s true power comes from it’s highly extendable and configurable nature. Many users have benefitted from using a preconfigured (and customizable) vim distribution Spf13 Vim. It’s primarily focused on development and ease of use while sticking to established vim standards. It’s completely cross platform, so you can use the same configuration on your desktop and server. 

    • Anonymous

      That’s pretty interesting. How does it compare to Cream? 

    • Anonymous

      Cream’s approach is completely different. Cream attempts to make vim more like other desktop software with a set of key reamapings … like Ctrl+c for copy and a bunch of menus. I’d argue at that point, why use vim at all? If you learn cream, you’ll be completely unable to use stock vim, with Spf13-vim you’ll feel right at home.

      Spf13-vim’s approach is to stick to vim’s approach to things.  Spf13-vim provides a richer set of features without changing the way vim works. For instance it provides snippet functionality and a rich set of code snippets for a ton of languages.. but this doesn’t alter the way vim works. It provides syntax checking for php, python, c and ruby. 

      If you like vim and the way vim works, but feel like features like autocomplete, snippets, git support and more would make vim even better, than checkout spf13-vim. 

      If you want an awkward mashup of vim and notepad, choose cream.

    • Anonymous

      Nice take indeed. I looked at Spf13’s page and I see what you’re saying.

  • emaniacs

     i like VIM and Emacs,,
    but i usually use vim just for litle editing like viewer or customized some of code..
    when i create a big project absolutelly i use Emacs.. 

  • ezuk

    That’s an SSH session with PuTTY and the Solarized color scheme: http://ethanschoonover.com/sol

Load 10 more
Affiliate Disclamer

This review may contain affiliate links, which pays us a small compensation if you do decide to make a purchase based on our recommendation. Our judgement is in no way biased, and our recommendations are always based on the merits of the items.

For more details, please read our disclosure.
Affiliate Disclamer

This review may contain affiliate links, which pays us a small compensation if you do decide to make a purchase based on our recommendation. Our judgement is in no way biased, and our recommendations are always based on the merits of the items.

For more details, please read our disclosure.