DEV Community

Gracie Gregory (she/her) for The DEV Team

Posted on

We want to feature your voice on DevDiscuss! This week's topic: Vim

The DevDiscuss Podcast begins with an interview and ends with commentary from listeners.

For your chance to appear on an episode:

  • Call our Google Voice at +1 (929)500-1513 and leave a message 📞

  • Send a voice memo to pod@dev.to 🎙

  • Leave a comment here and we'll read your response aloud for you 🗣

Please send in your recordings by August 19 at 5 PM PT (8 PM ET, 12 AM UTC)

This week's prompt: "What are your thoughts on Vim?"


Don't forget to check out the Season 2 premiere, released earlier this week!

Top comments (35)

Collapse
 
phantas0s profile image
Matthieu Cneude • Edited

I love it so much 🥰

I understand that some people don't, though. But what I don't understand is developers criticizing Vim even if they never really tried it.

I was one of them, too. For months. I still don't understand why I was so anti-Vim.

Then I really tried to learn it.

Everything changed.

Collapse
 
graciegregory profile image
Gracie Gregory (she/her)

Hey @phantas0s ! Any interest in sending us a voice recording of these thoughts? We'd love to feature your actual voice on the podcast! Instructions above if this is something you'd be open to.

Collapse
 
phantas0s profile image
Matthieu Cneude

Hey Gracie,

Done. Expect a strong French accent 🤣🧀

Thread Thread
 
graciegregory profile image
Gracie Gregory (she/her)

Je suis sûr que je pourrai comprendre de toute façon!

Thread Thread
 
phantas0s profile image
Matthieu Cneude

Wow! Very nice French 🙂

Collapse
 
hedyhli profile image
hedy

story of how I fell in love with vim (and then neovim)

Back when I opened vim for the first time in my life, I was like, “cool this is classy! *type hello world* wait a minute how do you edit??”

Then search on google, skimmed the results, words that I caught “insert”, “normal”, “mode”

Then I press the insert key (which now I know is replace mode) and fiercely type stuff using *press insert*, *type character*, repeat 😂

1 minute later, “cool, let’s exit this thing.“ *search google again* “oh so you press esc and :wq, wow that’s cool, bet that’s a command or something. Vim is really different to the stuff I used before!” 🤣🤣🤣

For the next month: pouring over vim books and tutorials 😏

Fun fact: my first interaction with vim was in Windows Git Bash

Collapse
 
graciegregory profile image
Gracie Gregory (she/her)

Hey! Thanks for sharing your thoughts here!

Any chance you might be interested in doing a voice recording of this/a similar message so we can feature you on an upcoming episode of the podcast? Instructions above :)

Collapse
 
hedyhli profile image
hedy

Don’t think I’d be able to sorry! How about you reading them aloud as mentioned above?

Collapse
 
gregorywitek profile image
Gregory Witek • Edited

I'm trying to move on from Vim at least once every couple of months - Sublime, WebStorm, VSCode - I've tried them all many times and somehow I always revert to Vim for most of my coding time.

I think the reason is that neither of the other apps offers such a seamless way to move around the whole editor with keyboard shortcuts. With Vim I can open terminal or project drawer and they're just another pane, while WebStorm has separate shortcuts to move between files and the terminal. VSCode has a shortcut to open git info, but there's no shortcut to close it, etc.

I'm still going to try other editors, because I see plenty of shortcomings in Vim and its "relatives". I wish though that editor creators explored the concept of modal editing more - all other editors are focused primarily on writing, while I spend most of the time reading, jumping between files and moving some blocks of code around

Collapse
 
marceloandrade profile image
Marcelo Andrade R.

Same here, I think is muscle memory.

Collapse
 
gautamkrishnar profile image
Gautam Krishna R

TBH i just do 🤪

sudo cp /bin/nano /bin/vim
Collapse
 
gwutama profile image
Galuh Utama

Dude. Symlink it instead.

Collapse
 
gautamkrishnar profile image
Gautam Krishna R • Edited

hehe that's an option 😄 but I'd like to be
thanos

Collapse
 
amoenus profile image
Romans Pokrovskis • Edited

Here are my 2 cents.

We don't tell a painter which brush to use, so why should we prescribe tools for a developer?

I don't mind people using vim. But I also suffered through pair programming sessions with a person using vim extension for Visual Studio.

My suggestion is the following: If you expect someone to help you at the same machine, find a way to temporary restore defaults.
Disable vim extension, switch Dvorak layout to QWERTY and dust-off that company-issued mouse instead of forcing your partner to use your Ergonomic Trackball.

Collapse
 
the_unconventional_coder profile image
ABHINAVA GHOSH (he/him) • Edited

Vim is the grand-daddy of ide's.
Vim is older than many of the junior devs around.
Jokes aside . Vim is a very simple yet powerful tool, but given the modern ide's advanced functionality and their more user friendly graphical interface, there are better options available than vim.

