Skip to content
0:00 / 0:00

#vim#textobjects#modalediting

Mastering the Vim Language

thoughtbot

34K subscribers • 19 videos on Hallway

YouTube
  • Recommended by 7 people: 5 on Hacker News and 2 in engineering communities.
  • A classic. People kept recommending it from 2015 to 2026.
  • Presented by Chris Toomey
  • Linked in the descriptionSlides on ctoomey.com

Intermediate. Assumes working knowledge.

647K views11 years ago7 recommendations

Tools and practiceVim, Emacs and editorsDeveloper productivity

Chris Toomey explains how to think of Vim commands as a language of verbs, modifiers, and nouns to edit text efficiently.

Chris Toomey talks about mastering the Vim language. Vim's core is the amazing command mappings and text objects that allow for countless combinations to define precise edits. Learn how to master the built-in commands, motions, and text objects, and even how to extend the Vim language for even more power! Slides: ctoomey.com/mastering-the-vim-language-slides.pdf Learn more from the developers at thoughtbot ⌨️ Head over to tbot.io/dev-blog to read more great articles on our blog.

Why it's here

7 people recommend this

What people say. Widely recommended as the best introduction to understanding Vim's modal editing philosophy and text objects as a cohesive language.

Moments people linked to

u/zodmanin r/vim • Recommends

Mastering the Vim Language

u/VanLaserggg?G...in r/vim • Recommends

mastering the vim language (a.k.a. grammar)

begemotzon Hacker News • Recommends

On “How to start using VIM?”

In video form, the best introduction I have seen is Chris Toomey’s ‘Mastering the Vim Language’: link to this video But here is something I wrote while I was learning how to migrate to Vim.. link

dredmorbiuson Hacker News • Recommends

On “Vim Anti-Patterns (2012)”

Disclaimer: My vim knowledge has many gaps. Understanding vim's model, what Chris Toomey of Thoughtbot calls "the Vim Language", helps incredibly: link to this video I've picked up numerous tips watching this and other of Thoughtbot's excellent video series. More importantly, though, is that I've learned why specific vim idioms and motifs exist. They've lead me to rethink my own usage patterns, sometimes changing them, sometimes holding them just a bit more tightly. (Say, my practice of doing global regex pattern-replacement edits rather than repeated vim edits or macros, generally.) But for a tool I use for coding, data cleaning, systems administration, email, writing, document preparation, and more,…

dredmorbiuson Hacker News • Recommends

On “It's time to talk about my writerdeck”

…'m vi/vim in the editor, but readline on the shell. No, I don't set vimkeys bindings in Bash. But I do drop to bash as my shell editor. Also: for those stumbling across this thread later, "Mastering the Vim Language" is an excellent video I'd come across in my third decade of using the editor, and learned much from. It's now 11 years old itself: < link to this video > Vim may have a long learning curve, but it also has a steep payoff function.…

dredmorbiuson Hacker News • Recommends

On “Intermediate Vim”

Recommended: Learn vim For the Last Time: A Tutorial and Primer link Mastering the Vim Language link to this video An Incremental Approach to Vim link

urmishon Hacker News • Recommends

On “How Did Vim Become So Popular?”

The parent described only a fraction of what vim can do. The notion of text objects and combining them with plugins makes vim much more powerful. Even without plugins mastering vim makes writing code quite natural. link to this video

tantonyon Hacker News • Recommends

On “Ask HN: How to become good at Emacs/Vim?”

…rom time to time - particularly with the LSP/"intellisense" stuff. But it works for me. Oh and when I am coding on my MacBook Pro at home, I still prefer to use vscode + iTerm. Some resources that helped: "Practical Vim" by Drew Neil. I didn't read it cover to cover but I have scanned through it enough to pick up the important stuff. link link link to this video…

jsilenceon Hacker News • Recommends

On “Edamagit: Magit for VSCode”

Have been using Spacemacs and Doom Emacs some time ago, but turned off evil mode, bc I was not used to vim style editing. Lately I understood that vim key bindings is actually an editing language and finally found joy in vim 0. Surely going to return to Doom-Emacs with evil mode on. Maybe switching to evil god mode later. 0 link to this video

u/rNReadItin r/vim • Mentions

Using vim efficiently link to this video This video helped me understand how to use vim. I shared this video with my colleagues and converted them into using vim. Thought this might help someone hence posting here.

u/Toontjein r/vim • Mentions

Finally vim makes sense I have been going through A LOT of vim tutorials and absolutely none of them actually made me want to learn vim. Until i found this video: [video Vim as a language. Now it all makes much more sense. Then i found this article via this subreddit: https://danielmiessler.com/study/vim/ and i'm fully in. I still use my cursor keys although i know that in macros and such i need to use the hjkl, but each to it's own, i think. This works for me. What amazes me is that approaching "vim as a language" learning is so much easier and, most importantly, so much more fun.

u/aushtxin r/vim • Mentions

Is Visual Mode actually a smell? So, I'm a new Vim user (Emacs in Evil-mode, actually, but anyways) and I was watching this interesting video (link is to a particular timestamp of interest). Basically, he says, that almost anything you can do with visual selection can be expressed via vim language and then he proceed to show some extensions to vim language to cover even more of what you might want to express. I find this idea amazingly powerful. I would say I decided to switch from sublime because when I started learning about Vim I saw that some limits (which I considered natural, like, sure, how could one do it another way) I had with more common text editors are no longer limits in Vi…
47View on Reddit

u/MrJadamlin r/vim • Mentions

How to get live highlight when searching? / Going back to this oldie, but goodie of-a-video and I noticed that what Chris was searching for was getting highlighted "live" as he was typing. Dug around a bit but couldn't find what to set to make this happen. link to this video
8View on Reddit

u/duncecapwinnerin r/vim • Mentions

copying to and from clipboard as a "smell" The speaker at this talk (exact timestamp linked) brings up the plugin system-copy to treat copying to clipboard like an operator. I found doing y"+, p"+ annoying and added the following to my RC (depending on visual mode) vnoremap <C-c> "+y`> inoremap <C-v> "+p I'm wondering how "smelly" these might be and whether there are workarounds in native vim (if not I guess it's time to use the mentionedp lugin)
8View on Reddit

u/hsllshin r/vim • Mentions

…hought I'd share the three things that helped me a lot: * Use **Vim whenever/wherever possible** right from start (e.g., extensions/add-ons for VSCode, Firefox) * Use **deliberate practice** to work on my weak areas (it helped me become good at using the amazing surround.vim plugin very quickly). * **Understand Vim's philosophy** by watching this link to this video on Mastering the Vim Language (wished I had watched it on day 1—could have prevented lots of headache!) Super happy I took up this 15-day challenge to learn Vim. It's an incredible text editor.…
4View on Reddit

u/gabriel_dnyin r/elixir • Mentions

On “Best text editor to development in Elixir?”

…3) Enable auto-complete (I think you need python installed) : "cd ~/.vim/bundle/YouCompleteMe ./install.py --clang-completer" - 4) Enjoy :) If you have any question online you can find a lot of guides for installing vim (I suggest you to search first on Youtube). For learning the basics commands i highly suggest you this video (I just love it): link to this video Last but not least: Practice! Open a random file and play with it! And remember: before we get senior, we are junior :)…