Why, oh WHY, do those #? nutheads use vi?
viemu.com
viemu.com
Want to use xemacs? sorry you need a weird dependency. Ok lets use emacs. Still not installed. Ok lets use nano... wait how do i save this again?
Definitely worth checking out.
Even the quick definition window (to look at a method's implementation) supports it even though you can not edit the code there. Still useful for navigating.
Not all plugins are good - but I am already happy if they support basic functionality rather tham having to miss all functionality.
On the other hand, it's everywhere, it's quick and once you learn it there's a lot of muscle memory that takes over.
I did try vim more than once over the years. I'd use it to edit config files on servers but would much prefer an IDE for coding.
I would say emacs can be a lot more complex than vim, I mean people use it as basically an OS.
This is just another love letter to vi/vim that lists "misconceptions" people tend to have and tries to debunk them.
Me personally, I didn't have any of the misconceptions listed in there. My beef with vi/vim lies somewhere else. So let's tackle the question "Why, oh WHY, do those #?@! nutheads use vi?" and here is my top list of problems I have with vi(m)
1) most people I know don't know how to use vi(m)
I know quite a lot of people who use it, but those people don't use any advanced functionality. They basically use it like this
i
<do stuff>
<esc>
:wq
some of those people recommend vim to other people and when asked why they use it all argue with how powerful it is and that it is installed "everywhere", but nobody uses the powerful functionality (anecdotally it's less then 10%)2) vi is installed by default everywhere - but what vi?
There is
* nvi (used in void linux in version 1.81) https://sites.google.com/a/bostic.com/keithbostic/vi/
* ex-vi (used in archlinux) http://ex-vi.sourceforge.net/
* vim-minimal (used in red hat) http://www.vim.org/
* vim (yeah ubuntu uses afaik "vim.basic") http://www.vim.org/
Then there are busybox vi, neatvi and neovim (that's what I use)
Anyway they all "should" behave the same, but they have non overlapping functionality and behave different (even depending on the terminal you use. I more then once had problems depending on the TERM variable set)
3) you probably have to carry over you config wherever you go
Let's be real here. If you use vi(m), _really_ use vim, you probably have your default config. Maybe on github, maybe on your homepage, maybe on an usb drive or memorized. I know people with multiple vim configs for different use cases. The defaults I find are not usable for most. And some functionality doesn't carry over from vim to vi.
And even thought I say that the defaults suck, the default behavior changes from version to version. For example the smart indent functionality on older versions is different than it is now and they changed the crypto for the encryption (imho vim shouldn't support encrypting of documents anyway [see point 5] these were just the 2 examples that came to mind first). Meeh
4) you have to use plugins
Yeah plugins are great. You don't have to use plugins, but you for sure _want_ to use plugins. With the right plugins vim can even be a really good IDE. But you have to manage them, update them and again: on every machine you use you have to carry it over.
What plugin manager do you use? vim-plug? vundle? pathogen? Or maybe something entirely different? You don't want to manage them by hand and you are gonna need one. So get comfortable choosing one and setting it up everywhere.
5) vims original goal (afaik) was to adhere to the kiss principal
but it failed. vim now has the kitchen sink. If you install vim you pull in more than 30mb (yeah today it doesn't seem like much, but I like having a small footprint no matter what I do)
If you can read mails in your editor you are doing it wrong (sorry emacs users)
_____________________________
So the reasons why I don't like vim or why people shouldn't use vim aren't the ones listed on the site.
PS maybe you want to take a look at vis if you want to see what vim should have been.
edit. formatting
At first I wanted to write a direct answer to the article, but since I started ranting about my gripes with vim I tried to change the tone of my comment while keeping my starting argument.
PS. I used to only use nano and people kept asking me why/making fun of me. And most people that told me to use vim didn't know shit about it.
Actually I got to know and appreciate reading mail in vim with notmuch-vim and value it over mutt. It provides a consistent user experience with your native vim configuration while the notmuch backend really focuses on the real (mail) stuff. So in this case the phrase about tools which end in an email client holds not always true to everyone.
Most people I know use vim and the holdouts use emacs (except for Java developers using Eclipse).
No one in my circles thinks using vim is any cooler or harder than any other editor per se, but it generally meets people’s needs well.