Vim (short of Vi improved for the uninitiated) is celebrating it’s 20th birthday today
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.