Course info
Sep 6, 2014
1h 38m
Your 10-day individual free trial includes:

Expanded library

This course and over 7,000+ additional courses from our full course library.

Hands-on library

Practice and apply knowledge faster in real-world scenarios with projects and interactive courses.
*Available on Premium only

Watch one of the world’s leading Vim experts as he develops a random password generator in Ruby, live and on the spot. We work through the requirements for the project, implement it, and refactor the code for maximum readability and maintainability. Then Tim chat’s about the Vim plugins he has written and his favorite ways to use Vim.

About the author
About the author

Geoffrey founded PeepCode and has created numerous courses on Ruby, JavaScript and Shell.

More from the author
Play by Play: React and Falcor with Brian Holt
1h 51m
Oct 15, 2015
More courses by Geoffrey Grosenbach
About the author

Tim is a leading expert in the Vim text editor, having written dozens of useful Vim plugins used by tens of thousands worldwide.

Section Introduction Transcripts
Section Introduction Transcripts

I first knew Tim Pope as a Ruby programmer. You probably know him better as the author of some of the most useful Vim plugins around. In this play-by-play, you'll get to see him work with both. If you use Vim as your day-to-day editor, I'm willing to bet that you use at least one of Tim's plugins. I counted a half dozen in my own. vim directory, which is pretty impressive on multiple levels. Even long-time fans of Vim usually cover their face when Vim script is mentioned, the quirky language used to enhance Vim with plugins, yet Tim is an expert with Vim script, probably one of the world's best, and it's impressive that he thought of so many useful features and implemented them cleanly. Among others, there's Vim pathogen, a plugin that allows you to allow other plugins within sensible, self-contained directories. Vim git and Vim fugitive are priceless if you use the Git source code control system. Vim surround applies Vim's text munging abilities to HTML tags, quoted strings, or anything inside or outside of quotes, parenthesis, angle brackets, or any other paired delimiter. Vim dispatch helps Vim execute any command line utility. And there are many more. Tim's branding abilities aren't to be ignored. Take the name Vim pathogen. The definition of a pathogen is anything that causes sickness in its host, but Vim pathogen turns that around and does good for its host by managing plugins using paths. My goal was to give Tim a project that would showcase his Vim skills, so I asked him to code up a password generator from scratch. He chose to implement it in Ruby. What I didn't expect was to see an impressive code evolution process where he implemented initial functionality, test first, then refactored the code several times. The end result is a very readable library that could be confidently handed off to another developer without any additional documentation or coaching. Let's get started.