Learn Vim at your own pace with my self-study Core Vim Course.

Learn more

Learn Vim at your own pace with my self-study Core Vim Course.

Vim London January in review

On Tuesday, 29th January, we held the 3rd meeting of Vim London. We had 5 short talks on the theme of Speak Vim - operators and motions. The talks weren’t recorded, so I’m posting a retrospective here.

We had five short talks, which I’ll summarize briefly here:

1. Vim Grammar, by Tom Cammann

Tom Camman kicked off the evening with an introduction to Vim’s Grammar. He illustrated Vim’s Normal mode operations with a simple set of rules:

Check out his grammar slide and be sure to click the ‘Show optional’ link. Tom has written up an Intro to Vim grammar blog post, which nicely summarizes the material from his talk.

2. When and why you should stay out of visual mode, by Drew Neil

I’ve published the slides for my presentation on speakerdeck.

In a nutshell: visual mode doesn’t work well with the dot command. The dot command repeats your last change, which allows for a very efficient workflow when going through a set of similar changes. When performing a repetitive set of changes (where the dot command is your friend), you should prefer using Normal operations over Visual operations.

This will be a familiar refrain if you’ve ever attended one of my Vim Masterclasses. I also cover this material in tip 23 of Practical Vim. Essential further reading: Operator, the true power of Vim, by Kana Natsuno.

3. Meet Easymotion, by Jack Franklin

Jack presented a lightning talk on the easymotion plugin by Kim Silkebaekken. He gave a live demonstration (no slides) of how the plugin allows you to rapidly move around a file. He also mentioned that his Beginning jQuery book was due to be released the next day. Congratulations to Jack on becoming a published author! (I’ll show you the secret handshake next time we meet)

4. Meet Surround, by Kris Jenkins

Kris presented a lightning talk on surround, an essential plugin from Tim Pope. Kris gave a live demonstration of some of the scenarios where the plugin can make life easier. You can find his demo files github. He also explained the way that surround fits in with Vim’s existing grammar rules.

5. Custom motions in Vim, by Alex Young

Alex closed the evening with a look at how to create custom motions using Vimscript. He’s published his slides on speakerdeck:

Alex introduced the concept of operator-pending mode, and showed how :omap can be used to create motions that work in that mode. As case studies he looked at the camelcasemotion and seek plugins, discussing how they were implemented.


Inspired by the meetup, Rob Miller published a new custom motion of his own: movar, which makes it easy to operate on variables in (so far) PHP, Javascript, and Ruby. Check it out!

Up next…

Vim London will meet again in February, on the last Tuesday of the month. We haven’t picked a theme yet, but if you’d like to be involved in the discussion, then please join the Vim London google group.

It’s disappointing that we didn’t manage to record the talks this time around, but I hope to figure something out in time for the next meetup. If you can help, I’d love to hear from you.


Browse similar content

Level-up your Vim


Boost your productivity with a Vim training class. Join a public class, or book a private session for your team.

Drew hosted a private Vim session for the shopify team that was one of the best workshops I have ever attended.

John Duff, Director of Engineering at Shopify


Make yourself a faster and more efficient developer with the help of these publications, including Practical Vim (Pragmatic Bookshelf 2012), which has over 50 five-star reviews on Amazon.

After reading it, I've switched to vim as my default editor on a daily basis with no regrets. ★★★★★

Javier Collado

Learn to use Vim efficiently in your Ruby projects

In association with thoughtbot, one of the most well respected Rails consultancies in the world, I've produced a series of screencasts on how to make navigating your Ruby projects with Vim ultra-efficient. Along the way, you’ll also learn how to make Ruby blocks a first-class text object in Vim. This lets you edit Ruby code at a higher level of abstraction. Available to buy from thoughtbot..