Vim Configuration

About a year ago I finally bit the bullet and commited to learning a real text editor. I went with Vim. Once you break through its steep learning curve, its truly life changing. Your text editing skills will improve a few orders of magnitude. Level up from a text janitor to text surgeon today.

See my github profile for my freshest .vimrc.

I usually clone my scripts git repo straight into my home directory i.e. ~/git/scripts/linux/vim. A couple of symlinks later, I’m away:

ln -nfs ~/git/scripts/linux/vim/vimrc ~/.vimrc
ln -nfs ~/git/scripts/linux/vim ~/.vim

PeepCode’s quality video series Smash into Vim helped reduce my Vim groking time.

Vim has brilliant built-in help. Its only one :help away.

Its very customisable. Its important to craft your own .vimrc. Type :options to understand the various levers you can pull to make Vim your editor.

File navigation

This is important to me. Coming from powerful IDE’s like IntelliJ or Visual Studio’s Resharper, in order to be remotely productive, I need to be able to efficient move between files.

Thankfully the community has stepped in here. Below are some of the more popular navigation related plug-ins:

  • NERDTree add’s a visual file system based tree.
  • Project like NERDTree, however is a user configurable tree.
  • LustyExplorer for quick folder navigation.
  • CtrlP my personal favourite, for text based fuzzy file, buffer, MRU file navigation. Its pure Vimscript so very portable.


Its just amazing how Vim seems to pull this off with effortless ease.

Nifty windowing commands:

  • Ctrl-w o - close all windows other than the active one.
  • Ctrl-w x - exchange active window with the next one.
  • Ctrl-w c - close the current window.
  • Ctrl-w r (R) - rotate windows clockwise (or counter clockwise).

You can get into how Vim determines what specific size to make windows when splits occur. See help and window-resize for more details.