283 comments

[ 2.7 ms ] story [ 253 ms ] thread
Hey y'all!

I built this interactive course after a year of learning vim and finding it to be extremely useful in my day to day development experience.

The course is designed to give you lots of interactive practice so you can develop the muscle memory needed to effectively use vim.

Would love to hear what you guys think about it :)

I just see a gray screen (after enabling javascript).

EDIT: with another browser, it seems to work, and it looks very cool! But I wonder, what is the interest of learning vim outside of vim? What are the advantages with respect to the similar tutorial "vimtutor" that comes with vim itself?

Awesome, glad you got it working :)

I use vim inside of vs code and it’s been awesome for my workflow.

vimtutor is a fantastic resource and I’d definitely recommend using it for anyone interested in learning vim.

vim.so gives you more interactive exercises and helps to show you real life examples of where and how vim would be useful.

Thanks for checking it out!

If you use vim inside vscode check Onivim 2 out
I purchased the course but was disappointed that it doesn't go much beyond the basics. For example, there is no tutorial on the dot (.) command, which is one of the main productivity hacks for vim users.

There's also no mention of the slash '/' command, moving to a particular line number with 'Shift-G', 'dw' for deleting words, or any number of things that are essential to know if you want to use vim effectively.

What does the dot command do?
Repeats the same command previously run. So if you used 'ci"' for (change text in quotes) and entered a new string, you can jump to a new line and hit . to replay your last series of commands.
I only ever made it to running searches within vim with forward slash, but thanks this is useful to know. I love only using the keyboard but can never easily internalize all the useful macros that can be used.
Thank you for informing us. If the course doesn't even cover the dot and dw movements then I'll avoid it.
Well done on building this.

For some meta-advice: ignore all the salty comments in this thread... it must be a full moon

Hello, I tried purchasing the lifetime access earlier with Google Pay and accidently bought it twice. I did not get any order confirmation email nor do I see the transaction within Google Pay. I was able to get in and do the lessons What should I do? I apologize for reaching out on a public website but there is zero contact information on vim.so.
Hey, I just saw this. Please email me. Email is firstnamelastname@gmail.com

I’m Kenneth Cassel. I think the confirmation should have gone to whatever email you use for google.

This is great!

Another great resource I gotta plug is https://github.com/ThePrimeagen/vim-be-good. Essentially the same but it's a native vim plugin. It's free, doesn't require a login, and did I mention it's a native vim plugin?

Oh this is neat! I haven’t seen this one around before :) I’ll have to check it out. Thanks for sharing
I've been considering Vim for a while now.. If I do choose to pick it up this will definitely be my first choice! Looks great :)
Wow thanks! Learning vim is fun :) I’m glad to see so many people interested in it
It would be nice if you at least listed what the exercises are before asking for money.
I agree to a degree. Listing a bit more about Vim itself for someone that might be coming from a development background but does not specifically know about Vim and it's benefits could be good, and maybe what TYPE of exercises will be involved (What will I be be able to do at the end) - but keeping the exercises a little secretive is great to keep interest :)
Wow, this is incredibly scummy. Basically your logic is, "If they knew what I was selling, they wouldn't buy my course. But if they don't know then I might trick a few of them in to buying something they don't want".

edit: Note, I realize this isn't OP that I'm replying to. Not sure if what I wrote makes that clear.

But why? Vim comes with a tutorial: vimtutor
It's "gamefied" vimtutor... Also, he must have learned a tonne of vim building the game.

Though, I totally agree with you, haven't seen anything that beats vimtutor, except maybe for a vim cheatsheet as reference material.

If you're looking to practice the h,j,k,l keys in a fun way, simply play Nethack or other roguelikes that support these movement keys. In 2-3 hours you'll be flying around the map and you won't even know how you're doing it.
It seems cool, though I agree that not knowing
I like how this uses repeated actions to help learn.

A free resource I really like is simply running `vimtutor`. It gives you a text file with exercises and you edit that text file directly.

