Wednesday, February 10, 2016

Vim – Making CLI Programming Bearable

Programmers use a variety of text editors, ranging from Xcode to IntelliJ. One text editor, vim, is a very popular alternative. It runs on the command line, making it different from most other editors. One thing that sets vim apart is its customizability. Vim includes its own programming language, VimScript, exclusively for customization. It is a very unique text editor that can take some time to get used to, but will be worth it in the end.

The number of features in this command-line editor may be surprising; in fact, hardcore people would probably use vim as an entire operating system if they could. It has a file explorer, syntax highlighting, auto completion, code folding, outlining, plugin support, and just about anything you can think of. Because it's terminal based, it fully supports ssh. Want to run an external command without exiting vim, simple put a ! before it, such as :!git commit.

Vim is one of the most configurable editors out there, with an entire programming language dedicated to configuring vim. Every feature can be toggled, every key mapped and remapped, and every aspect changed. If you can manage to find something that isn't possible in vimscript, vim also has a plugin system that allows you to download a whole host of third-party plugins (such as Eclim, an Eclipse IDE implementation for vim).


A small sample of the an average-sized vim configuration file
Vim can be used as a simple text editor or a fully fledged IDE, making it better than most graphical text editors.

3 comments:

  1. Informative post. Written in a reader-friendly manner. How about including a link to vim? Is it a free download? Nice work. --RW

    ReplyDelete
  2. Very informative. Good content. Some of the vocabulary and terms weren't friendly to the not so educated. Good overall post.JG

    ReplyDelete
  3. Ukraine is one of the best outsourcing locations for softwrae development, and Java is one of its core technologies. I believe this article will provide you with valuable insights and help you to find hire blockchain developers .

    ReplyDelete