6 ms·
It's incredible how good of a design Vi is. Try this experiment: Busybox includes a tiny clone of vi with a reduced feature set. It's very stripped down when co
by qsort 1y ago
It's incredible how good of a design Vi is. Try this experiment: Busybox includes a tiny clone of vi with a reduced feature set. It's very stripped down when compared to Vim or even other vi clones, but as a pure text editor it's still more powerful than most modern day IDEs.
I love my Jetbrains IDEs, but you can take my Vim plugin from my cold dead hands :)
- deleted 1y ago[deleted]
- pugworthy 1y agoI have used VI for many, many years and honestly use perhaps 25% at best of its abilities. But still I get comments about how fast and smoothly I can use it from other developers. Which I think speaks to how powerful even the basic editor can be. And yes, you can also take my VIM plugin (for Visual Studio) from my cold dead hands.
- jxm262 1y agoSame here. Tbh, you're comment just inspired to do a deep dive on VI. Wonder how much more productivity I can squeeze out if I spend an weekend focused on it.
- skydhash 1y agoThe productivity comes from not having to think about your editing while simultaneously realizing that you can do some complex editing really easily. I use Emacs and Vim both (I prefer Emacs) and It's quite nice when you can streamline some quick code edits. My latest experience with Vim was helping a friend fixing some import with a React Native project. A quick grep on one terminal (I could have used quickfix) and using the vim fzf plugin to quickly locate the file. VS Code could have done this but the context switching and UI clutter is not great there. As for emacs, the main advantages lies in the fact that so many great tools already exist there. Things like Occur, Shell Mode and Compilation Mode (relying on Comint, a more general feature for anything REPL), Project, Eglot, and Magit.
- deleted 1y ago[deleted]
- tcoff91 1y agoNow with neovim I feel like the plugin ecosystem is catching up to Emacs. Lua has unlocked the potential. Typescript dev ex in neovim is light years ahead of what I achieved in Emacs. Neovim’s lsp integration is better than Emacs imo. Blink.cmp is so fast. Magit is definitely far superior to anything in neovim though and so is org mode.
- skydhash 1y agoI think Vim and Neovim is better suited as editors, meaning quick launch, fast localization of files and fast editing actions. And I like plugins that support this philosophy. But the goals with emacs is to be a complete platform for anything plain text (with a bit of extra widgets). Almost whatever you need the terminal for can be replicated there, and they will share some common convention. Mail, file manager, music players, feed readers, PKM, PIM,… Tect editing is not so great, but text actions are (Slime is the best example). I use both, but I prefer emacs’ extensibility.
- tcoff91 1y agoYes Emacs is still a better platform for building applications on for sure. Emacs lisp is a better language than Lua although harder to learn. I used Emacs with evil mode for years until switching to neovim last year. It was really great.
- nyarlathotep_ 1y ago> And yes, you can also take my VIM plugin (for Visual Studio) from my cold dead hands. First thing I install on any IDE/Editor.
- jghn 1y agoIt is worth knowing pure vi to some extent. To the point you raise, it's pretty much guaranteed to exist on any system you're on. That's not true of anything else, even vim
- maccard 1y agoI can count on one hand the number of times I’ve had to use vi or nano and not had another option in 15 years programming. Optimising for that use case is not an efficient use of time.
- jghn 1y agoSame, except it goes back 30 years, but it sucks when that one time comes up. I'm not suggesting one becomes a wizard. I'm suggesting understanding basic commands.
- sudahtigabulan 1y ago> It's incredible how good of a design Vi is. It's interesting how this design was forced into existence by the extremely limited hardware at the time: TFA>> It was really hard to do because you've got to remember that I was trying to make it usable over a 300 baud modem. That's also the reason you have all these funny commands. It just barely worked to use a screen editor over a modem. That's why we got commands like d), d{, D, etc. Trying to achieve the goal in one go, without any intermediate redraws.
- flomo 1y agoThat's a great point. On modern systems, there's a false economy where editor stunts are not going make most people a significantly faster programmer. (Although some ppl just like them, e.g thinking they are "more powerful".) But on a very slow terminal, these things really did make a huge difference.
- chongli 1y agoFor people who love vi/vim, it's not really about being "a significantly faster programmer." It's about reducing friction between the changes you want to happen and them happening on screen. Editors with a lot of friction (that make you do lots of intermediate or repetitive steps to accomplish a task) can be really annoying to use. For some people, minor annoyances can be very distracting to the point where they take you out of your comfort zone and break your concentration. Having your concentration broken when you're trying to solve a tricky problem can be a huge productivity drain. So in the end, an editor which may only save a keystroke here and there on average can end up being very productive for some people.
- flomo 1y agoAbsolutely, some people just love vi. Sometimes it fits their mental model, other times someone told them "real programmers use vim/emacs" and so they internalized and studied it. That's why most modern editors still have a vi mode. Obviously it works for people. But if the 1980s UI Scientists came back with their stopwatches, I don't think the median vi-mode user would "win". Unless they were using a really slow terminal. (obv, we probably have some 1%ers on HN)
- thenthenthen 1y agoWhat is the experiment?
- nikanj 1y agoAs a pure cutting tool, a traditional saw is more powerful than a chainsaw. That doesn’t mean it’s actually the fastest tool for the real job. Programming is not text editing
- _fat_santa 1y agoI would say it’s incredible to see the quality and “durability” of Linux/Unix tools. The other day I wondered “how old is grep”, looked it up and realized that I use a piece of software that’s over 50 years old on a daily basis. The fact that these tools have stood the extreme test of time is really something.
- ehecatl42 1y agoBack in '94 I remember motherfsking some paper I was writing late at night in the computer lab. I think the wordprocessor was AmiPro, and it was giving me grief to the extent that I was at the point of violence. Another person in the lab came over, invited me to his machine and showed me LaTeX in Emacs. We became friends (he a mathematician, I a zoologist). I bought beer; he brought 'computer wisdom'. Thirty-odd years later, those files are still perfectly reproducible. All of my kid's school reports from elementary onwards... LaTeX. It's hard to overstress how important is longevity in a toolset. Side rant on Emacs' keybinds: with orderless and vertico (and marginalia and whichkey) it is almost as fast for me to `M-x dir` as to `C-x d`, and in both cases I get a dired buffer. Aaand, `dired` is magic. History also tells me that it is older than Emacs. \end{rant}