green and white line illustration

Learning vim

After procrastinating for a while (probably years at this point), I decided to explore this #vim thing that techie people rave about, last week. I've read about the steep learning curve, so I expected it to take me a while to reach some degree of "ok, I can use this".

Aside from a series of helpful, written tutorials, I came across two awesome YouTube playlists that really helped me understand how to do stuff using vim and just my keyboard.

One super helpful playlist, and a @Neovim configuration, comes from @chrisatmachine

Besides giving me a ready-made configuration that I really like, Chris' videos nicely explain the components in this config so I can see what everything does.

Another extremely helpful set of tutorials is @ThePrimeagen's "Vim As Your Editor" series. Each episode focuses on a couple basic actions. Totally bite-sized and manageable.

I started experimenting with @Neovim using the Neovim from Scratch config at the beginning of last week. I quickly switched Obsidian and @code over to vim keybindings, and then stopped using #VSCode for anything but my practice Jupyter Notebooks a day or two later.

I started playing around with vim macros to speed up some repetitive tasks, and really enjoyed @devasdraft‘s video here:

… and @ThePrimeagen‘s video about registers here:

I’m still very much a beginner with this. At the same time, I really enjoy working in Neovim. There’s something about the plain text aesthetic that really appeals to me with floating text windows, super fast searches and actions.

So huge appreciation to creators like @chrisatmachine @ThePrimeagen @devasdraft @vim_tricks and the many others who share their tips, tricks, and recommendations online. Not to mention all the people who maintain all the excellent (Neo)vim plugins.

Originally tweeted by Paul Jacobson (@pauljacobson) on 2022-01-11.






2 responses to “Learning vim

  1. Jamie Todd Rubin avatar

    Paul, you’re killing me! I keep going back and forth on Vim. I love the idea, but it is a fairly steep learning curve. I managed to get the basics down, and even used Vim mode in Obsidian for a while, but ended up disabling it because it felt somewhat incomplete. Ideally, any editor I use would have a consistent Vim mode but I didn’t feel like Obsidian’s was there yet. Maybe it has gotten better? Also, are you using a theme with fixed-width fonts? Vim navigation seems to make more sense to me when fixed-width fonts are involved.

    I’ll definitely check out the videos you’ve recommended. Thanks for that!

    1. Paul avatar

      Hey Jamie, apologies I only saw your comment now. I was also putting it off for a while, even though I’ve been pretty interested for a while.

      I decided to just jump in, and start with the basics. I feel like I have barely scratched the surface of what you can do with Vim, although I’m enjoying this. I decided to switch all my apps over to Vim mode (so Obsidian and VS Code) so I’d be forced to keep practicing.

      From there, I decided to just switch over to Neovim in iTerm2. It took me a little while to configure it to work for me, and I’m probably missing most of the functionality I have built into my config. Still, I enjoy using it.

      Also, are you using a theme with fixed-width fonts? Vim navigation seems to make more sense to me when fixed-width fonts are involved.

      I feel like I should know whether I’m using fixed-width fonts (my brain has gone blank now). I went with JetBrains Mono (the Nerdfonts edition – this is key for icons and stuff).

      I really like the aesthetic of Neovim, and I’ve been watching videos, and reading about Vim obsessively. Again, I have a lot to learn but I’m enjoying the journey.

      As for Obsidian, I’m ok with it in Vim mode. I don’t mind that I don’t have all the same features. My main thing with Obsidian in Vim mode is that it keeps me in the Vim mindset for the most part so I’m reinforcing what I’m learning.

      I should just say that I’m not leaving Obsidian at all. It’s still a key app for me. I just want to use Neovim instead of VS Code for my coding and work stuff.

      I have found r/neovim to be really great for help with stuff. Also, if you don’t have a config you want to use, check out LunarVim/LunarVim. It seems to be evolving more than the Neovim from Scratch option I went with so the config seems to be a bit more developed. At least if you want to try a pseudo-Plug & Play option.

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.