Like, I'd bet "Pay $10 if you like it" / ReaperWare would earn this person literally an order of magnitude more money.
However, one thing I really struggle with is learning when I can be doing something more efficiently. I rarely use markers, anything beyond default registers, commands, and so on.
I'm giving Neovim a try for my systems course trying to get better but I do wish these sorts of games pushed me to get better at these more advanced usage tricks.
To learn new vim motions. Have since gotten distracted by life, but need to actually finish it.
Kinda like how it feels good to play an instrument when you’re good at it, or something.
I might give it a try!
Edit: Went down a rabbit hole and see pacvim (https://github.com/jmoon018/PacVim) is in the official Debian repo as an option as well.
You start out and you only have `h,j,k,l` available to you (despite what the help says). So just end up holding the keys and maybe that's fine but then that first level is WAY too big.
Like I got to the second area and it starts talking about word motions and then you try `w,b,e` and it then tells you those keys aren't available. That's not even the first character you talk to that is mentioning movement keys while those keys remain unavailable to you!
I rage quit after unlocking `w,b,e` and moving back to that chest at the beginning only to realize I had forgotten there was a space between the word and punctuation meaning I'd need to unlock something like `B`, `0`, `^`, or even the ability to use numbers which a character had already mentioned to me...
[1/10] do not recommend. I believe most people will be able to read half of `vimtutor` before you will unlock the `b` key in this game as well as have a much better understanding of how vim actually works.
I highly suggest vimtutor to people because what a lot of people miss while learning vim is that there isn't actually much to remember. There's sets of motion keys and sets of command keys. The beauty of vim is that the commands are putting these together. For example, say you learn `b,w,e` and then you learn `d`. You now automatically know `db, dw, de, dd`. You didn't learn 4 new things, you learned 1 new thing. Similarly learning `B,W,E` isn't learning 3 new things, you learn one new thing: capitalized motion keys work on WORDS instead of words (aka: big movements)
However, not everything can be well designed at the beginning. Skills of editing will affect efficiency, especially in a try-and-error loop of new ideas/approaches, where only a rough design exists.
Besides, some niche editing tasks (which may involve column editing, macro recording then batched execution, regex based operation, encoding transformation etc.) may otherwise require writing awk/sed or even perl/python scripts as subprojects to achieve, if one does not known the editor well.
https://pubs.opengroup.org/onlinepubs/9799919799/utilities/
I'm in busybox and on OpenBSD quite a bit, and all the vim embellishments would be a clutter of my neurons.
That vi was standardized was one of the many failures of POSIX as an idea. The very idea that we should freeze a text editor for all time is silliness in the extreme.
What does this mean? All I found on the Google was a company that produces sim racing gear.
https://github.com/cboppert/motd
You might have to futz with it a bit, and I think I've added some other stuff in there since then (love the toggle-light-mode script which toggles several things either to Dark or Light mode at once so I can switch environments easily, however have never gotten it to fully automate, so I have to manually type goDark or goLight depending. Humbug!)
Anyways, it's great cause it gives you one tip or command at a time, and so you can sort of slowly grow without really having to dedicate much time to it.
Is there such a thing? I feel like someone has probably made something this - something that progressively works through soem of the more complex features of vim.
I’ve found soem absolute gems mostly through online blogs and reading through vim docs
If anyone has any repos that’d recommended I’d be happy to try!
I feel like most of these tutorial like apps just scratch the surface and are more beginner focused.
Anyway it’s easily the best time investment I’ve ever made, period. Takes a couple days of messing around, and you can basically never leave modal editing behind! It’s just so much better. I’m still not even a vim master. Just the basic motions and commands are enough to never want to give em up. Throw macros and registers on top… delicious.
Also without vim I never would have tried helix, which is just absolutely the smoothest and most frictionless editing ever. Very minimal setup, too
> I’m still not even a vim master.
I can do some things that people using vim for decades didn't know was possible. I'm still not a vim master. How does one ascend to the levels of TPope?Joking aside, I think that's one of the nice things about vim. There's always more to learn. Not in the way that you're missing something but in the same way this is true for any programming language. It's because these tools are so flexible they can do just about anything
Vscode Vim Academy
https://marketplace.visualstudio.com/items?itemName=kaisun.v...
Does that look like what you used?
hardtime.nvim[1] (or vim-hardtime[2] if you're old-school) do exactly this but within your editing session. There's an associated blog post[3] explaining the rationale behind some of the workflow choices and you can of course bring your own.
[1]: https://github.com/m4xshen/hardtime.nvim
But Vim is not merely a tool... it's a discipline. A lifestyle. It is not learned in an afternoon, nor in a weekend sprint of neon-highlighted tutorials. No, Vim is best learned like one reads a long, weathered tome: slowly, reverently, one page at a time.
It begins humbly: i to whisper your intentions. <Esc> :wq to seal your work with a sacred rite. Then, perhaps days or weeks later, a revelation: "Wait… I can delete four lines with 4dd?!"
You do not master Vim. You grow into it. Each new keystroke discovered is like finding a hidden passage in a familiar castle. What begins as a cryptic incantation eventually becomes second nature... muscle memory and magic intertwined.
So yes, make it a game. But know that Vim is not beaten. It is befriended over years, not minutes.
/s
:%norm 0f"ldt"i...
There are so many times (even per day) where I'll say to myself: "ahhh, I'll just 'vim' it rather than writing a program..."If I'm not going to have to do it a bunch, sometimes vim itself is faster than writing a script to do whatever random task I need done.
...or y'x to keep something kindof handy that I can drop in at the right place (sometimes with a macro...)
qadi('xpq => @a => @@...
(Record macro "a", delete inner parentheses, paste from the "x" register, stop recording => play macro "a" => play last macro...)If I keep "x" clean/protected then I can delete or edit the rest of the time all willy-nilly and not worry about clobbering what I'm trying to paste into the right spots.
Make some key bindings. Bind leader to space, and make a leader mapping for writing to the file, and another mapping to quit. Avoid chords.
:P :Print
:[range]P[rint] [count] [flags]
Just as ":print". Was apparently added to Vi for
people that keep the shift key pressed too long...
This command is not supported in Vim9 script.
Note: A user command can overrule this command.
See ex-flags for [flags].
meanwhile there's also text editors that dont make you doubt yourself and fall on your face each time someone walks by ur workstation and you want to show them some kind of space-invaders-word-editing-trick which always fails because your fingers arent rubber bands afterall.
(sorry totally nano lover :p satire/jokes)
:%!ai-cli
One time my girlfriend needed to format a bunch of text, I don’t remember why. It was like a csv but couldn’t be opened in excel because it was badly formatted or something?
Anyway her work computer had vim on it, and I totally saved the day. Pretty much the proudest moment of my life lol. It was like this xkcd, but for vim https://xkcd.com/208/
https://marketplace.visualstudio.com/items?itemName=vinthara...
The other day (we're being encouraged to "use AI" at work), I had a bunch of 20250101, 20250201, ... fields in a g-sheet at work. I decide to ask google's AI to "help out", hey... can you convert these integers to ISO date strings?
"Sure can do, old buddy, old, pal, here you go, it's '2025-01-01', '2025-02-01', etc..."
OK, great, can you put those rows into the spreadsheet now? "Whoah whoa... I used python code to do that for you" => "Can you do it with a spreadsheet formula or something? Can you replace those rows? What's the formula to convert this into a string / iso date? ...etc..."
Finally I'm just like "fuck it!", grabbed it in vim, `Ctrl-V, G, I-, ll.` and pasted it all back in. Like 10 keystrokes instead of arguing with our new robot overlords. :-D