Vim screencastsEdit
A bunch of quick-and-dirty screencasts about Vim. My intention here is not to create yet another "here is why you should use Vim"/"see the power of modal editing" screencast, but rather a collection of short tips and demos for existing Vim users; basically the kind of content that I myself might want to see.
To prevent this from becoming too onerous, or letting my perfectionism get the better of me, I am giving myself permission for these to be rough, unscripted, unrehearsed and, in general, to suck. They shouldn’t be more than a few minutes long each.
Published "episodes"
- Vim screencast #1: Intro.
- Vim screencast #2: Folding.
- Vim screencast #3: Oil vs vinegar.
- Vim screencast #4: Color.
- Vim screencast #5: Splits (basic operations).
- Vim screencast #6: Splits (resizing).
- Vim screencast #7: Splits (moving).
- Vim screencast #8: Splits → Tabs.
- Vim screencast #9: Karabiner
- Vim screencast #10: Snippets and autocomplete
- Vim screencast #11: Relative numbers
- Vim screencast #12: Focus
- Vim screencast #13: Multiple cursors
- Vim screencast #14: *Ncgn
- Vim screencast #15: Organization
- Vim screencast #16: Static site case study
- Vim screencast #17: Regular expressions
- Vim screencast #18: Look-ahead & look-behind
- Vim screencast #19: Case tricks
- Vim screencast #20: Loupe
- Vim screencast #21: Scalpel update
- Vim screencast #22: Italics
- Vim screencast #23: Macro tricks
- Vim screencast #24: Terminus
- Vim screencast #25: Live coding
- Vim screencast #26: tmux
- Vim screencast #27: tmux config
- Vim screencast #28: Visual mappings
- Vim screencast #29: Command mappings
- Vim screencast #30: Normal mappings
- Vim screencast #31: Leader mappings
- Vim screencast #32: Settings (Part I)
- Vim screencast #33: Settings (Part II)
- Vim screencast #34: Settings (Part III)
- Vim screencast #35: Settings (Part IV)
- Vim screencast #36: Settings (Part V)
- Vim screencast #37: Processes
- Vim screencast #38: Better focus
- Vim screencast #39: Multi-line sorting
- Vim screencast #40: tmux prompt navigation
- Vim screencast #41: Colemak
- Vim screencast #42: Recursive macros and Replay
- Vim screencast #43: macOS Sierra
- Vim screencast #44: Profiling and optimization
- Vim screencast #45: Open in Terminal Vim
- Vim screencast #46: Directory hashes
- Vim screencast #47: Statuslines
- Vim screencast #48: Even better focus
- Vim screencast #49: Sending email with vim
- Vim screencast #50: Email demo
- Vim screencast #51: Composing email
- Vim screencast #52: Viewing email with Vim
- Vim screencast #53: Email architecture
- Vim screencast #54: Working with nested code
- Vim screencast #55: Statusline improvements
- Vim screencast #56: HTML email
- Vim screencast #57: Neovim
- Vim screencast #58: deoplete.nvim
- Vim screencast #59: Karabiner Elements
- Vim screencast #60: iskeyword
- Vim screencast #61: Cyclic alternates with Projectionist
- Vim screencast #62: Eunuch
- Vim screencast #63: Dotfiles
- Vim screencast #66: iTerm Dynamic Profiles
- Vim screencast #65: Moving lines vertically
- Vim screencast #64: Fold styling
- Vim screencast #67: Editing crontabs
- Vim screencast #68: Keylogging
- Vim screencast #69: zsh prompts
- Vim screencast #70: SpaceFN
- Vim screencast #71: Goyo
- Vim screencast #72: tabline
- Vim screencast #73: Command line editing
- Vim screencast #74: vim-slime
- Vim screencast #75: Plugin managers
- Vim screencast #76: vcs-jump
- Vim screencast #77: Merge conflicts
- Vim screencast #78: Language Server Protocol
- Vim screencast #79: Project-specific overrides
- Vim screencast #80: Learning Vim
- Vim screencast #81: Compound FileTypes & Autocommands
- Vim screencast #82: Testing compiler plugins
- Vim screencast #83: Emoji
- Vim screencast #84: Corpus
- Vim screencast #85: Custom vim:// protocol handler
- Screencast #86: Git pager enhancements
- Screencast #87: Neovim’s built-in LSP client
- Vim screencast #88: Tampermonkey
- Vim screencast #89: Dirvish
- Vim screencast #90: :filter, execute(), :redir
- Screencast #91: Channel update
- Screencast #92: Dotfiles
- Vim screencast #93: TextYankPost
- Vim #94: Sharpening the Axe (VimConf 2020)
- Vim #95: VimConf 2020 Redux
- Vim #96: Porting Vimscript to Lua
- Vim #97: Tweaking star
- Vim #98: Search and replace in VISUAL mode
- Vim #99: Moving to Neovim… for realz
- Screencast #100: Customizing commands with shell functions
- Screencast #101: De-Google-ing your email
- Vim #102: macOS keyboard bindings on Linux
- Vim #103: Better LSP-powered completion in Neovim
- Vim #104: Lspsaga
- Vim #105: backupcopy
- Vim expert reacts to other Vim expert (#106)
- Vim #107: init.lua in Neovim v0.5.0
- Vim #108: sudo writes in Neovim
- Vim #109: zen-mode.nvim
- Neovim #110: Making a custom nvim-cmp source
- macOS dead letters on Linux
- Neovim 112: Command-T
- Neovim 113: Paragraph formatting with par
- Vim 114: Bram Moolenaar, 1961—2023
- zsh profiling and optimization in 900 easy steps
- Speed up Neovim startup by 25% with vim.loader
- The simplest ChatGPT interface for Neovim
- Advanced tmux: custom copy mode HOW-TO
Future "episodes"
Topics I’d like to cover, in no particular order.
- Getting links and files to open in iTerm, tmux, and Vim
- Statusline
- Dealing with temporary files (DONE)
- Italics in the terminal, true color in the terminal etc
- Plug-ins I’ve written:
- Command-T
- Ferret
- Terminus
- Spelling
- Settings (DONE)
- CTRL-Z fg + bg trick
- Sorting multi-line blocks
Recording checklist
- Quit all other apps.
- Switch to high-contrast colorscheme (
dark tomorrow
, probably).
- Turn on "Do Not Disturb" mode in notifications center (two-finger swipe from right edge of trackpad).
- Mute sound.
- Close all but one iTerm tab.
- Make sure you hide Screenflow.
- Use my hacked-up Keycastr fork, because it works on Colemak.
- Place Keycastr at the bottom/center of the screen.
- Leave a gap between the terminal window and the bottom edge (room for Keycastr window).
- For showing web pages, enable guest browsing; note that going "incognito" is not enough.
- Audit recorded video for privacy.
dark tomorrow
, probably).