I’ve never used vim for anything else than quick edits and I think the convenience of stuff like gitlens and clicking cute buttons to run tests is why. What do you like abt your current setup?
byornella • posted archived copycurrent

Oh, so much, lol. I took some time with this answer because I wanted to be precise. I've been using Vim-style editors as my primary form of editing (for code and prose) for over 5 years now. Likewise, I think what truly locked me in was the concept of modal editing. It took me about two days of fumbling and a month after with a cheat sheet, but the gist of it is burned into my brain, and it makes me more productive when working on it. Being able to treat the actions I take in my editor as a collection of macros (or declarative actions) made things like REPL flows, running tests and refactoring so much simpler. I didn't have to hunt them down, I could verbalize exactly what I wanted to do to my editor, and it understood that. Like I don't hold down the key, I press 5j when I need to jump down five lines. Or if I need to delete everything in a quote, I hit diw to delete the inner word of a quote! Repeated actions definitely became muscle memory.

Another thing is the requirement to set up an editor in a way that works for you. Defaults are excellent for bootstrapping and to be honest, we've taught people to stick with them—which isn't a bad thing. You can focus on doing what you need to do and keep going from there. But for a tool where a lot of time is spent in it, I think it made sense to tweak the way I needed to. A lot of people though (unlike me) tend to learn the defaults of Vim and work with it. I very much preferred to hammer Vim a bit into the way I wanted (hence my massive Vim configuration file that I need to break up). I probably spend like twenty minutes a month dropping things I realize I don't use and graduating plugins from testing to my toolkit.

Another perk is the resource consumption. I say this on a machine with 32 GB of RAM and a very recent core (like last year, lol) but when I tend to SSH into machines and I have the chance to clone my config on there (for development machines), keeping it thin is important. Granted, I have a plugin I use now to avoid having to copy my config into remote places so that isn't a problem anymore.

And look, I get the need for looks—I use a different theme and icon set based on what machine I'm using (work, personal laptop, gaming PC, etc). It's a tool that you can really make your own and it's completely open by design (with no weird telemetry by default since it's not a product).