VIM Master

177 Fluffyrnz 64 8/27/2025, 3:50:54 PM github.com ↗

Comments (64)

cramsession · 5h ago
I'm surprised they don't even mention vimtutor. It's preinstalled on every machine with vim (to the best of my knowledge). This seems like a cool project, but might as well give a shout-out to the original concept.
absolute_unit22 · 1h ago
I actually opened this hoping it’ an alternative to vimtutor but for experienced/intermediate users.

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!

TrainedMonkey · 1h ago
nunez · 3h ago
vimtutor is to Babbel what this is to duolingo. Many will prefer learning through a game but some want a more textbook approach. Honestly, anything to get more people on vim and emacs is a good thing in my book!
tim-kt · 2h ago
> vimtutor is to Babbel what this is to duolingo

It took me half a minute to realize that you probably meant "vimtutor is to VIM master what Babbel is to duolingo".

teo_zero · 1h ago
Isn't it exactly the same thing? If a:b=c:d then a:c=b:d.
hombre_fatal · 27m ago
The problem is that it's not the relationship between vimtutor and Babbel that you're comparing to the relationship between vimmaster and Duolingo.
chamomeal · 1h ago
Learned vim with a game like this. It was a vscode extension, I don’t remember what it was called.

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

godelski · 1h ago

  > 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

MikeTheGreat · 57m ago
Searching for "vim game" this is the only thing I found:

Vscode Vim Academy

https://marketplace.visualstudio.com/items?itemName=kaisun.v...

Does that look like what you used?

benjaminclauss · 5h ago
These little tutorials and games are great. I played VIM Adventures.

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.

j1mr10rd4n · 26m ago
> learning when I can be doing something more efficiently

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

[2]: https://github.com/takac/vim-hardtime

[3]: https://m4xshen.dev/posts/vim-command-workflow

