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"

  1. Vim screencast #1: Intro.
  2. Vim screencast #2: Folding.
  3. Vim screencast #3: Oil vs vinegar.
  4. Vim screencast #4: Color.
  5. Vim screencast #5: Splits (basic operations).
  6. Vim screencast #6: Splits (resizing).
  7. Vim screencast #7: Splits (moving).
  8. Vim screencast #8: Splits → Tabs.
  9. Vim screencast #9: Karabiner
  10. Vim screencast #10: Snippets and autocomplete
  11. Vim screencast #11: Relative numbers
  12. Vim screencast #12: Focus
  13. Vim screencast #13: Multiple cursors
  14. Vim screencast #14: *Ncgn
  15. Vim screencast #15: Organization
  16. Vim screencast #16: Static site case study
  17. Vim screencast #17: Regular expressions
  18. Vim screencast #18: Look-ahead & look-behind
  19. Vim screencast #19: Case tricks
  20. Vim screencast #20: Loupe
  21. Vim screencast #21: Scalpel update
  22. Vim screencast #22: Italics
  23. Vim screencast #23: Macro tricks
  24. Vim screencast #24: Terminus
  25. Vim screencast #25: Live coding
  26. Vim screencast #26: tmux
  27. Vim screencast #27: tmux config
  28. Vim screencast #28: Visual mappings
  29. Vim screencast #29: Command mappings
  30. Vim screencast #30: Normal mappings
  31. Vim screencast #31: Leader mappings
  32. Vim screencast #32: Settings (Part I)
  33. Vim screencast #33: Settings (Part II)
  34. Vim screencast #34: Settings (Part III)
  35. Vim screencast #35: Settings (Part IV)
  36. Vim screencast #36: Settings (Part V)
  37. Vim screencast #37: Processes
  38. Vim screencast #38: Better focus
  39. Vim screencast #39: Multi-line sorting
  40. Vim screencast #40: tmux prompt navigation
  41. Vim screencast #41: Colemak
  42. Vim screencast #42: Recursive macros and Replay
  43. Vim screencast #43: macOS Sierra
  44. Vim screencast #44: Profiling and optimization
  45. Vim screencast #45: Open in Terminal Vim
  46. Vim screencast #46: Directory hashes
  47. Vim screencast #47: Statuslines
  48. Vim screencast #48: Even better focus
  49. Vim screencast #49: Sending email with vim
  50. Vim screencast #50: Email demo
  51. Vim screencast #51: Composing email
  52. Vim screencast #52: Viewing email with Vim
  53. Vim screencast #53: Email architecture
  54. Vim screencast #54: Working with nested code
  55. Vim screencast #55: Statusline improvements
  56. Vim screencast #56: HTML email
  57. Vim screencast #57: Neovim
  58. Vim screencast #58: deoplete.nvim
  59. Vim screencast #59: Karabiner Elements
  60. Vim screencast #60: iskeyword
  61. Vim screencast #61: Cyclic alternates with Projectionist
  62. Vim screencast #62: Eunuch
  63. Vim screencast #63: Dotfiles
  64. Vim screencast #66: iTerm Dynamic Profiles
  65. Vim screencast #65: Moving lines vertically
  66. Vim screencast #64: Fold styling
  67. Vim screencast #67: Editing crontabs
  68. Vim screencast #68: Keylogging
  69. Vim screencast #69: zsh prompts
  70. Vim screencast #70: SpaceFN
  71. Vim screencast #71: Goyo
  72. Vim screencast #72: tabline
  73. Vim screencast #73: Command line editing
  74. Vim screencast #74: vim-slime
  75. Vim screencast #75: Plugin managers
  76. Vim screencast #76: vcs-jump
  77. Vim screencast #77: Merge conflicts
  78. Vim screencast #78: Language Server Protocol
  79. Vim screencast #79: Project-specific overrides
  80. Vim screencast #80: Learning Vim
  81. Vim screencast #81: Compound FileTypes & Autocommands
  82. Vim screencast #82: Testing compiler plugins
  83. Vim screencast #83: Emoji
  84. Vim screencast #84: Corpus
  85. Vim screencast #85: Custom vim:// protocol handler
  86. Screencast #86: Git pager enhancements
  87. Screencast #87: Neovim’s built-in LSP client
  88. Vim screencast #88: Tampermonkey
  89. Vim screencast #89: Dirvish
  90. Vim screencast #90: :filter, execute(), :redir
  91. Screencast #91: Channel update
  92. Screencast #92: Dotfiles
  93. Vim screencast #93: TextYankPost
  94. Vim #94: Sharpening the Axe (VimConf 2020)
  95. Vim #95: VimConf 2020 Redux
  96. Vim #96: Porting Vimscript to Lua
  97. Vim #97: Tweaking star
  98. Vim #98: Search and replace in VISUAL mode
  99. Vim #99: Moving to Neovim… for realz
  100. Screencast #100: Customizing commands with shell functions
  101. Screencast #101: De-Google-ing your email
  102. Vim #102: macOS keyboard bindings on Linux
  103. Vim #103: Better LSP-powered completion in Neovim
  104. Vim #104: Lspsaga
  105. Vim #105: backupcopy
  106. Vim expert reacts to other Vim expert (#106)
  107. Vim #107: init.lua in Neovim v0.5.0
  108. Vim #108: sudo writes in Neovim
  109. Vim #109: zen-mode.nvim
  110. Neovim #110: Making a custom nvim-cmp source
  111. macOS dead letters on Linux
  112. Neovim 112: Command-T
  113. Neovim 113: Paragraph formatting with par
  114. Vim 114: Bram Moolenaar, 1961—2023
  115. zsh profiling and optimization in 900 easy steps
  116. Speed up Neovim startup by 25% with vim.loader
  117. The simplest ChatGPT interface for Neovim
  118. 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.