Hate to be a negative Nancy, but on a bog standard Chrome on a bog standard Windows 10, in the first exercise the HJKL keys do nothing. The arrow keys do work...
Oh strange, I haven’t had anyone report this bug yet. I’ll look into it. Thank you for letting me know!

    noremap <Up> <Nop>
    noremap <Down> <Nop>
    noremap <Left> <Nop>
    noremap <Right> <Nop>
There, now your arrow keys do nothing, too! (This is a good way to "train" yourself to not depend on the arrow keys.)
Just last week we took a detour from our normal project that I am doing with my daughter and started teaching her vim. We used vimtutor and found it quite useful. I will definitely give this a fair trial.
Awesome idea, gamifying learning vim seems the way to go.

Minor detail: I would recommend you set up the keyboard focus on the game as soon as the page loads. Saw a comment mentioning that the HJKL keys were not working and the same happened to me...right until I clicked on the command-line box in order to have my keyboard focus it.

Show HN: I built an online interactive course that helps you learn vim* faster

*You have a small typo in your title: should be spelled "emacs" ;)

Kidding aside, the course is fun, nice work.

Per other comments in the thread, if you want to integrate vim muscle memory and browsers, check out the Vimium extension for Chrome (granted, I've overwritten the defaults with emacs, but the idea has still been helpful and minimized mouse use).

Emacs tutorials can be one line: "ctrl-x ctrl-c".
An Ode to Quitting Vim:

ESC

Ctrl-C

ESC

Ctrl-Q

ESC

Ctrl-Z

* dangit, suspended *

fg

ESC

:q

E37: No write since last change (add ! to override)

!

E37: No write since last change (add ! to override)

!:q

E37: No write since last change (add ! to override)

@!&^#!&!!:q

E477: No ! allowed

Reboots Server

Teach a man to fish:

  Ctrl-Z
  kill -9 %1
Do macros -> delete % break it? I tried to race the first exercise by setting up a macro to speedrun the first example and i got something where multiple % showed up
I guess it does! Haven’t seen anyone do this before. I’ll look into fixing this though!
I know I felt a constant social pressure to learn vim or emacs over the years in order to fit in with those religions.

I gave in to that social pressure early on. But even 30 years ago in the early 90s when I started learning vim (and Linux), vim and emacs were very dated programs.

Over the course of thirty years I have managed to finally learn how to set up syntax highlighting, terminal colors, and spaces vs tabs and do a basic cut and paste operation. But the cut and paste never works in a sensible way for me and I always end up having to fix something after pasting. So I am probably still doing that wrong after thirty years. Lol.

I suggest using sshfs or Docker and then you can just use a graphical client. Even gedit is a huge advantage over vim in my opinion (especially if you also have fish in another window). I like how lightweight and simple it is and I think it's really underrated. But also VSCode, Sublime, maybe Atom. Maybe WebStorm.

There is nothing wrong with using nano in the terminal. It's more modern than vim and probably going to be much more productive. I recommend if you are embarrassed about using nano and someone asks, think of it as if someone asked you if you are Christian or Jewish. You can just say you are agnostic about editors, and use a modern tool.

Also take a look at TextAdept in the terminal. It is customizable with Lua.

I really like Jupyter Notebooks for lots of things. It's a great implementation of literate programming, especially if you take advantage of the markdown to explain things thoroughly. Of course a lot of teams are not going to like that but there are projects where you can.

Back in the early 90s there was this thing called Borland Turbo Pascal which had things like mouse usage, automatic syntax highlighting, F1 for instant contextual help, an integrated debugger. Those were the days. Lol. You can configure vim to do all of those things in kind of a janky way, but it's so convoluted, I feel like they should award a PhD if you achieve that. And they don't. So it's not worth it.

People love to glorify the "power" of vim commands. But it's not that way because the original author knew some secret to power editing. It's that way by default, because when it was created, commands and modes were the paradigm by default because of historical terminal limitations. A few people were still using Teletype at that time. Real-time editing was not even a thing.

The terminal they initially developed vi on did not have separate cursor keys. That's why it doesn't use cursor keys, not because it's some deliberate choice they made to save time and be more "advanced".

http://xahlee.info/kbd/keyboard_hardware_and_key_choices.htm...

I just feel like not only are people repeating the mistakes of their fathers, but even their grandparents at this point. It's not 1978 anymore. It's 2021.

That's fine!!! I don't think vim (esp. neovim) is janky at all, but part of it is how your brain works. If you want to use nano or vscode or whatever, there shouldn't be any social pressure.

I think it comes down to how people like to use their tools and how they like to shape their working environment. I've gotten my vim/linux machines into a place where editing code is comfortable, and I'd love to share it with people, but I understand that they may not want to do it. And that's fine!

Use what works for you to get your work done!

It's not something about "how my brain works". That's a sneaky way of accusing me of being too dumb to use those editors. But the user interfaces from 35-40 years ago are bad. Objectively. Unless you are using them on the terminals from the 70s or 80s.
I am absolutely not calling you dumb! Emacs doesn't work for my brain at all, but Vim does. There are lots of tools that are made for different kinds of people and they all help us towards getting to a certain result.

I don't think it's fair to say that the user interfaces are bad, though. The defaults may be bare bones, but the point is that they are programmable environments that allow you to tailor them to your needs if you want to.

That's it.

Ok, I'm sorry but I believe you are incorrect. People do not have different brains that way. Just like they don't have different 'learning styles'. That sort of thing is a discredited myth.

I also think that it is objectively true and not only fair but also important for people to start to point out how bad these interfaces are. At some point traditions start to become a drag on society.

One of the core principles of user interface design is useful defaults. And there are many better modern editors with equal amounts of programmability as well as useable and useful defaults.

I don't understand that line of reasoning, and it seems like you're being obstinate for the sake of being obstinate. I hope you understand that even though you might feel one way, other people may think another and there's no orthodoxy.

Have a good day.

Of course people have different opinions.

That's not what you said though. You said brains work differently.

Brains do work differently - if they didn't, everyone would learn at exactly the same pace if given exactly the same input, and people would all have the same preferences. There's a reason why the term "neurotypical" exists.

You don't like what I like, and that's fine, but I can tell you that I like the design of older computer systems more than I like the design of modern computer systems. There's a reason why I use the tools I do and why I can write really good software really fast with them.

You can argue that they're dated, and that's fine, but you're arguing that if we like them that we're wrong, and that's not okay.

I'm realize I'm shouting at the wind, though.

You are interpreting my statement "brains don't work differently" here in a disengenuous way which is both more narrow and different from the exact context of the discussion.

And suggesting that people who don't appreciate vim are slow learners. Which is not okay.

But I think we can both agree on one thing. Its not productive to continue the discussion.

Also I actually use vim a lot more than VSCode which I have not used much.

But I also think I wasted a lot of time over the years figuring out how to use it and how to set it up. I am trying to save some people a lot of time. I actually think I am still wasting time with it and its because of social pressure to use an outdated program. Its like some kind of psychological thing that has me compelled to be irrational to fit in.

I don't think calling the subject matter the OP is trying to teach "a religion" or predicting downvotes on your comment is productive.

The 2nd is definitely against the site guidelines.

To address your other comments, I can share a personal anecdote. When I started programming, I basically just learned the bare minimum VI commands to get around. I didn't see it as "a religion" or a relic from the past, but I saw a fairly steep learning curve that wasn't a high priority for me to tackle at the time.

Years later, I did get into it. It's been good for me in terms of efficiency, but much more importantly, it's been good for my health. At the end of 2017, I had severe RSI and from working an extreme schedule on a startup and a poor ergonomic setup. My wrists were so injured that it hurt to even brush my teeth.

I got an ergonomic keyboard, and made a concerted attempt to use the mouse as little as possible (and balance that little bit between both hands). I made VIM my primary driver, regardless of what other editor I was using. Even on web pages, I attempted to use keyboard navigation where feasible, especially in email and similar apps.

As a result, I've no healed to where I do full-time weeks at the keyboard again and I will probably always be grateful to VIM (and Kinesis!)

I'm not allowed to predict the downvotes? I'm just supposed to "take it like a man"?

It absolutely is like a religion and an enormous amount of time has been wasted with people feeling they need to learn how to use these extremely outdated programs with user interfaces invented 40 years ago.

I am trying to save some people some time. The fact that you are trying to stop me from doing that indicates to me that I have committed heresy. That is why you want to have my comment declared invalid. It contradicts your worldview.

> I'm not allowed to predict the downvotes? I'm just supposed to "take it like a man"?

In the guidelines (https://news.ycombinator.com/newsguidelines.html):

> Please don't comment about the voting on comments. It never does any good, and it makes boring reading.

Okay, if someone shares the same specific type of disability due to repetitive stress injury, then yes, that is a good use case for vim.
Lots of people use vim just to appear hardcore and not because it confers serious editing advantage.

Vim itself is a really really bad editor. It's so obvious that it was written by a programmer with commands like 5dd, 6gg etc. I find it so ridiculous that a computer program can be that much loved and yet it doesn't even provide line numbers out of the box nor indentation. Does a person really need to spend half an hour googling just to tell vim to indent Java code as they type.

I think it does offer editing advantages, though they don’t matter that much unless you work in a sweat shop. For me it’s just fun going like “look mum, no mouse“
I have to recommend this too:

https://vim-adventures.com/

I used it to get to grips with vim

I love vim-adventures. It was the only way I was able to stay motivated to learn vim well enough for it to "stick". I just hate that you can only buy 6 month access to it. I'd happily pay 2-3x the price for lifetime access, but the fact that I can only buy 6 more months makes me pretty sure that they won't be getting any more money from me. I think I would still hop on for a few minutes every few months to practice up on some stuff that I forgot.
Have you tried contacting the developer?
I have contacted the developer and offered $10,000 for a perpetual license, but it was not for sale.
/s? If not, I’ll rebuild that and offer you a lifetime license for $9,999 as a hackernews discount ;)
Before trying these courses , Please try vimtutor that comes bundled with vim . After practicing with vimtutor , you can try these additional courses.
For anyone wondering, you use it by executing vimtutor in terminal (not in vim).

Also, you exit by pressing ESC and then typing :q (hit enter)

How fitting that the tutorial for vim needs its own pre-tutorial for exiting.
It's also in the tutor, lesson 1.2

But there's actually nothing special about vimtutor here: all it does is write a temporary file and then open it in vim.

Before replying to your post I upvoted, I had to hit a link called [REPLY]
Having seen machines that have hundreds of Vim sessions opened because “system integrators” didn’t know how to exit Vim, it should be the very first thing taught
Luckily vim finally got a bit better with that: on a Ctrl-C newer versions now show instructions for quitting.

I remember my first vi sessions (typically via something like `crontab -e` where it wasn't clear to me it picked my "default" editor ... thus didn't know where to read up on it ...) some long time ago, where i knew `kill` before the right command ...

Yep I’d definitely recommend the same, vimtutor is great.
first vimtutor and then :help user-manual
Yes! Sadly a lot of people skip over this despite vimtutor pointing to it at the end. Copy/paste below as the text doesn't need paraphrasing, but also because a lot of comments here seem to be advocating vimtutor as something more than the "brief overview" it is.

    This concludes the Vim Tutor.  It was intended to give a brief overview of
    the Vim editor, just enough to allow you to use the editor fairly easily.
    It is far from complete as Vim has many many more commands.  Read the user
    manual next: ":help user-manual".
The vim help files are fantastic. Well written, and clearly explain any feature you need to understand better.
Looks like "vimtutor" is primarily text explaining the hotkeys.

For me, the bottleneck to picking up vim has not been merely knowing the hotkeys, but more internalizing the commands and building muscle memory.

The interactive game format of this website could possibly solve that, so it appeals to me.

vimtutor is designed for you to use it regularly to train muscle memory
It says this in the 3rd or 4th paragraph:

> It is important to remember that this tutor is set up to teach by use. That means that you need to execute the commands to learn them properly. If you only read the text, you will forget the commands!

And it's free, not 15 USD or whatever this site is charging.

Okay... but the difference between a piece of text just telling me to use the commands so I remember them versus an interactive trainer that provides a structured setting for me to use them is pretty significant, no?
> a structured setting for me to use them

is provided by vimtutor. I wish people would take a couple hundred milliseconds to research things like this before posting about them — most [GNU’s Not] Unix commands take less time to run than a webpage takes to load, and installing their packages takes no more typing than a web search.

In a really minimalist way. I've been in the process of trying to hone my vim skills, and I've been through vimtutor more than once. About the only things I can say for it is that it's free and it works in a text terminal. This online course is promising, and I'm probably going to sign up. It's salient. Salient is good. Salience promotes faster, deeper learning.
> I wish people would take a couple hundred milliseconds to research things like this before posting about them

Have tried vimtutor twice. It is seriously confusing if you don't use US keyboard layout and there are probably a couple of other sources of confusion as well.

I did well at school, I do well at work but not so well at vimtutor.

So I think I'm kind of qualified to say that there's room for other resources besides vimtutor.

Also the way you write it is kind of rude.

I don't see anything on this site saying that it accommodates any non us qwerty keyboard layouts. Does it?

Also vimtutor requires you to actually use the commands on the document. I don't think there is a single key press it doesn't explicitly tell you to press.

Maybe do a quick run through so you can give an example of a place that is confusing?

vimtutor is interactive. It's a text file that tells you what to do inside itself, so you modify vimtutor directly.. you would've known this if you had spent 10 minutes trying it out.
Back in the day, playing /usr/games/hunt against other people would hone your VI movement keys muscle memory rather quickly.

On the multiuser Unix systems at Purdue, it was typical to have at least half a dozen people on the server, with explosions going off like fireworks. We ran the mod where you could collect 200 ammunition for the nuke, which would destroy a third of the screen.

https://man.openbsd.org/OpenBSD-current/man6/hunt.6

We also had Larry Wall's (yes, that one) video game Warp, which was a lot more action-oriented than the original Star Trek video game. It also used the same hjkl movement keys.

http://ftpmirror.your.org/pub/misc/unixarchive/PDP-11/Trees/...

And of course there was Rogue and Nethack, but those are a lot better remembered these days.

vimtutor might be a little too intimidating compared to a vim course in a browser.
I started with vimtutor, then installed IdeaVim in all my Jetbrains IDEs, it took me about a week to reach the same level of efficiency I had before.

I don't understand how some people can say the learning curve is too steep. Sure it's a bit annoying at first, but it quickly becomes natural, and you don't have to use all features at first. It has allowed me to improve my touch typing a lot. Learning a programming language is a lot more work but hardly anyone ever complain about it.

It's been maybe two months and I wouldn't think of using anything else than vim for serious code editing.

> I don't understand how some people can say the learning curve is too steep

I am doing fine with vim for basic editing tasks and use it a lot (mostly when I'm already in the command line). But there's just only so many shortcuts I'm capable of memorizing. This is not a problem for me exclusive to vim, of course. In IntelliJ I also sometimes find an amazing new function that I then don't keep using since I've already exhausted my limited "inclination" of learning new shortcuts. Also, I don't think my productivity gains at this point are going to come from faster input anyway. Sorry, vim, it's not you, it's me.

That's one of the strengths of Vim, though. There's a lot of structure to it, so you don't need to learn nearly as many shortcuts as you otherwise would.
I’m a full time vim user now, and I would say the ‘productivity’ gains are a bit of a pipe dream. That’s not the reason I would recommend anyone learn vim. The best reason for me is that vim is just fun.

When you finally become competent, it is an absolute joy to work with. It makes me think about editing in a totally different way. However the road to get to that point is not fun.

I started out with basic tasks in the terminal, & vimtutor reps. Then graduated to using a VS code plugin. I would turn it on for 10-15 minutes at a time a few times a day. Usually turning it off once I realize I wasn’t getting anything done :) But solid reps everyday over a few months and I got to where I learned more complex commands/ movements. Eventually I never needed to turn it off!

Then I began the configuration & plugin rabit-hole :)

