
thoughtbot
10 HN recommenders · recommended in 12 months, 2016–2025
1:14:03 · 991K views · Oct 5, 2016
A thoughtbot meetup talk by Max Cantor on getting most of what popular plugins provide using only built-in Vim features. It covers autocomplete, file jumping, filesystem navigation, build integration and snippets, with slides and a vimrc available.
HN treats it as the canonical talk for the case that vanilla Vim goes a long way and plugin dependencies are a burden.
14 comments from Hacker News
The thoughtbot series on vim is great. I'm really glad I found this video early in my Vim career. I've got a very minimal vimrc as a result and just try to lean into the vim builtins this video
I don't believe it's possible to have a good vimrc without really grasping some elementary concepts like movements, operators, registers, windows etc. I have recently watched all the Drew Neil's VimCasts[1] and after just a couple of hours I've realized I was missing a lot for at least 10 years. There is also quite a good presentation on YouTube by Max Cantor "How to Do 90% of What Plugins Do (With Just Vim)"[2]. Instead of treating a single vimrc as the best one it's useful to skim through dotfiles and plugins of some influential vim users like Drew Neil[3] and Tim Pope[4]. BTW VimCasts are accompanied by a book. The second edition[5] includes changes introduced by Vim 8.0. [1]: [LINK] [2]: this video [3]: [LINK] [4]: [LINK] [5]: [LINK]
> The ability to autocomplete, and navigate through the code (even my dependencies's code) by the click on a function, the popover showing the documentation/signature of the function i'm going to call. Those are Quality of Life features I'm not ready to give up on. ctags did most of that decades ago. Plain vim has good autocomplete and signature popovers, along with navigating to functions and class definitions. No LSP needed. An LSP will do it better but with sometimes significant overhead. As I noted I don't use VSCode or a JetBrains IDE. I know about them and have used them. My setup works language-agnostic, and I also work in multiple languages. Possibly useful, at least interesting: this video
With editors like vim, neovim, emacs, it's way easier to get the lay of the land first (tutorial, play around with the default config,..) and then list out what you need. My vim config has three things only: LSP, FZF (for anything fuzzy), and Plug (to install the above two). There's also a few niceties, but I could do without them. or vendor them into the main config. But it's not my daily editor, so that's just the base config. Anything I could add on top of that would depend on the projects I would need it for. That's about 200 lines (the lsp config is 1/4 of that) NB. A nice talk even if it's about vim "How to Do 90% of What Plugins Do (With Just Vim)" this video
some languages are more verbose than others. if you're dealing with `ProblemProblemFactory` type of abstraction madness and subscribe to the idea of spelling out every variable (MessageCounter instead of "cnt" etc) then this would seem handy. Maybe it's a question of mindset & philosophy. I personally prefer a minimalist but powerful editor without plugins and just rely on their internal capabilities (which granted are a learning curve). It avoids getting stuck when doing $EDITOR foo on a system you don't own and still feel at home and as fast as on your primary workspace. "How to Do 90% of What Plugins Do (With Just Vim)" : this video