I set all 376 Vim options and I'm still a fool

83 points by EvanHahn


mrak

I've personally worked with the author around 2014 and later and can say that they were already much better at vim than the article may suggest. The self-deprecating humor and approachable writing style help make the shared experience of gradually getting better with vim more relatable.

I don't think I've ever looked up every option myself. Maybe I will now! I know that I still discover new motions or movements every now and then after 20+ years. Vim docs are famously good if you already know what you are looking for. The discoverability of features to don't know about yet, however, can be quite lacking

cole-k

You aren't alone!

I think I have a higher tolerance for tedium (or a lower motivation to improve) than the "vim wizards" of the world. I showed a friend of mine Doom Emacs (my preferred vehicle for vim), and watched them zooming around a file a week later. "Didn't you think there'd be a better way to do XYZ?" they asked, and my reply was "no?" I have tried vimgolf from time to time, but I never feel like I learn much there; more like I learn to painstakingly craft a macro and repeat that several times (which is not something I enjoy doing when programming normally).

I swear I saw something like this before, but if it doesn't exist I want it: "editor lints" for vim. By that I mean you save a small buffer of the last few commands + the text it was operating on and write lints for them. e.g. I very often do di which a lint could suggest as c. I'm sure it might get annoying in a session, but it could also be given as a summary at the end, e.g. "you typed di 20 times, you can save 20 keystrokes by typing c instead." Obviously this isn't so easy with navigation --- often the right move is something like vim-snipe or go-to-def or a plain old /, but it would be very hard to say which is the right move just from your editor history (perhaps instead the lint could say something like "x% of your movement was hjkl, next time try <option>."

This really is to say that with the breadth of advanced editing, discovery of what is possible is important and lacking IMO.

rpaulo

I once set all Emacs variables and then I realized I was 100 years old.

hobbified

If you're hitting q: all the time, you need to slow down to go faster.

apetros

The diagraph and command-line window tips alone solve long-time Vim issues of mine. Thanks for writing this up.

joemi

I was still accidentally opening menus I didn’t recognize. I would do silly things like converting the whole file to lowercase

To be doing this kind of stuff after 13 years of using vim is very odd. I wish I could offer some advice to help, but I don't understand how this is possible, unless the author is just a particularly sloppy typist. I'm not a always-on-home-row super-high-words-per-minute knows-every-single-vim-command master or anything, and yet I'm very comfortable in vim and can't recall ever accidentally opening menus or accidentally converting a whole file to lowercase.

Further, expecting to learn vim by setting all the options seems strange to me. I'm not sure there's any software out there where that'd work. It might help you find some features you forgot about (or didn't know in the first place), but it never teaches you how to actually use the software. In the same way, setting all the options in a videogame doesn't teach you how to actually play the game.