6 ms·
The Evolution of Vi and Vim
- jurassicfoxy 3y agoGreat article, thanks for sharing. I love Vim, and although my usage is totally vanilla these days, I use Vim plugin for VSCode which is awesome (lack of :norm is the only downside I've found). Vimium for Firefox is also a must-have https://addons.mozilla.org/en-CA/firefox/addon/vimium-ff/ https://addons.mozilla.org/en-CA/firefox/addon/vimium-ff/
- hrokr 3y agoIt's interesting that the increase in Vim commits is concurrent with the fist release of NeoVim. They've certainly both been good for each other and I'm hoping this won't change with Bram's passing.
- The_Colonel 3y agoVim was mostly a one man show. I doubt it will be meaningully developed apart from bugfixes and such.
- arp242 3y ago> Vim was mostly a one man show. No, it wasn't, and hasn't been since the 90s (most of the gvim code was written by others back in the day, to give an example of a large body of code not written by Bram). There have been many people contributing, and some of them for years. Yes, Bram was the BFDL and the only one committing patches, but don't confuse that with "one man show".
- The_Colonel 3y agoThere were of courses patches by other people, but most big features were driven by him. Do you have some example of a big feature more recent than 20 years old gvim?
- deleted 3y ago[deleted]
- arp242 3y agoMost of the multibyte from the last few years for example. Bram didn't really record these things very well until quite recently (and even then, rather inconsistently) by just listing the author in the commit message rather than the git author field, so there's no easy way to check.
- turndown 3y agoForking is usually good for the community around a piece of software but I struggle to find who made this argument originally
- kaba0 3y agoI think it is only good when the software has slowed down development. Otherwise it just needlessly splits the community.
- goku12 3y agoSpecifically in the case of vim, Bram took decisions that forced the community to choose one or the other. Like the implementation of async and the choice of a second extension language.
- otherflavors 3y agoProbably worth noting is that elvis is the origin of nvi (New vi) which is the default on the BSDs
- BoppreH 3y agoI've been using Vim for years, but if there was one thing I could change, it would be the verb-noun order. The Kakoune[1] editor behaves mostly like Vim, but where Vim has `dw` as "delete word", Kakoune has it backwards: `wd`. It might sound minor, but by placing the range first, Kakoune can give a preview of what will be changed. The longer or more complicated the command, the more this feature shines. Strictly better as far as I know. A shame my muscle memory, and all default installations, are still stuck with Vim. [1] https://kakoune.org/ https://kakoune.org/
- hiAndrewQuinn 3y agoIf someone wrote a way to transplant strict Kakoune keybindings into Neovim, I'd change in a heartbeat. Unfortunately I'm too immersed in the plugin system as it is.
- wryanzimmerman 3y agoThe vim equivalent of that is visual mode, eg `vwd` which is exactly the same structure as you’re saying you want from kakoune. So vim is verb-noun for simple things, but if you want, you can use visual mode if you’re doing something more complex or just want visual confirmation first.
- schnubbidubb 3y agoThat's exactly what I do, because I need the visual confirmation and can't really wrap my head around it otherwise. Sometimes when I don't realize I'm in insert mode, I jump around the document and don't know what just happened. Visual cues in-between would have been nice, so I don't always feel as surprised as I do, lol. Although I don't know if in that particular fiddly case it would have any benefit.
- lawn 3y agoNot noticing that I'm in insert mode isn't something I can remember struggling with. There are different solutions for it: - Obsessively press escape so you're always in normal mode - Style the statusline so it's very colorful when you're not in normal mode - Have the cursor be "fat" when in normal mode and "thin" when in insert mode (isn't this the default?) Even though I've been using Vim for 15 years or so I also enter visual mode for some commands. It's quite useful, but not necessary all the time (like di" for instance).
- hiyer 3y agoI'm privileged enough to have worked with one of the people mentioned in the article - Tim Thompson, the author of Stevie.
- fritzo 3y agoMore recently Tim Thompson has been creating interactive art installations. I got to work with him at some installation shows in the bay area https://timthompson.com https://timthompson.com
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- kaycebasques 3y agoThe naming tradition interests me. Some of the name changes are incremental: ed, then em, then en, then ex. Others seem like a dramatic break: e* to vi. I'm getting the sense that it was a more common tradition than I realized. Of course the classic example is C to C++, which is just so dang satisfying. Are there other interesting examples of incremental name changes and more fundamental shifts (e* to vi)?
- cbm-vic-20 3y ago:vi is the ex command to switch to visual mode.
- WorldMaker 3y agoRelatedly, for all those that ever wondered why all the commands in vim that start with : are called "ex commands" in the documentation, it's that weird stack of ex was always inside vi and vice versa, vi was always inside of ex.
- tokyolights2 3y agoIn unix the names of things are just based on what stuck and what was used. My favorite example of name evolution is the jump from `more` to `less` (because less is more...)
- pluijzer 3y agoNot my favorite language but I like how C# is C++++ (even though in musical terms C# would be inbetween C and C++).
- layer8 3y agoArguably you only need two pluses to form a hash symbol.
- otterpro 3y agoGood historical overview of vim and its origin. I remember using vi for the first time at my university because emacs would slow down to a crawl on our unix clone system especially just before our computer science homework was due, and I was forced to switch from Emacs to vi. During that time, Amiga was my home computer, but I don't remember seeing it on Amiga. Most of my time was spent at school on a Wyse VT-220 clone terminal. Since then, I've tried Elvis, nvi, and few other clones until settling with vim much later in life when Ruby on Rails came onto scene.
- baudaux 3y agoFor people who do not have vim installed, you can try it in https://www.exaequOS.com https://www.exaequOS.com, an OS running in a web browser (that I am creating)
- baudaux 3y agoThere is ed as well
- dig1 3y ago> most users found frustrating having to work with ed. True, until you need it. And you'll usually pull out ed when any other editor fails :D One example is an extremely slow ssh connection. For those who can recall, when SourceForge allowed ssh access, running vi/vim was a PITA if you wanted to edit something. But not with ed. The second example of where ed is unmatched is scripting - it has the same "interface" for interactive editing and scripting (it uses the same commands and command sequence). Someone also mentioned (can't find source of the quote) that the same trick is helpful when you write a book because you can easily print ed command sequence readers can repeat and follow your examples, which isn't the case with any other visual editor. You can write unit tests to validate those things in case you want to ensure your book examples actually work.
- BaculumMeumEst 3y agoAlthough it will never be as popular as Vim, I will always see Kakoune as the evolution of Vim. It improves on so much and adds very well thought out functionality. Object-verb works very well when you adjust, and structural regular expressions make a lot of operations much less painful. Built-in multi cursors and autocomplete without fiddling with plugins is wonderful, and the in-editor discoverability and documentation is great. It retains Vim's spirit of minimalism but cuts out a ton of cruft without constraining itself to any kind of backwards compatibility. I use Kakoune as my $EDITOR and VS Code with Dance for software development. I think Dance does a great job of leveraging Kakoune and VS Code's strengths. I wish there was an equivalent for Intellij as well. https://marketplace.visualstudio.com/items?itemName=gregoire.dance https://marketplace.visualstudio.com/items?itemName=gregoire...
- Scubabear68 3y agoAs a footnote to history, Manx Aztec C shipped with a complete set of Unix-like tools for non-Unix systems. This included a partial VI clone of their own. So users of Aztec C for MS-DOS, Mac, Amiga, Atari-ST etc all got VI clones as part of the deal. I have been a VI user my whole life as a result (I worked for Manx in the late 80's, and their flavor of VI was my first real taste of text editing).
- atan2 3y agoWhat a great article!
- gustavopezzi 3y agoAuthor here. Thanks for sharing!