codyb · 2h ago
I created a ViM Message of the Day script that I added to my shell to give me a prompt every time I opened a new shell (Which I do constantly in ViM and Tmux since I've created leader key shortcuts in both)

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.

soperj · 5h ago
Oh man, I use markers all the time. ma y'a

mark a spot, then yank or delete everything to that line. Way easier to do it accurately rather than 13yy or however many lines you're yanking.

zeke · 4h ago
You can use <shift>v then move to your start line and type y or d. This way you see the text marked before yanking or deleting. <control>v is similar. And gv will reselect the marked area.
dwater · 4h ago
And if you have line numbering on you can y123G. I learned enough Vim 25 years ago to be good enough and I'm happy I did. When I was writing code every day I picked up a little more but I've lost most of it, and what I'd want people to know who are considering it is you never need to be a Vim Master. You can learn enough Vim in 30 minutes to make it beneficial to you for the rest of your life.
Izkata · 1h ago
I turn on relative line numbering so that y123G might be y8j and vim will show me the 8.
ramses0 · 4h ago
ma, mb, mc => 'a, 'b, 'c => ...just being able to "tag" each of the three functions you're working with (comparing, copying, moving code, whatever) it's eventually worth it to get them into your muscle memory. And once you "get" marks, then you "get" registers "for free".
soperj · 1h ago
and this is why i always read vim articles... i've never used registers in my life.
charlie-83 · 1h ago
Check out vim golf. They are fun puzzles but you also realise lots of little optimisations you can incorporate into regular use
MrResearcher · 1h ago
I generally recommend to exit either via :xa (save all & exit) or :qa! (discard all and exit), bound to ZZ or ZA respectively. If you exit via :q or :wq, it just closes the current buffer, and moves to the next one. E.g. if you have a neotree open along with the editor, you type :wq, it closes the editor buffer and moves you into the file tree, which can be very confusing for beginners.
nurple · 1h ago
Neotree `close_if_last_window` config setting is helpful for this case.
pwillia7 · 1h ago
just do :wq :wq :wq :wq etc

:P

Izkata · 1h ago
:wqa is the same as :xa and is probably easier to remember
johnhamlin · 52m ago
I got the muscle memory for hjkl down by playing https://vimsnake.com/
nickandbro · 4h ago
Very cool site! Working on my own similar project:

https://vimgolf.ai

To learn new vim motions. Have since gotten distracted by life, but need to actually finish it.

_diyar · 4h ago
Neat idea! Nit: maybe offer the first few exercises without requiring a login, that way I can get a feel for it before deciding to sign up.
mac-attack · 3h ago
The required login/sign-up, privacy policy and lack of apparent open-sourcing seems antithetical for the average Linux user. You're going after a niche of a niche of a niche with this one, good luck lol.
rs186 · 2h ago
I'd argue that the average Linux user likely knows how to use vim for the most basic editing but isn't necessarily motivated to learn vim. Intermediate users will be able to name a few modes in vim and navigate somewhat efficiently, that's about it. Only advanced users and those who really want to master vim (in other words, hardcore nerds) will try to make the most out of vim and use as few strokes as possible to navigate/edit, which is what these tools/sites are for. That's a few "niches" there.
nickandbro · 3h ago
Good feedback
DavidCanHelp · 1h ago
Here's 8 chapters on how to exit Vim: https://github.com/cloudstreet-dev/Vim-with-Vigor
jack_pp · 50m ago
What I don't understand is how anyone who actually learned the basic movements can go back to using arrows or mouse to move inside text. Like sure, use VScode but if you actually took the time and know how to move in vim when will vanilla editing beat vim plugins for popular editors?
qezz · 2h ago
Cool idea, yet the first level broke me: typing :qa enters Insert mode, and it's not possible to delete the command input with a backspace.

Hopefully it's easy to fix

raldu · 3h ago
Back from when those screencasts were a thing,

http://vimcasts.org/episodes/

alabhyajindal · 1h ago
Tried the challenge mode - would like to see support for Ctrl + [, acting as escape!
godelski · 1h ago
Also on team <C-[>!

Why remap? This is native. Maybe your keyboard has brackets in a tough place but that also makes it sound like it's hard to use arrays

jama211 · 3h ago
Even though I don’t have much use for vim, and I have opinions on tools like this going beyond a certain level of efficiency because IMO the true bottleneck is usually decision/design based not implementation based, this just kinda looks fun and the appeal of vim as just a thing that feels cool to use when you have mastery of it sounds cool.

Kinda like how it feels good to play an instrument when you’re good at it, or something.

I might give it a try!

drwu · 2h ago
Agree that decisions/designs are important.

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.

jakupovic · 2h ago
>column editing

I haven't seen any other editor that comes anywhere near the capabilities provided by VIM. I spend a lot of time manipulating data into columnar form and for anything early vim does it effortlessly.

eej71 · 6h ago
There is also this one

https://vim-adventures.com/

ixwt · 6h ago
I think this one asks you to pay for it after a bit. Not that there's anything wrong with that. Just felt bad about getting a little bit in, and then being hit with a decent pay wall.
jrm4 · 5h ago
Right, I mean, author has the right to do this -- but it still seems like a gloriously stupid thing to try to get someone to pay for in this way; like what market is this?

Like, I'd bet "Pay $10 if you like it" / ReaperWare would earn this person literally an order of magnitude more money.

omidmash · 5h ago
Yep. I was trying to buy some licenses for my school, and they only offerend subscriptions in which I am not interested. A shame! Such a great game.
Dilettante_ · 2h ago
>ReaperWare

What does this mean? All I found on the Google was a company that produces sim racing gear.

hug · 31m ago
Presumable the pricing model for Reaper? https://www.reaper.fm/purchase.php
nomilk · 4h ago
I paid for it, was worth it for me. Reason: I did vimtutor 4 times and was learning but found it super painful/boring, but really wanted to learn vim keybindings. Vim adventures made learning keybindings and muscle memory just tolerable that I could do 1h in the evening even after a long/busy/tedious day. I probably would have persisted learning vim keybindings without it, but it definitely made doing so less painful.
merelysounds · 3h ago
A free alternative for learning just hjkl, nethack supports this way of moving[1]. Remember to keep your index finger on ‘j’ (don’t shift your hand to ‘h’), to build the muscle memory.

[1]: https://nethackwiki.com/wiki/Direction

reddare · 5h ago
Thank you for the warning.

I found a pricing dialog after clicking “buy a license”, it said that six months of full access to the game costs $35.

JoshTriplett · 5h ago
Personally, I would happily pay for vim-adventures, but never monthly. It provides one-time value, it should have one-time cost. I'd much rather pay a one-time cost and get a downloadable local copy.
godelski · 3h ago
This was quite weird and honestly a bit infuriating. Just felt like it was encouraging really bad habits in vim.

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)

pixelentry · 4h ago
This one is also nice to get going: https://www.vim-hero.com/
compass_copium · 20m ago
ed Master when?
chasil · 2h ago
I really don't want to learn much more of vi than is documented in the POSIX standard:

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.

jnwatson · 2h ago
Cool that you're into retrocomputing, but many of the rest of us think perhaps some features added to vim from the last 30 years might be useful.

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.

chasil · 2h ago
While you may be a detractor, Apple appears to be an ardent admirer.

https://www.opengroup.org/openbrand/register/

sheerun · 5h ago
I like how it starts with how to exit vim, but let's be honest: word jumps are not that common to teach second
twile · 5h ago
This is cool, I would love to see some more rounds and vim lessons! I use a lot of these basics on the daily.
omidmash · 5h ago
I really dig this. I might work on it a bit to include it in my lessons.
linhns · 4h ago
Nice job. Ideal next level should be macros.
indoordin0saur · 4h ago
Yeah, this is a great idea. Seems like there are others out there. I am intermediate in VIM and use it very frequently so the basic stuff I have down, but I am slow when doing advanced things. If anyone has a game like this but has advanced topics and is good for practicing those advanced topics I'd love to hear about it.
joshcsimmons · 2h ago
cute but should go much harder/further
absolute_unit22 · 1h ago
That’s what I’m kind of looking for. Something that shows more advanced features.

I feel like most of these tutorial like apps just scratch the surface and are more beginner focused.

ixtli · 4h ago
Needs more levels!
mac-attack · 3h ago
Played around on the official website until i tried to delete a word and closed the tab by a mistake. Saved it for future reference.

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.