DEV Community

Erica Pisani
Erica Pisani

Posted on • Originally published at ericapisani.dev

A month of using Vim

I've wanted to dedicate time to learning Vim for probably a decade now.

When I was just getting started as a junior developer, I remember thinking that the people who used it in their day-to-day were "so cool" and felt a bit of awe at how they achieved what they wanted so quickly without lifting their hands off of the keyboard.

Fast forward to a month ago and I decided to take the leap - I was going to try and use Vim for a solid month and if I liked it, I'd stay with it. If I didn't, I'd switch back to VS Code (which has been my go-to IDE for almost a decade).

The barriers to adopting Vim that I could see going into this:

  • steep learning curve;
  • the need for plugins for most of the things that come out-of-the-box in IDEs like VS Code or JetBrains (e.g.: editing multiple instances of a word in a file at the same time); and
  • choice paralysis because, for better or for worse, there's so many solid plugin options for solving a particular problem that it can be hard to tell for a new person what might be easier to get started with or if one tool is better suited towards a particular workflow than another.

After an initial upfront cost of spending loads of time researching, following a couple of Youtube 'initial setup' videos, reading various Reddit posts, googling "how do I do X in vim" dozens and dozens of times, and just general fumbling around, I feel like I've gotten a decent amount of the basics down.

I'm still spending a little bit of time every week tweaking things or trying to find a new plugin to achieve some functionality that I want, but it's nowhere near as overwhelming as it was at the beginning.

Things I learned

  • LazyVim is a great bootstrapped config for folks looking to just get started as quickly as possible rather than build everything from the ground up
  • If you are looking to build from the ground up, this video from the Primagean was helpful even though I ultimately ended up going with LazyVim because I wanted as close to an 'out-of-the-box' setup as I could find.
  • It does take literally weeks before it starts feeling more natural. You will spend lots of time getting frustrated with how the workflow isn't what you want and spending hours looking for the right plugins to install (and then wrangling with the installation) and keymappings to set.
  • :h user-manual is a thing in Vim that covers everything. I'd been using Google to figure out how to do things (Reddit in particular was an incredibly helpful resource) and then I stumbled on this at the end of my 3rd week of learning Vim.

Am I happy with my decision to switch to Vim?

Generally, yes.

Don't get me wrong, I still find some rough edges that I need to get used to and learn how to use more effectively (or to find a plugin that addresses things for me), but the main factor that will keep me on Vim is I find that I'm far less distracted and feel calmer using Vim than I was using VS Code.

This was not something that I ever considered would happen when adopting Vim. But thinking about it, I realized that VS Code can be noisy with a standard, out-of-the-box setup.

There are notifications on the bottom right harassing me about something going wrong, some extension they suggest I install based on the language of the file I have open, and various notifications about updates being installed.

Vim has this window that shows up briefly on the top right about plugins with updates that quickly disappears, but otherwise I'm never bothered again until I reopen a new session.

So all in all - I'm currently feeling like this was worth the time investment.

I might feel differently as I start delving more into debugging workflows (VS Code's experience is admittedly pretty nice) but I imagine it's just another thing that'll take a little time to learn and configure.

Top comments (5)

Collapse
 
jimmymcbride profile image
Jimmy McBride

I love it when I see setups where people put everything together from the ground up. LazyVim is just an alternative to I think it's Packer that Prime uses. Did you mean NVChad? I've done the whole ground up thing, but NVChad is just too good!

Dreams of Code on YouTube has a bunch of amazing NVChad tutorials, If you haven't seen them, I'd highly recommend them :)

Keep on trucking and learning! I love seeing people who are willing to put in a little extra work for something they think is cool!

Collapse
 
pengeszikra profile image
Peter Vivo

Try vim on adroid phone , in temux. i can surprise how easy to write at least document with screen keyboard. temux are give esc to proper use of vim.The vim h-j-k-l is great because on that key don't have arrowkeys.
My favorit is: u.

Collapse
 
viv_collins_06769444a1acd profile image
Viv Collins

Great article and thank you for posting.

When you said:

the need for plugins for most of the things e.g.: editing multiple instances of a word in a file at the same time

You are absolutely correct. However, and If I understand you correctly, you do not need to use any plugins in this particular scenario. You could do:
%s/foo/bar/g
To search and replace all instances of foo with bar in a file.

To see more checkout this page

Have a nice day!

Collapse
 
abhishek_writes profile image
Abhishek Kumar

I am also exploring VIM these days .

Collapse
 
gabeguz profile image
Gabriel Guzman

Great to see new people picking up vim!