Sunday, October 13, 2013

Open Source: Vim

We are extremely familiar with the popular Windows editor, Notepad. Similarly, Vi is a popular choice as an editor in Linux/Unix world. Vi is a basic text editor with powerful and non-fancy features. "Vim" is an acronym for "Vi IMproved". Vim has yet more features than Vi, including mouse support, graphical versions, visual mode, many new editing commands. Vim has become one of the most commonly used text editors by programmers; I am one of them too! It was written by Bram Moolenaar and was made publicly available in 1991. Vim is free and open source software.

There is a built-in tutorial for beginners in Vim, which can be accessed by vimtutor command. A user manual too is available and it has the help feature that will walk us through the commands.  Vim basically has two modes edit mode and command mode. Vim has a vast array of commands and features.
Anyone can customize Vim, right from user interface and macros to user defined functions. Any functionality can be added or extended using vimscript, Vim‘s internal scripting language. It also supports other scripting languages like Perl, Python, Ruby, Lua, Tcl and Racket.

Vim has definitely improved a lot over Vi. Vim is compatible with Vi, however it is not 100%. Few enhancements of Vim include auto-completion, comparison between files and revision control of files, Yes! I have tried these file operations. It has a rich plugin support. Various compression formats like gzip, bzip2, zip and tar format are supported. It also supports remote editing over network protocols like HTTP and SSH, session state preservation, split (horizontal and vertical) and tabbed window support. It provides multi-language support (Unicode), visual mode and many more.

Lastly, few of the platforms that Vim is supported on include UNIX, Linux, BSD, Mac OS, IBM OS-2, Microsoft Windows versions, etc. One thing you should really appreciate about Vim is that, apart from providing rich and powerful features it also encourages users to consider donating to children in Uganda, as it is released under the charityware clause.

Source:

4 comments:

  1. Let me start of by saying "hi." I feel it should be a common courtesy to offer salutations to a person before commenting on their work. I like the way you have set up your blog and your post. It presents information that is useful, and is timeless in value. You have managed to bring up things I would not have thought to look at; to the subject you have done a good job relating them. It is good that you have put the amount of work you have put into this literature; and what you have produced. It has a lot of value. You have done a good job using sources that are highly credible and provide information that is useful and valid. All students should aspire to produce work that is as high quality as this is. I am glad I had not a chance, not a choice, but it was a mandatory read. I am also glad that this post that I am writing is not by chance, not by choice, but is mandatory; Giving me the pleasure to congratulate you on your accomplishment here.

    ReplyDelete
  2. Hi Santrupti.

    I thought your post was a very informative one. I rarely use Linux or Unix, and as a result my familiarity with Vim is lacking, but I think you make a convincing argument for choosing Vim. it seems like Vim is a very rich platform that can be used for many different things. I have one critique about your post however: I think you should have spent a couple of sentences explaining what open source is. I accidentally overlooked that small sentence at the end of your first paragraph about it being free and open source, so I was unclear about if this really was free software.

    ReplyDelete
  3. This was a very informative and insightful post about Vim. I had no idea what it was but from how it's described, it sounds like a very powerful tool since it can take in so many different languages. I agree with Matthew's comment about how you should have a sentence or two about open source software and how it pertains to Vim. Other than that this was a great blog post. Cheers!

    ReplyDelete
  4. Hey there !! Great post. Very Informative ! I don't usually use Linux and hence some pieces of information written here added to my knowledge. Especially the inbuilt tutors being present. I had no prior knowledge of the existence of this tutor. The extensiblity of Vim is astonishing. Over all very well researched article. The information is nicely pieced together from the introduction to what Vim is and what its different features are. The transition is smooth too. It would have been interesting to know how it compares with other open source tools as well as proprietary software.

    ReplyDelete