Show HN: I built a web app for learning Vim from the browser as a 17-year-old
71 points| amanvir_ | 2 years ago |vimninja.com
After my own experiences with learning Vim, I wanted to skip the frustrating process of configuring a new tool before even learning how to use it. In an attempt to solve this problem, I started working on Vim Ninja, a web app that would allow developers to learn Vim through interactive lessons in the browser. It’s been a couple of months, and I’m proud to say that I’ve finally released https://VimNinja.com!
Check out a demo of the app here: https://youtu.be/reukQHKqMZE.
On the technical side of things, I used SvelteKit to build the entire app and Tailwind, which turned out to be an amazing decision. I actually really like SvelteKit’s filesystem-based router as well as Svelte’s brevity, and Tailwind actually makes styling a fun task for me. I’m using CodeMirror 6 as a base for Vim Ninja’s code editor, and I really prefer it over more feature-packed alternatives like the Monaco Editor, which is what I started out with but soon abandoned due to its worse performance when compared to alternatives like CM6 and the sheer amount of bells and whistles that I just didn’t need.
pastorhudson|2 years ago
It did ask me to connect using google. I bailed there since I don’t really want to connect my google account to random things.
I’m not actually wanting to learn vim. I know it enough to do whatever I need while ssh’d into random machine. But I do want to encourage you to keep building stuff!
poetril|2 years ago
oli-g|2 years ago
Ultimately, it is up to anyone to decide whether the "package looks pretty" and the proposed value seems worth it, or whether they want to keep on searching and/or try to build some GitHub repo.
abhaynayar|2 years ago
distcs|2 years ago
Do learners not worry that the web apps might not emulate Vim accurately and the inaccuracies might make you pick up bad habits at best or learn outright wrong keybindings at worst?
I mean if you are going to use Vim, you will probably run `vim` sometime. You might well run `vimtutor`. It's a simple command. It's free. It's available with Vim. The whole tutorial is less than 1000 lines long.
nocsi|2 years ago
COil|2 years ago
HeckFeck|2 years ago
hk1337|2 years ago
moomoo11|2 years ago
forgotpwd16|2 years ago
Dayshine|2 years ago
Nothing that actually helps you use it in any real context!
I had to use a proper training tool (vim adventures) before I got enough practice for things to click. And I had to discover a handful of plugins before it was at all usable in a work environment (acejump, code aware motions, IDE integration).
Vimtutor is like a jira tutorial. Yes, you're telling me what I can do with you, but what I need to know is how to use you.
nohaydeprobleme|2 years ago
I was moderately curious about Vim but didn't really need to use the tool, but eventually after many months, I got curious enough to start and complete vimtutor. The introduction to vimtutor says it should take 30 minutes, but it took me 1.5-2 hours over two days while also making notes after the exercises to better remember the lessons (in my case, my approach to vimtutor worked, as I use Vim nearly every day for personal notes to keep practicing).
However, I put off vimtutor for months because it looked like work. While completing vimtutor, the process of completion also felt like work. A more friendly UI like the submitted article can help people easily get started and increase completion rates, which makes it easier to pick up the skill.
I didn't check if the submitted article does this, but newer interactive Vim tutor projects can also teach commands that I believe are essential to reducing the friction of using Vim. For example, throughout vimtutor I spammed jjjjjj to get down and did the same with k to go up, but only later found out that Ctrl+B & Ctrl+F (go back or forward a half-screen) or Ctrl+U & Ctrl+D (go up or down a full screen) were far easier ways to scroll, or at least 4k or 4j (four lines up or four lines down). This makes Vim much more pleasant to use, and makes it far easier to navigate through a file.
Still, I agree that vimtutor is great as it's free and in the console, but is room to make the introduction more friendly. $15 seems pretty steep, though, especially as there are other free alternatives out there to make it easier to learn Vim (at the very least, video tutorials and written guides).
replete|2 years ago
seedie|2 years ago
tyingq|2 years ago
Interesting. I'd assumed you would have gone with a WASM implementation of Vim, since perhaps more advanced tutorials might need more than just vim-like keybindings. Though I suppose that wouldn't come up until much later.
dack|2 years ago
I almost wish that first lesson could have just kept going for a while without having to signup or anything. Maybe after you hit like 10 or 20 lessons, or when it starts getting more involved you could then ask for them to sign up / pay.
Either way, nice work!
johncoltrane|2 years ago
distcs|2 years ago
ericskiff|2 years ago
IndigoIncognito|2 years ago
_ttg|2 years ago
tester457|2 years ago
Manjuuu|2 years ago
It looks nice but I agree with those saying that forcing a login with google is not the best approach.
amelius|2 years ago
unknown|2 years ago
[deleted]
urthor|2 years ago
This is $15.
Really?
lucky_cloud|2 years ago
There are tons of books and other resources for learning vim that are not free. I'm not sure why you would find that surprising.
mrfinn|2 years ago
green_man_lives|2 years ago
gapo|2 years ago
RGBCube|2 years ago
michael_snowden|2 years ago
mcluck|2 years ago
DouglasPC|2 years ago
conzar|2 years ago
vlugorilla|2 years ago
unknown|2 years ago
[deleted]
ereboucas|2 years ago
RaiyanYahya|2 years ago
enono|2 years ago
js4|2 years ago
enono|2 years ago
[deleted]