Monday, August 31, 2009

VIM, the little editor that could........

In the Python and MySQL class that I am taking this semester, all of our coding will be created in vim. Vim, for the uninitiated, is a text editor, but it is also much, much more.

Vim and the many derivitives based on it are based from the old Unix program vi. Since vi was originally written in the 1970's for use on large UNIX mainframes that had only terminal access and no pointing device such as a mouse or touchpad, all of the commands and functions contained within could be accessed through typing keyboard commands. At first, the thought of continuing to use a program such as this when you probably have a mouse less than a foot away from you right now seems a little esoteric and backwards. Not so. It is a perfect environment for coding, as it allows you to keep your hands on the keyboard at all times, which helps you create code faster (once you've gotten a hang of the keybindings).

A variety of resources exist to help you familiarize yourself with vim's interface and features. One such resource is the A byte of Vim website. If you need a dead tree version of this introduction, that is available, as well. Vim's own documentation page and vim's integrated help documents are quite helpful, as well.

Amongst the cool features of vim is programming language syntax highlighting, which is very good for coders of all skill levels, since it provides a colorful reminder of what you are creating.

Vim is considered "Charityware", as the software is free, but if you feel compelled to give money, the programming team suggests donating to the ICCF Holland Foundation, which helps youth in the country of Uganda.

Give it a try! You'll be glad you did!