DEV Community

Discussion on: How can vim make you a better developer

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

vim has been my go-to CLI text editor for a few years now, and I am always surprised how much I like it. Unfortunately, I haven't really been able to dedicate much time to mastering many of the more advanced keyboard commands, but I'll get there! I spend a lot of time working on servers, and vim is the only editor I use on that job.

While I can certainly second your concerns about the IDEs, that somehow didn't happen to me. I've always had a personality quirk that compels me to type everything out, and understand everything I type. Autocomplete didn't even enter into the equation for me until some time after I started coding, simply because I didn't like giving up the "control" of typing it out myself. It was an option, but I always ignored it. Even today, I use autocomplete sparingly, usually only to speed up typing names of member variables or functions.

I would owe a large part of my coding skill to this habit. I was a proficient coder in three major languages only a year into self-guided learning. I have the ability to learn new languages, libraries, and frameworks rapidly, with mere days or weeks separating me from beginning to proficient. While some of that is my natural ability, it wouldn't be even remotely possible if I weren't typing everything out the long way!

Now...as an aside, emacs will accomplish the same end as vim. If you find you hate the one, try the other. (There also exists a combination of the two, wherein you have the emacs environment with vim keybindings.) Personally, I really really dislike emacs, but that is purely personal preference.

Collapse
 
pmihaylov profile image
Preslav Mihaylov

Hey, thanks for reaching out Jason.

It's great to see that you were able to overcome the comfort auto-completion gives you.

And it's not that I am entirely against it. Just the comfort it brings you which leaves you with skill gaps. Nowadays, I use auto-complete but I have configured it to be triggered manually, instead of automatically offering me completions.

That way, I can still type out all the symbols of a for loop, while keeping the possibility to auto-complete a 5-word identifier.

But apart from auto-completion, there are other layers of abstraction the IDE gives you. That's why I believe using a bare bones editor at least for a while is beneficial.

As for emacs, you are totally right. You can get the same experience using it instead of vim. I'm just a fan of the latter. :P