Uses non recursive mappings for great good http://learnvimscriptthehardway.stevelosh.com/chapters/05.html