DEV Community

Discussion on: (Neo)Vim Makes You a 10x DEV, and I'm not Kidding

 
ddebajyati profile image
Debajyati Dey β€’ β€’ Edited

Maybe, but I don't agree.

As far as I listened from others' experiences, the vim extension only gives a crap experience.
I know jumping straight into Vim can feel notoriously dangerous but hey, trust me! This is the best possible way.

Let me explain, why, I have, such a strong opinion.

  • You can't simply "half do" Vim. You can't! By mixing VS Code's GUI way and Vim's modal editing will lead you to the drawbacks of both systems and the advantages of neither.
  • You will see yourself struggling to consistently use the Neovim extension, constantly switching back to familiar VS Code shortcuts. This back-and-forth will hinder your productivity and learning, ultimately preventing you from truly grasping Neovim.
  • Your reliance on VS Code's familiar shortcuts and mouse usage will prevent you from breaking those habits and embracing Vim's unique workflow. You remain trapped in your old coding style, never giving Vim/Neovim a fair chance.
  • Using Vim commands in VS Code is not a real solution. It creates a false sense of familiarity while masking the fundamental differences between the two environments. While you initially attempt to use the Vim extension, you will likely gain a superficial understanding of Vim commands and the actual Neovim workflow. However, this didn't translate to actual Vim proficiency because the underlying environment and workflow were still VS Code-centric.

To truly learn Vim, you need to commit to it fully, outside the familiar environment of VS Code.

Now the obvious obstacle ahead is your current ongoing work. You have a job. You are working on something. You can't just directly jump on a completely alien environment and get your job done, in time, being productive, without having knowledge and prior experience of that environment. And that's okay.

Take your time. Try vimming in a different workspace. Mayybe something like a hobby project? Which you have plenty of time to spend on? Why not share the time on coding while learning vim by writing code on vim?

Or maybe you would learn to be proficient in basics (of modal editing) first.

The thing is for getting used to with the basics of vim(just the basic writing, editing, saving and exiting), imo it's actually better if you start using it as a notepad replacement if you are currently running Windows.

Why? Because it is a much simpler, easy approach. It's like breaking your big problem into smaller parts, a relatively more doable way. You start using vim as your secondary note taking app. Then slowly the keybinds, the commands and the whole workflow makes a permanent place in your muscle memory. That ubiquitous text editor, will eventually go ranks higher becoming your go to quick note tool, and then someday your universal text editor.

Learning vim is a journey. It takes time. It also needs a great starting in the proper way if you don't want getting lost somewhere in a jungle of conflicting hybrid environment, messed up.

That being said, Vim or if more accurately said Neovim is inherently universal. Neovim is faster than vim. It takes less startup time to open than vim and you can use it for basic one line config file edits to coding a large software project, efficiently. It's so unique, it needs to be done in it's own way.

And for getting the modern features like autocomplete, copilots, formatters, there are lots of plugins available in the ecosystem. The most beginner friendly way will be adopting a preconfigured distribution like LazyVim, Kickstart.nvim etc. to get started without initial config build up overhead.

This how you slowly & ultimately become one of them. The OG martian vimmers!

This is what I understand. What do you think?

Real world people experience 1

Real world people experience 2

Thread Thread
 
shricodev profile image
Shrijal Acharya β€’

@ddebajyati You hold a point. The thing is, if you plan on using the VIM plugin in any GUI IDE, just use it until you’re comfortable with the basic VIM motions, I'd say. Most folks never try VIM because of their fear of the terminal, TBH. At least with the plugin, you can experience what surface-level VIM is like.

If I were to recommend someone to start with VIM, I’d suggest going with raw (Neo)Vim for sure.

Thread Thread
 
ddebajyati profile image
Debajyati Dey β€’

Yeah kinda true. People are scared of the terminal.πŸ˜‚

For me it was really exciting and interesting because it felt like I am some cool hacker! πŸ˜‚

Thread Thread
 
shricodev profile image
Shrijal Acharya β€’

So true. Even more, if you have that green looking font for your terminal. πŸ˜†