How many years have you been using it full-time?

Do you ever miss the global commands not implemented in VS code's plug-in? I still do sometimes, like this: https://youtu.be/46Evprns18M

Full time a little over a year now I think.

Yeah that's a good point. After a while you do start to realize the limitations of the VS Code plugin. That video is a good example. But once I got to where I could edit at equivalent speed I was used to, I dropped VS Code completely. I looked at the plugin as 'training wheels'.

I'm not as hardcore as some. I still prefer to use GVim/ Macvim. I'm not an 'everything must stay in the terminal' purist. I know some who are, but I still like being able to use the mouse to bail me out sometimes, and always have access to the system clipboard without having to recompile vim :)

I don't go crazy with config & plugins, but I got my setup to where I have all the features I missed from VS Code, and that's enough for me.

There is always more to learn though. I feel like I've been complacent lately, so you have to remind yourself sometimes to make an effort to seek out more advanced techniques.

That video is a great example of some of the incredibly powerful things Vim can do! I'm a big fan of macros for repetitive tasks.

Any similar course for tmux ?
Does anybody have recommendations on how to go from "comfortable" to "expert"?

I've been using vim as my daily driver via the intellij plugin for a few years. I mostly just navigate and never do anything complicated, it gets the job done.

For example I mostly use w, d, o, hjkl, y, p, w, b, t and recently discovered the `c+i` combo which is awesome.

