Mastering the Vim Language
thoughtbot5 HN recommenders · recommended in 7 months, 2016-2026
647K views · 11 years ago · talk · evergreen
Chris Toomey of thoughtbot explains Vim as a language of commands, motions and text objects that combine into precise edits. He shows how to master the built-in pieces and extend them.
Repeatedly called the best video introduction to Vim's underlying model.
32:07Let Vim Do the Typing
thoughtbot
228K views • 11 years ago
1:14:03How to Do 90% of What Plugins Do (With Just Vim)
thoughtbot
990K views • 10 years ago
40:02Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs
thoughtbot
563K views • 11 years ago
14:15VimSpeak Demo
Ashley Feniello
16K views • 13 years ago
56:21Getting Started With Org Mode
thoughtbot
293K views • 10 years ago
1:20:307 Habits For Effective Text Editing 2.0
Google
330K views • 19 years ago
4:40Interview with a VIM Enthusiast
Kai Lentit
1.2M views • 4 years ago
1:01:06Emacs For Writers
thoughtbot
153K views • 11 years ago
1:08:45The Editor of a Lifetime
thoughtbot
132K views • 12 years ago
29:43OpenAI Codex Live Demo
OpenAI
913K views • 5 years ago
1:02:49Hacking with Andrew and Brad: tip.golang.org
The Go Programming Language
99K views • 11 years ago
11:41Using Emacs - 1 - setting up the package manager
Mike Zamansky
73K views • 10 years ago
1:31:13A Hackers' Guide to Language Models
Jeremy Howard
580K views • 3 years ago
1:15:09Cliff Click @ VMSS16: Bits of Advice For the VM Writer
softdevteamuk
4K views • 10 years ago
39:26"Cursorless: A spoken language for editing code" by Pokey Rule (Strange Loop 2023)
Strange Loop Conference
59K views • 3 years ago
58:39Tim Ewald - Clojure: Programming with Hand Tools
ClojureTV
48K views • 12 years ago
45:11Stevey's Tech Talk E39 -- A guided tour of Emacs
Steve Yegge
13K views • 4 years ago
27:14Transformers, the tech behind LLMs | Deep Learning Chapter 5
3Blue1Brown
11.6M views • 2 years ago
8:25Large Language Models from scratch
Graphics in 5 Minutes
375K views • 4 years ago
2:29:05Cursor Team: Future of Programming with AI | Lex Fridman Podcast #447
Lex Fridman
1M views • 2 years ago
7 comments from Hacker News
My first experience, on a BSD machine at about the same time, was similarly traumatic. I've since learnt the tool. Its ubiquity (particularly over pretty much all of the other ones I'd listed, at least on the machines I had ready access to) cemented that. I did like EVE when I'd used it, but have had little access to VAXen since. And was proficient for a time on Emacs (until a subsequent gig's director insisted that if it didn't come installed software wouldn't be added to our Unix server). My WP-fu fell with the end of DOS, though I did hang on for quite some time, up to the late 1990s / early aughts. CUA has its benefits, but it is only one of multiple competing keyboard standards. Everything is convention. Oddly: I'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: < ▶ this video > Vim may have a long learning curve, but it also has a steep payoff function.
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] ▶ this video
I dabbled with neovim on and off for a while - kind of following the same logic as you, wanting to be like many people I saw on Youtube. It never really worked since I was really comfortable with my existing workflow - vscode + iterm and "swiping" between screens on macOS. I was super-fast with the Macbook trackpad with its sensitivity turned up to the max. It finally clicked when I started a job where I had to use a windows laptop with a linux VM as my primary computer. I found that using vscode either within the VM or over "Remote-SSH" from windows was severely cramping my productivity. So I switched to NeoVim+Tmux cold turkey (SSHing into VM using "Windows Terminal"). I set up some shortcuts that made sense for me somewhat from vscode (e.g. Alt+<number> for switching "tabs", alt+hjkl or alt+arrow keys to switch between tmux panes etc.). Within a couple of weeks I was back to my old level of productivity. My usual setup has neovim on the left and a terminal in the right pane. Adding more panes vertically or horizontally is super easy as well. This may not be the most optimal setup, and there are still a few pain points from 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 ▶ this video
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. ▶ this video
Recommended: Learn vim For the Last Time: A Tutorial and Primer link Mastering the Vim Language ▶ this video An Incremental Approach to Vim link
Disclaimer: My vim knowledge has many gaps. Understanding vim's model, what Chris Toomey of Thoughtbot calls "the Vim Language", helps incredibly: ▶ 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, it pays to be on the lookout for more effective, faster, reliable, and/or repeatable methods. And no, vim's not the only editor I have, or do, use. It's not even the first Unix editor I'd used. There's been DOS EDIT, EDLIN, MacWrite, WP51, WordStar (me and GRR!), EDT, EVE, the ISPF editor, emacs, pico, ae, MS Word, ... you get the idea. But back in the 1980s, I first encountered (and balked noisily at, for a few weeks), BSD vi. And the basic muscle memory acquired, after a brief period of pain, has almost certainly been my best technical investment after learning to touch-type itself. Most importantly becaue both have been remarkably durable skills. No, vim is not vi, but it builds on its core . And over 30 years later, I find it useful both to see what new capabilities have been added, an
In video form, the best introduction I have seen is Chris Toomey’s ‘Mastering the Vim Language’: ▶ this video But here is something I wrote while I was learning how to migrate to Vim.. link