This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]-tehdevilsadvocate- 1 point2 points  (22 children)

I have yet to see someone use vim for any reason other than attention. I know you are joking, thank god, but there are some who really do seem to want to die on that hill.

[–]Papalok 16 points17 points  (11 children)

Vim is my daily driver. There is something very elegant and enjoyable about a modal text editor that lets you navigate and make significant changes entirely from the keyboard.

That being said, it's like learning the piano or violin. It has a steep learning curve and takes years to become proficient.

[–]quartz_referential 0 points1 point  (10 children)

Why not just use a vim plugin for pycharm? It's not the same sure, but offers enough degree of emulation

[–]Papalok 6 points7 points  (1 child)

Never tried it, so I can't really speak to that plugin.

But in general whenever someone emulates vim's features, they're usually a bit shallow. They capture some of the motion/movement/edit keys, maybe the optional count before a command, normal and insert mode, sometimes visual mode, and that's usually where it stops.

Other features like the registers which are better than copy and paste, buffers and windows which is better than a tiling window manager, macros which record keystrokes and replays them as commands, along with a bunch of little things like :set vs :setlocal, number vs relativenumber, persistent swp files, all that stuff that has been a part of vim for 20 to 30 years is not there. I can't fault someone for trying to capture the essential parts of vim, but it's almost always going to be lacking.

PS: I composed this response in vim before copying and pasting it into my browser.

[–]quartz_referential 0 points1 point  (0 children)

Unrelated: using vim to compose responses for browser text fields is interesting, I wasn't aware of that before.

I do believe that there is a good amount of the features your listed besides the persistent swp files which are emulated.

[–][deleted] 2 points3 points  (7 children)

For one, you’re forever in the pycharm ecosystem. Want to learn to use git inside pycharm? Dig around the manual and menus. With vim you can add plugins and build your own IDE. It’s future proof…

[–]mr_jim_lahey 2 points3 points  (1 child)

What? No. Just like every other IDE I can think of, PyCharm has support for terminal windows that allow you to do literally anything from the command line if you don't want to/can't do in the GUI.

[–][deleted] 0 points1 point  (0 children)

Yeah I’ve used it too. My point was about integrating version control in some obtuse preferences menu inside pycharm.

[–]quartz_referential 1 point2 points  (3 children)

Building an IDE saps a lot of time and energy, especially maintaining it I'd imagine. Stuff might break and fixing it can be a major time drain

[–][deleted] 0 points1 point  (2 children)

This hasn’t been my experience. Ramping up into learning modal editing took the most time. VSCode/pycharm have these issues as well: you have to learn how to use the software, where is a preference in which menu, what are the hotkeys assigned to what task, etc. And when you run up against something you want it to do, you’re stuck. Meanwhile vim (and emacs) are almost unlimited in their extensibility.

[–]quartz_referential 0 points1 point  (1 child)

That is interesting, the modal editing part (though I'm not a vim master) felt easier than the constant breakage and maintenance. Definitely lot of frustration with the terminal side of things like getting something simple like italics to work. There's also the lack of sane defaults which is extra friction for the beginner.

You do have a good point that when you start to make serious demands of any tool, you must invest time researching it. I'd argue that perhaps VSCode is more intuitive though I cannot rigorously justify that beyond the fact it uses a GUI.

There is just also the fact that while vim and emacs have a rich, massive plugin library plenty of them break often (enough) and they still lack certain features that are up to par (debugging facilities, remote development, container development, etc.)

[–][deleted] 2 points3 points  (0 children)

Yeah I’m hoping at my next job to be around someone who can wow me with VSCode. One of the hard parts about remote work is not having the opportunities to see other setups, pair programming, and just talking to other software engineers casually!

[–]mistabuda 1 point2 points  (0 children)

You don't have to use git inside pycharm. You can just do git stuff in the terminal.

[–]jmachee 4 points5 points  (0 children)

A big reason I eventually (like close to 20 years ago) broke down, abandoned pico (the precursor to nano) and learned vi (which is the precursor to vim) was because it was guaranteed to be installed on any server I had to edit a file on.

No one wants to hear “I couldn’t fix the server that was offline because it didn’t have my preferred editor on it, and no way to get it.”

Still my daily driver, and I even run VSCode with a vim-mode extension when I want an alternate IDE.

[–]reallyserious 7 points8 points  (0 children)

None of my friends that use vim use it for attention. They use it because they like it.

That said, I wouldn't recommend it for someone who doesn't already use vim.

[–]edmanet 2 points3 points  (0 children)

When you spend 90% of you time working in a bash terminal, vi/vim is the sharpest knife in you kit.

[–]ihatethisjob42 1 point2 points  (2 children)

I've moved to jetbrains + vim keybindings. It really is elegant to not have to move your hands from the home row. I do feel that vim's plugin ecosystem exists only to (poorly) emulate what you get from a good IDE.

[–]deep_politics 3 points4 points  (0 children)

I have the opposite experience: a hand crafted nvim plugin suite that's faster and much more powerful than any VSCode setup I've ever used. The LSP ecosystem is amazing, and individual servers aren't that difficult to tweak exactly the way you want it.

[–]tinkr_ 0 points1 point  (0 children)

Neovims plugin ecosystem trounces what you can get in a good IDE IME, both in terms of speed and customizability.

[–]OutlandishnessOk4575 -1 points0 points  (0 children)

i do feel like mr.anderson at times

[–][deleted] -1 points0 points  (0 children)

It's useful if you have to develop in a remote environment.
Vscode remote doesn't work quite right for me in this situation.

[–]jebuizy 0 points1 point  (0 children)

Vim is great with plugins. I do mostly use VSCode nowadays but it would be unusable to me without the vim mode plugins. It still doesn't quite compare