But I feel like there's still a side of vim I haven't conquered.

Any tips?

I've been using Vim for many years and felt like there was constantly stuff to learn. So a partner and I started an email newsletter that sends tips twice a week:

https://vimtricks.com

The idea was that by forcing myself to write about Vim consistently, I would learn and absorb more and boy has it worked.

thanks for making this! The undo from insert mode¹ one sold it for me :)

[1] https://vimtricks.com/p/undo-from-insert-mode/

Um. I think that's wrong, though. Pressing c-u just erases to the beginning of the line in insert mode, it's not an undo.
Ah, I guess should've tried before saying. Just excited there's a way.
Oh, I was excited too:) So excited that I immediately tried it...
As an aside, I love the vim keybinds with IntelliJ combo, vim makes it so easy to navigate and perform operations, eg. the one I use most being dt<some char> to delete until a char.

Never can seem to get vim selections and deletions right though, because it deletes the character after the cursor as well so the mouse comes clutch there.

yes! my path to "expert" was more in the lines of questioning my commonly used editing functions:

1. how to delete text inside a double quote and go to insert mode? - c+i+"

2. how to move to the end of line? - $

3. how to delete everything before "x" character and go insert mode" - c+t+x

...

EDIT: updated mistakes.

> 1. how to edit words inside a double quote? - "ciw"

