[HN Gopher] How Did Vim Become So Popular? ___________________________________________________________________ How Did Vim Become So Popular? Author : nikolalsvk Score : 30 points Date : 2020-06-30 11:46 UTC (11 hours ago) (HTM) web link (pragmaticpineapple.com) (TXT) w3m dump (pragmaticpineapple.com) | Spooky23 wrote: | Back in ye olden tymes, you could count on some variant of it | being everywhere. It's lightweight, ubiquitous, and powerful. | It's way more powerful than default Windows tools. | | There's a steep curve, but if you can handle it and learn a | couple of things (%s//g) being one of them, you'll get people | hooked. Then the olds shame the young staff to use it. | | The muscle memory aspect is significant too. I'm a suit now, but | can still work magic with Vi years later. The faculty at my | college pushed emacs hard, but customizations are missing on | foreign machines, and the key combos were too awkward on normal | keyboards (for me) and the skills wore off. | slim wrote: | real answer : because redhat and debian had replaced elvis with | vim as the default vi early on. I don't remember the exact drama, | but maybe something to do with the license. | enriquto wrote: | elvis was great! The simple monocrhome color schemes were | beautiful, and it had a snappiness (even on a 486 back then) | that I'm still missing nowadays. | codezero wrote: | I know how I first encountered vi... it was probably 1994 or | 1995... (Wiki looks like maybe 1994 was first intel release, so | that tracks) - and I had only used Linux up to that point and had | never really used an editor other than pico (now nano, which was | the editor for the pine email client!). | | I thought playing with Solaris would be "cool" so I installed it | and couldn't get it on my network because I needed to edit the | /etc/resolv.conf to add host resolution, but there was no pico | editor! | | I ended up digging into manual pages to figure out how to use | vim, and over the course of getting the system set up I got | pretty comfortable with a lot of the patterns vim let me make | faster, they are mostly things I might run in a shell like grep | or awk, but I can do it without shelling out, so that was a | bonus. | | edited: now that I think of it, I bet I was not using vim, just | vi - so the relevance to this article might not be quite on. | kevarh wrote: | Vi (and ed) are the only text editors required to be included in | the POSIX spec. A base Unix (and most Linux) installs will have | some version of vi or vim installed by default. | | If I'm working on someone else's box this pretty much guarantees | I can edit files with my basic vi knowledge without having to | install a different editor. | bsdz wrote: | Something I've come to rediscover is how good vi/vim is on a slow | network connection. Our sharp networking team route me from | London to Sydney so I can remote back to my London PC. | | Seeing what you type several seconds after you typed it is | reminiscent of the 90s and dial up connections. | | Having familiar vi keybindings in so many applications these days | has been a productivity saver. | microtherion wrote: | One editor which used to be great at this is sam, which was | explicitly designed to work across slow links, by being split | into a frontend running locally, and a backend being run on the | target host: http://sam.cat-v.org | tenebrisalietum wrote: | Disappointed the article went straight from punch cards to video | terminals without mentioning teletypes. | | > Having that thing show up on computers in those days was pretty | tricky, and some considered it a resource hog. | | Well in the 60's and 70's, you didn't necessarily even have a | display, you might be using a physical teletype. `ed` is built | for that. | | Even when you had a display, it could be slow. The VT05 from | 1970, only went up to 2400 baud. And if you were using a modem | back then I think you were definitely most likely connected at | 300 baud or below. | reaperducer wrote: | Or the display might be a single line of 16-segment LEDs for | interacting with the machine, and "output" was on paper. | Another reason to keep the visuals to a minimum. | amelius wrote: | > What I am trying to say that vim is an effort of over half a | century of good idea accumulation, putting lots of effort into | being backward compatible. | | I wonder what Vi(m) would be like if it were redesigned from | scratch. | haberman wrote: | I hear good things about https://kakoune.org/. But I have 20 | years of muscle memory for vi keybindings, and they're well- | established enough that you can even use them in other editors | like VSCode. So I'm wary of training my fingers to do something | else that only works in one editor. | StephenAmar wrote: | Isn't that what neovim is trying to do? | BlackFingolfin wrote: | AFAIK it still tries to stay mostly compatible with regards | to how it is controlled, doesn't it? So while the internals | are perhaps new, the frontend is not. | | But I think Kakoune https://kakoune.org would fit the bill | chongli wrote: | Kakoune is definitely an attempt at redoing the vim concept | from scratch. I spent a few weeks trying it out and | attempting to get used to it. Ultimately, I came away from | it feeling disappointed. | | I think the basic premise of multiple cursors editing as a | preferred model (which is what Kakoune does) is flawed. | Why? Because large-scale scale changes are the exception, | not the rule. By emphasizing multiple cursors, Kakoune | actively makes it harder to do the normal thing people do | in a text editor: jump around a file and make specific | edits to individual lines. Instead, a bunch of normal | movement commands (such as forward and backward search) | leave extra cursors in your wake, forcing you to press an | extra key to dismiss them otherwise you'll get erroneous | edits that might not even be visible from where you are in | the buffer. This is not a good thing. | | The other basic premise that Kakoune addresses (that vim | commands lack visual feedback) is not even an issue for | experienced vim users who type commands quickly from muscle | memory. The edits happen when the command finishes and you | don't get distracted by intermediate results. For global | substitution, you can always append the `c` flag to add a | confirmation prompt to each substitution. That alone | obviates much of the motivation for Kakoune's model. | smabie wrote: | Probably something like spacemacs. | smitty1e wrote: | Emacs + vim really are the peanut butter and chocolate of | getting stuff done. | smabie wrote: | I really want to give spacemacs a try, but unfortunately | I've just been using traditional emacs for far too long. vi | does seem to have a much better editing model than emacs. | The tools Emacs has for buffer navigation and editing have | always struct me as incredibly primitive. | qroshan wrote: | If you like emacs, switch to doom emacs. spacemacs | development is almost dead | boogies wrote: | I've been loving vis1, a hybrid between traditional vi and | sam2, a text editor Rob Pike designed from close to scratch. | | (Edit) I learned vim a little bit over a year ago, switched to | neovim soon after, tried kakuone for a few days and didn't like | losing so much muscle memory because of the verb-noun order | reversal, switched to vis a few months ago and don't plan to | switch back. | | 1: https://github.com/martanne/vis 2: | https://en.wikipedia.org/wiki/Sam_(text_editor), | http://sam.cat-v.org/ | yjftsjthsd-h wrote: | vis comes to mind (https://github.com/martanne/vis), although | perhaps something even more aggressively plugin-first would be | even better | okasaki wrote: | Probably because it was the default editor in a bunch of Linux | distributions. | luxurytent wrote: | Isn't Pico the usual default? | tingletech wrote: | on more consumer grade distros I've had to `export EDITOR=vi` | before to get vi to come up for things like `crontab -e` and | for `git` messages. But it is the default on most systems | I've come across personally. | wadkar wrote: | I have seen nano to be the default for most debian and fedora | derived distributions from early 2000s. Not sure if things | changed in late teens. Or maybe I am misremembering things. | asveikau wrote: | And that because vi was present and popular on commercial Unix. | duckfruit wrote: | Speaking personally, I've been a professional developer for | almost decade and even in my relatively short career I've seen a | lot of technologies come and go. I was reluctantly roped into it | by my first boss, an enthusiastic Vim advocate. And since, almost | nothing else (save for maybe git) beat learning vim from a return | on investment perspective. From the default mac OS installation | to some old Fedora box that has not been patched since the early | 2000s, Vim (or its simpler brother Vi) has always been there! | | And once I got used to it, I couldn't really imagine using | computers any other way. I'd go so far as to say that the 'home | row' concept of vim is the ergonomic ideal of keyboard based | computing, and I now try to mimic that behavior everywhere -- the | vimium extension in chrome, various vim plugins for vs code and | sublime etc. If you're on the fence, I'd urge you to give in! | pphysch wrote: | It was there, and it was (and still is) good enough. | vowelless wrote: | Vim (bindings/modality - ESC mapped to CAPS) are good for my | hands. I don't get tired. Before vim my hands would get tired | after some time. Now it feels like I can keep going forever. | | Now I use vim for everything and it's bindings in my browser, | email client, todo list app, etc. | aarong11 wrote: | Because nobody knows how to quit | TenJack wrote: | Ah early web development nostalgia. | tingletech wrote: | in TRS-80 BASIC, you could go `EDIT 100` and bring up a line 100 | in a line editor, vi sort of reminded me of that when I was | learning it something like 25 years ago. It is still my main code | editor. | mtippett wrote: | We also need to understand that a subset of vi features is part | of the POSIX standard, so any POSIX system will need to have | "vi". vim is the logical choice there. | | So as a result vim has become the reference implementation for | the POSIX vi featureset. | catalogia wrote: | All of vi is specified by POSIX, but vi is only a subset of | vim. | ur-whale wrote: | To me at least, the answer is and always has been: speed. | halotrope wrote: | For me it is being able to efficiently navigate a file without | leaving the home row (Gotta learn touch typing first). Once you | understand the commands follow a composable grammar it is really | like a superpower for dancing around text. | | ,,Go down 5 lines, move right two word, replace the contents of | the brackets". I don't use the actual editor all that often but | have vim mode enabled in all my ,,real" editors like VSCode or | JetBrains Suite. I am often wondering how people do edit source | efficiently without vim mode but I am too shy to ask. | boogies wrote: | Some people use trackballs or pads with their thumbs, or | trackpoints. | gt2 wrote: | Long time vim lover here as well, but I guess I hear often that | for a lot of folks, input isn't the bottleneck. | johannes1234321 wrote: | I don't see it as a bottleneck, but focus. Not searching for | the mouse or something or stretching fingers to Edit with | Meta Alt Control and Shift etc. but fingers where they feel | comfortable efficiently browsing the files. | halotrope wrote: | Yes I hear that as well. IMHO most of the time is thinking | but when I want to move stuff from my brain to my screen I | prefer maximum bandwidth and not having to consciously think | about it. To each their own I guess. ___________________________________________________________________ (page generated 2020-06-30 23:00 UTC)