A Look at Vim: Does Extensibility Lead to Longevity?

Nov 7, 2011 | Tools

Vim (short of Vi improved for the uninitiated) is celebrating it’s 20th birthday today . Vim has something of a reputation as being an editor for the “hard-core” Unix types and, though there is some truth in that, it is not entirely true. Vim and its counterpart Emacs form the foundation for the modern code editors we use today; full disclosure I use Vim everyday but I also use XCode and, on a somewhat less regular basis, IntelliJ.

There really isn’t much more that can be said about Vim as an editor, that hasn’t already been said time and time again. I think it would be interesting to look at Vim as an open source project, since it is one of the most successful open source projects to date; free software sticklers might insist that it be referred to as a free software project, since the Vim license is GPL compatible.

I don’t know what about Vim has made it so successful even to this day, but it is difficult to deny that success. A close, okay closish, examination of the workings of Vim suggests that its embracing of the principles of user freedom and openness to outside developers to not only to the core project itself but to also develop extensions for the application; if you are starting with Vim and are interested in getting into using Vim plugins / extensions, take a look at NerdTree, which allows you to view the files in your project all at once to the left of the screen similar to what you might see in something like Textmate.

Does that mean that we should all be allowing plugins and extensions in our software? What if the application in question is being distributed on something like the Apple AppStore where there is no way to implement this type of thing and still be allowed on the distribution platform? Obviously, the answer is probably no. For some applications, it is important to keep an end to end user experience and allowing outside developers to tinker with your product would be counter productive to that goal in those situations. However, going forward I am going to give serious thought to how a robust plugin architecture can enhance my software projects and I suggest that you do the same. Who knows, your project could be the next Vim.

More from Mike:

About Me

Hi! I’m Mike! I’m a software engineer who codes at The Mad Botter INC. You might know me from Coder Radio or The Mike Dominick Show.  Drop me a line if you’re interested in having some custom mobile or web development done.

Follow Me

© 2024 Copyright Michael Dominick | All rights reserved