ciw will change inner word, ci" will change inside quotes

> 2. how to move to the end of line? - "g_"

$ is generally used as the noun object to represent "end of the current line"

> 3. how to delete everything before "x" character" - "ctx"

dtx would delete everything before the next x. ctx would delete and then put you in insert mode :)

thanks for correcting my mistakes :)
Maybe try vim golf for fun.

I would recommend using vim in the console without the mouse because your editor will always give you a way out of learning.

Every time you get stuck or feel inefficient, do a web search and learn one thing.

Learn to use and love :help.

I think a few plugins can really improve the experience such as coc, ultisnips, vim-surround. Also set some settings like relative number and highlighted yank.

Some other stuff to investigate... zz and scrolling, folding, G, macros, registers, f, $ and ^ and 0, %, }, ctrl-o, ctrl-] and ctags, formatting gq = etc

Edit: also remembered enable set hidden and use buffers and splits (eg :sbp). Use markers. Also I like the fzf plugin for quickly opening files etc.

I use vim as my main driver at work. Some things that helped me out personally:

- Playing some vimgolf and seeing what neat tricks people used. This is where I learned about “.”

- Going into the deep-end of just using vim (or just vim in IntelliJ without the mouse) will make you notice all the issues that make you unproductive with only vim e.g getting around with only hjkl is really slow so you might investigate other ways to navigate or deleting a word always involves getting to the end of the word and using lots of backspace may make you wonder if there are more efficient ways to do the same thing

