Hacker News new | ask | show | jobs
by peterbraden 1279 days ago
Yes definitely. Vim will be around for the rest of your career, long after VSCode or other IDE's have come and gone. Investing in tools and workflows that are properly open source, and have serious longevity has a big payoff.
2 comments

That holds on paper but I'm not sure I agree.

I've used Notepad++, Sublime Text, Atom, and Visual Studio Code. Each of these has introduced game changing improvements (ST has popularized the command palette, Atom allowed high quality, well integrated, and easy to write extensions, VSCode improved upon Atom with way better performance, brought LSP, and drastically improved the remote dev experience). They have in common that switching from one to the other is extremely easy. When VSCode dies, it's because something better has emerged, I'll just have to install the VSCode keybindings on this new editor and I'll be good to go. Because this new editor will adopt the common conventions that everyone use, unlike Vim.

I've used Vim for a year, became pretty efficient with it, but it always feels like it's playing catch-up with other editors. And the modal editing feels more like a gimmick than something really improving productivity. I sometimes open Vim to do some data cleanup, because Vim moves make it easier than writing a script. But when writing code I never think "damn, typing 3dd would be so much faster than selecting 3 lines and hitting delete"

Agree with improvements available in other editors.

But disagree with this:

> I never think "damn, typing 3dd would be so much faster than selecting 3 lines and hitting delete"

I actually do think that all the time, and get annoyed when I have to take the second or so to move away from the keyboard to find the mouse/trackpad.

Need to delete three lines, starting with line 54 at the top of your screen? 54gg 3dd

I would never reach for my mouse for that unless I had to.

This. Only thing is I dont even "think" about "3dd" and just do it. Great thing about VIM (and possibly emacs too) is that all the things the others improved can be brought to VIM and usually is. Writing plugins is O(1) no?
Yeah I disagree with the shade on vim motions. I'm trying to use them everywhere and even went looking for a vim and slack integration.

In fact I believe the motions are way more universal than any particular editor's key bindings. There's plugins and extensions for vim motions in almost all editor's I've used barring some database specific UIs.

Maybe... but OTOH, the IDEs that come after VSCode will still follow the UI guidelines that have been established for GUI tools during the last ~40 years, e.g. having menus where you can find out which functions are available, and then memorize the shortcuts for the functions you use most often, rather than having to learn everything "up front" before being able to become productive. I suspect one reason for the longevity of vim is the time that you have to invest in learning it...
Yeah, switching from Sublime Text to VSCode had basically 0 adjustment period.

I'm not particularly worried about switching to the next one someday nor do I feel like I'm missing out for taking 15m longer per year for the rare server editing of files compared to if I had spent 100+ hours learning vim.

OTOOH, GUI tools often tie you to a specific workstation setup.

VIM is already installed everywhere you need it and does not require you to have a workstation with a GUI

> GUI tools often tie you to a specific workstation setup.

VS Code and Android Studio can run on all major desktop operating systems, and more cross-platform IDEs are coming out.

> VIM is already installed everywhere you need it and does not require you to have a workstation with a GUI

The chances of you having a workstation without a GUI over the past 30 years has been pretty small unless you're a sysadmin.

> The chances of you having a workstation without a GUI over the past 30 years has been pretty small unless you're a sysadmin.

I spend a lot of time in the terminal and in vim (13 terminals open at the moment)

I don't think I've used vim on a guiless terminal for a decade. The only thing I'm on a physical server for is for installing on bare metal with no ilo - which means a 640x480 text installer, USB stick, and a keyboard to type in the IP and gateway (although Ubuntu has broken that as of this year). Once that's done the install is automatic, and then I can ssh into it a few minutes later.

10 years ago maybe I used the terminal to edit things like /etc/network/interfaces to change network settings once in a blue moon. That's hardly a full featured use of vim though.

However I do ssh into servers and edit files on those servers, and vim is on every server I connect to. I believe vscode will work transparently to do that though, editing over the ssh connection.

VIM or vi?
I don't think that's true. There are precious few UI guidelines that persist, and GUI design has been on the forefront of many fads. Looking at the touch-first UI of today, I have very little confidence that a GUI will look anything like it does now in 10 years.

Meanwhile, I can use vim over ssh from an iPad if I need to - my tools have come with me.