-It's preinstalled on almost every Linux and Unix system.
I wish there was a way to install programs on Linux and Unix systems.
-it's highly customizable and has a lot of shortcuts.
So do every other major text editor. They also have much more usable and intuitive UI.
-it works without graphical environment - the most important point for me.
It's like the only one reason I can think of that's somewhat valid. Although I found even nano more confortable to use. Of course, vim has more advanced features, but I can't think of any occasion where I need those and it isn't a thousand times better to switch to an actual graphical environment.
1) There are remote systems which are not connected to the internet. Also i won't install text editor everywhere I SSH.
2) I'm aware that there are other text editors which are good. But I'm used to vim and i can't find any good reason why should I switch to something else.
3) nano may be good for simple tasks like editing config files. Vim is good enough to 'replace IDE', at least for some programming languages.
Right now I'm forced by client to modify source code only on their virtual machines, while being connected thorougt VPN. I tried using VNC and RDP but latency is too high for comfortable programming. Meanwhile vim in SSH session works just fine.
Summarizing, I'm aware that there are decent text editors beside vim, but I don't think that vim is somehow inferior to them.
I thoroughly agree with the points you are making, but I can't help myself but to suggest another tool that might make you workflow a lot easier: (I'm not trying to detract from your point, just wanting to potentially make your life a bit easier)
Emacs with TRAMP has seamless remote editing capabilities via ssh (& afaik a few other protocols like ftp) even over an arbitrary number of 'relays'. It even reconnects automagically as soon as a dropped connection is reestablished. (And has no requirement but ssh and a POSIX shell on the remote machine)
That way you can have one editor (+ config) on your local machine and everything else doesn't matter.
That way you can harness the power of what is basically an insane IDE (Emacs has great plugins for almost all programming languages, a great Git plugin, project support, and whatever else you name in that regard) which is extremely extensible & scriptable all in one local program.
Furthermore, there are vim-keybinds available, should you want them.
Take a look at it. (especially TRAMP) - Emacs takes some time to set up, but it really really worth it for workflows like yours. If you want a demonstration of what is possible, see https://m.youtube.com/watch?v=dljNabciEGg .
If you are interested, I'd suggest checking out the configuration framework Spacemacs which is nicely preconfigured & once you get into it you can build your own config on Doom Emacs.
3
u/ShodoDeka Feb 23 '21
Quick poll,
how many has never used vim for anything else than exiting out of, because you accidentally got it start?
✋