- if you decide not to go into the deep-end, just being more picky about how much you’re spamming certain keys may help you gradually incorporate new commands into your flow

> For example I mostly use w, d, o, hjkl, y, p, w, b, t and recently discovered the `c+i` combo which is awesome.

In addition to these, I've found (my personal experience, ymmv):

1) f/F to jump to next/previous occurrence of character to help navigating within a line very effectively, in conjunction with ; and , to jump around within these occurences. 2) use relative line numbers in conjunction with your hjkl.

E.g. jump up 5 lines and go to the start of a bracket is '5kf('. If it's a nested bracket you want, then '5kf(;'.

Practical Vim by Drew Neil is definitely a way to go. It teached me stuff I wouldn't have discovered otherwise.
RTFM. Seriously.
I found that learning q has made coding without vim very annoying.
Read the user manual. I'm not trying to be snarky - the user manual is explicitly something that isn't the same as the reference and the user manual is called out as the next step after `vimtutor`.

Start with `:h user-manual` and go from there!

Or just use vim adventures, vim tutor for free...
Can I get a list of the areas you cover?
There are 10 exercises and 1 video that shows how I use vim in my normal development workflow.

The lessons are:

- Basic Navigation

- Command Basics

- Insertion

- Append

- Deletion

- Word Level Navigation

- Select Mode

- Advanced Word Level Navigation

- Yanking/Putting

- Matching within tags {} () "

Thanks for posting this. I have been using vi(m) for at least 15 years and finally got the hang of yy only recently. I used to work at a Solaris shop a long time ago and had to learn vi to get anywhere. I wish I had this then!
Does it include practical use cases demonstrating how vim tricks can really come in handy in real life? This probably is the hardest part for me - I can't imagine a case where I would like to use any of them I've ever read about (yet I still feel interested).
Not a mega power vim user, but maybe this qualifies. I use vim as my git editor. When doing interactive rebase, if I want to squash/fix commits, for example, I go to the first commit I want to change the command for, ‘ciw’ to change the command, ‘esc’ to exit exit, then for the subsequent commits I want to squash/fix, just use ‘.’ to replay those same commands to the new line. Works very well! I love using vim as the git editor, it’s stupid fast, and doesn’t take you away from the command line
That's a neat tip, thanks for sharing that, this is the exact use case I was looking for.

I was hoping to kick the can on learning vim macros down the road, and so here we go...

No problem! Happy to help with things I wish people told me long ago :)
This looks great! Do agree with others though, that you should expose the course sections. I don’t use vim as my main IDE but I still do use it for quick edits and commit messages, so I don’t know nothing about it. Would be great to see if the course is more/less/same as my current working knowledge. But also a one-time $15 isn’t bad at all, thank you for not trying to make this a subscription :)
Most IDEs have a vim extension that gives you the basic vim editing behavior. It’s great to get into it without having to dive into plugins, buffers, windows etc.
$15 for lifetime access... rubs chin... I'm old. Would you take $5 as my life is 2/3 gone?
Even though, admit it... If the course is really good, the extra $10 are nothing compared to the several hours of frustration that you could save.
Or save all frustration and just don’t use vim ;-)
If you think vim is frustrating for a beginner, you have no idea what it feels like to edit text in non-vim for a half-assed vim user. Really, I don’t master vim after >1decade, but that’s not necessary.
Pair programming is a real pain for me when most of my colleagues just don’t use Vim.
I've used vim for many years now. It is true, learning vim makes it very frustrating when you find yourself having to use another editor. Luckily, vim is pretty much everywhere so those situations are rare.
I find that vim really shines in editing text on touch screens with on-screen keyboards. I can do complicated commands without doing too much typing out digging through menus or using ctrl alt whatever keys.
irrational indeed :-)
It seems one of these vim tutorials comes up every 6 months or so, and the one thing they're all missing is a convincing explanation of why someone should learn all the esoteric incantations of a 30-year old text editor.
it's nice not having to constantly lift my hand to use the mouse when i'm just looking through files and making small changes. i can keep my hands on the keyboard for up to an hour and get stuff done, so long as the task at hand only requires a command line interface and a text editor.
No offence to OP intended at all, but as these things often go, you're paying for the lifetime of the site, not your own.
you're going to outlive the site
it's actually the lifetime of your email address