Collapse
 
mdobak profile image
MDobak • Edited

I love Vim when I have to do some simple work on remote server via SSH but I can't understand why somebody might want to use it for daily work as an IDE. I think Vim is little overhyped today.

Collapse
 
kallmanation profile image
Nathan Kallman

Neovim is my daily driver. Literally all of my tooling is command line based though (running specs, builds, deploys, git, etc.). So my command line is essentially my integrated dev environment.

If tooling isn't in the command line though, then I can see the value of a purposeful IDE that builds in those other tools.

Collapse
 
ben profile image
Ben Halpern

For a long long long time the only thing I knew about vim/vi was how to get out of it when I landed there 😄

Collapse
 
phantas0s profile image
Matthieu Cneude

It's already more than many others :D

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

Vim, and its variants (e.g. vi, nvim) are nice, well-polished and powerful.

However, it totally forgets about intuitiveness and beginners. Even a mild manual / tutorial is needed.

nano has its intuitiveness well, but never as sufficient as vim.

Collapse
 
phantas0s profile image
Matthieu Cneude

Try to type vimtutor in a terminal.

Other than that, Vim help is crazy good in the editor itself. Just type :help <whatever_subject, like :help motion for example. You might need some basics to use it though, I wrote an article about that if you're interested.

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

Vim is the grandfather of all text editors. It's the things that most people talk about either by being full supporters or by being scared by all its complexities. But is IMO the #1 thing that would enable a great shift in productive output for devs of any kind.

It's funny, coming from me as a front-end UI dev, that I have so much appreciation for a tool that doesn't even have a graphical interface, BUT I have seen a great improvement in my "coding fu" after I started learning it.

I'm far from experienced in the skill of VIM but even at knowing the 10% of what's possible, I had some great returns on my invested time and pairing it up with VSCode shortcuts I can code at work and write articles at a similar speed of what I saw others doing before I started working as a professional developer.

That's it. Drop the mic.

Collapse
 
hbjy profile image
Hayden Young

Vim was always the sort of... black horse of editors, to me. The red herring. It was the editor you look at, go... 'Uhhh, how do you even do anything in this?' and leave it be.

And that was my view on it for months and months. Then I decided to mess around with Linux more, and I fell in love with the command line. I decided to look into Vim to see how to do more than just vim file.txt, i, change some text, esc, :wq.

And I regret nothing. Over time, I've built up much knowledge on how it works, and how to practically use it, (much thanks to ThePrimeagen for that one, his videos & streams were brilliant). It's gotten to the point where I've gone from using IntelliJ IDEs & Visual Studio to basically use using vim for everything.

I've loved my experience thus far, and I expect nothing less as my knowledge continues to grow!

Collapse
 
davids89 profile image
David

I learned Vim when I was hired in my current job. I think it's very useful when you know the basis and you're used to work with the keyboard.

Currently I work with VSCode and the Vim plugin because it has some shorcuts I love.

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

it has some shorcuts I love.

Care to give some examples?

Collapse
 
davids89 profile image
David

For example to empty an array you can do c + i + ( with the cursor inside the () and Vim delete the text.

Collapse
 
hedyhli profile image
hedy

You know you can actually split them into multiple files, separately for plugins, general, mappings, etc. Then source all the files in init.vim. check out mine for example

Collapse
 
shihanng profile image
Shi Han

There's a bit of a learning curve in learning Vim. I tried not to learn everything in one go, but pick two or three shortcuts/key bindings that I want to learn at a time. Maybe write them down in sticky notes and put on my monitor. Once I commit those key bindings into my muscle memory, I'll another two/three tricks to learn. It's a slow process but worth it ❤️.

Collapse
 
rpoirier profile image
Reese Poirier

After maybe a decade of using Vim as my primary editor, there's nothing else I'd rather use on the command line. I have a lengthy and complex Vim config that I can't live without. It's partly built myself and partly cribbed from the wisdom of others over years of use. And I think that that is Vim's biggest weakness. It can do most things an IDE can do but not out of the box and only after a long time spent reading documentation and setting up configs, plugins, etc.
Naturally there's a learning curve to it, but a cheat sheet for Vim's arcane commands and hotkeys can get you started right away. By contrast learning all Vim is capable of and getting it to work just the way you want it to is something you can only do by spending many hours of quality time using and reading about it.
To help others get on their feet more quickly I keep a copy of my vim configuration on GitHub and have it heavily commented. I recommend that people copy only those parts of it that they understand why they would want them to begin with and look for more later when they find Vim wanting.
All that being said, if my primary dev environment weren't command line only I'd abandon Vim for an IDE in a hot minute.

Collapse
 
yashguptaz profile image
Yash

I don't have Google Voice available in my country so I am going to attach the voice here! :)
Also I have emailed this exact voice to pod@dev.to

drive.google.com/file/d/1PjtcVGqB2...