How to Do 90% of What Plugins Do (With Just Vim)
thoughtbot10 HN recommenders · recommended in 10 months, 2016–2025
talk · intermediate · evergreen · 2016–2025 on HN
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.
Up next
1 mo on HNComparing Tesla, Ford, & VW's Electrical Architectures
Munro Live
1 HN recommend · 2021–2021
8 mo on HNBreaking the x86 Instruction Set
Black Hat
9 HN recommender · 2017–2022
6 mo on HNVladimir Pozner: How the United States Created Vladimir Putin
Yale University
10 HN recommender · 2020–2023
8 mo on HNBlockchains Are a Bad Idea (James Mickens)
HBS Digital Initiative
8 HN recommender · 2018–2023
10 mo on HNThe Real Story Behind Wayland and X - Daniel Stone (linux.conf.au 2013)
Mladen Mijatov
13 HN recommender · 2013–2026
9 mo on HNThe Century of the Self - Part 1: "Happiness Machines"
JustAdamCurtis
13 HN recommender · 2017–2025
3 mo on HNWriting a Wayland Compositor in Zig - Isaac Freund
Zig SHOWTIME
4 HN recommender · 2021–2021
11 mo on HNThe Continuity of Splines
Freya Holmér
10 HN recommender · 2022–2026
15 mo on HNRailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
15 HN recommender · 2015–2025
11 mo on HN"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
12 HN recommender · 2014–2024
11 mo on HN🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
DevTernity Conference
11 HN recommender · 2018–2024
11 mo on HNBret Victor - Inventing on Principle
Rui Oliveira
12 HN recommender · 2013–2025
12 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
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
> 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
I use vim with ctags. vim has good autocomplete but I don't use it much -- I rely on memory and looking things up in the docs. With ctags I can jump to definition/implementation of a function. ctags has worked since the early 1990s. Check out this video: How to do 90% of what plugins do with just vim. ▶ this video
Am I the only one using vanilla vim with a minimal configuration file (<50 lines)? I set tabs to 4 spaces, put syntax highlighting on, set background to dark, add fuzzy finding, and configure netrw (default file browsing). Very easy to setup. Moreover, when I'm on a different computer and open (vanilla) vim without any configurations. I know that everything is more or less the same as my default vim environment. I think it's not that hard to learn developing in the default vim environment, with some minor tweaks. Also related, 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
I like that the intro paragraph discusses the pros and cons of vanilla vs plugins. For those that want to take a look at some more vanilla approaches to some common tasks, Max Cantor has a great talk about that on YouTube [0]. [0]: ▶ this video
Let's get this out of the way: "How to Do 90% of What Plugins Do (With Just Vim)": ▶ this video And if you want to see some crazy vim usage, there's always Damian Conway: link
I used to use bufftabline, link . I think something like it is what you're looking for? If it's not quite right for you the readme in the github repo mentions some other plugins that have similar capabilities. I really liked bufftabline when I used it. It was lightweight and did exactly what I wanted it to do, give me an immediate visual representation of the buffers I had open in a familiar tab-like format. Eventually I moved towards an even lighter weight setup. Take at look at this video is you're interested in anything like that. ▶ 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
Use the editor that works best for you. I have used Vim every day for almost the last two years and I have learned to work very quickly inside of it. As far as plugins, if one sounds interesting or useful to you, install it. If it doesn't work out, then you can delete it later. Over the years I have tried all of the popular plugins, but I have managed to whittle it down to 4 plus a couple of language specific plugins Here are a couple of handy youtube videos Vim Navigation Commands link How to Do 90% of What Plugins Do (With Just Vim) ▶ this video
Vim has built-in auto completion, for some languages (Python, C, ...) it can even be kind of smart. There are many videos showcasing the power of vanilla Vim ▶ this video link