12 ms·
The vi family
- saidnooneever 5mo agocool stuff, for a bunch i didnt realise they were really distinct versions! Use Helix now as the first one that stuck in my fingers though. before that it was always try a lil while and forget it (back to nano...). Helix i think is like 'user friendly vi' or maybe 'no config vi'. dont need any plugins or weird stuff. everything essential works out of the box (for me)
- 16bitvoid 5mo agoHelix's selection-action feels way more natural to me than vi/vim's action-selection.
- opan 5mo agoHad someone else parrot this line to me the other day, but I remain unconvinced. Especially when vim has visual mode, and you often can make a select before doing something to it. v$ to select from cursor to end of line, then d to cut or y to copy. Is that not the sort of thing you mean? Is visual mode in vim just underused? Recently I was trying to find a good way to delete from the current position backward to another character, like dT or dF followed by the target character. The trouble was they'd leave at least one character behind, either what I jumped to or what I started on. What worked how I want, and was still easy, was just using visual mode. Where "n" was the character to jump back to, I did vFn which selected from my cursor position back to the letter n (and including that n). I could then hit d and delete all of it, no extra character left behind from either end. I remember at first I was thinking "there's gotta be a way to do this without visual mode". Best I could come up with was hitting x after dFn or whatever to get the stray character. I think using visual mode is probably fine, though. Maybe if I were doing this type of edit a lot I could bind some key sequence to do it. Would it be accurate to say you didn't use visual mode much in vim before you moved to Helix?
- rmunn 5mo agoI think you're right and visual mode is underused. It gives you the best of both worlds: "cw" meaning "change word" for when it's obvious what you're going to be selecting, and "v3wwwc" for "change 5 words" when you discover (by experimentation) that the text you wanted to change actually counted as 5 words due to punctuation, not 3 as you had first thought.
- rmunn 5mo agoSomething rather similar to visual mode, and which I've learned to like a lot, is the https://github.com/folke/flash.nvim https://github.com/folke/flash.nvim plugin (NeoVim only since it uses Lua). It gives you a commmand you can bind to a key (https://www.lazyvim.org/ https://www.lazyvim.org/ defaults to binding it to `s` for "Seek"). Press that key and then type a couple letters that appear somewhere on your screen. All occurrences of the letters you typed will be highlighted (and the rest will be dimmed), and next to each of them will appear a bright, contrasting letter that serves as a label. Type the label character and you will jump to the start position of the text you typed. Why is that handy? Well, the idea is that you're probably already looking at the point on the screen you want to move the cursor to, so instead of figuring out a complex navigation, you can type a few keys: `s` plus the letters you're looking at. Then pause for a quarter-second, and type the letter that just appeared where you're looking at. The label letters will be chosen such that none of them appear after the text you typed, e.g. if the words "car", "cat", and "can" all appear in your document, then after you press `sca` the labels `r`, `t`, and `n` will never be chosen. (But the label `d` might be chosen if the word "cad", or words containing it such as "academic", never appear in the document). It took a little getting used to, but now I've found it's quite the fastest way to issue commands. Want to delete everything from here to that closing parenthesis right there? If you're on its matching open parenthesis then `d%` is fastest, but if you're not, then `ds)` followed by split-second pause to see the label appear (in a bright contrasting color), then type the label. Quite a bit faster than `v` plus a bunch of movement, in my experience. Once you get used to it, it really speeds you up. And when you get down to it, isn't "once you get used to it, it really speeds you up" a description of the entire vi family of editors in the first place?
- rbits 5mo agoWell that's one extra key press for every action. For example, you have to do `ved` to delete the current word instead of `de`. Whereas in Helix it's just `ed`. Also visual mode doesn't work the same. If I want to delete up to the next word normally I do `dw`, but if I do `vwd` then I also delete the first letter of the next word. I guess in visual mode you'd have to do `vwhd` or `vawd`? Which is 4 keypresses instead of 2, which isn't great for something that I do all the time.
- rbits 5mo agoI really want to use Helix, it clicks with me so much more. But I do not want to learn how to use Helix for development. I want to be able to continue using VSCode. And last I checked, the VSCode extension was not very good. I also use Vim keybindings in Obsidian. The moment VSCode and Obsidian support improves, I am switching immediately.
- 16bitvoid 5mo agoI switched from VSCode to Zed, which has a helix mode built-in and it works very well. For Obsidian, I use markdown-oxide with helix and just use the Obsidian app as a viewer. A helix-mode for Obsidian would be sooo nice.
- openmarkand 5mo agoI'm vim poweruser since around 2009. When I use VSCodium (not that much today) I obviously use Vim emulation. When I use a different editor, there will be lots of jjkk or ,w (I nmap ,w to :w). Habits die hard. Now I switched to neovim due to the amount of good features I like with it. I use exclusively mini.nvim modules that are awesome.
- be_erik 5mo agoThe history and endurance of vi is impressive. I never thought I would be using the same editor today that I started using in the mid 90s because it was more l33t. The comments about LLM contributed code seems like a specific axe to grind that otherwise detracts from a nice history lesson.
- rmunn 5mo agoI started learning vi around the same time, but in my case (since I was expecting to work on Unix systems for decades, which has proven true) it was "because it'll always be there." I.e. if you're SSHing into a server to fix a problem, it's possible that /usr/bin/emacs won't be there (perhaps the problem you're fixing is that /usr isn't mounting), but you can nearly always count on /bin/vi being available: if you can access the server at all, you will be able to access vi, so at least learn its basic keystrokes, our prof told us. That advice was not entirely accurate (sometimes vi is in /usr/bin/vi, for example), and the merging of /bin with /usr/bin has made it kind of a moot point. (EDIT to add: Though the fact that busybox includes a basic vi implementation has kind of un-mooted the point, actually). But I first started learning vi because I figured I would need it professionally, and when the modal-editing workflow "clicked" for me, I figured out that I had just learned the editor I would want to stick with for years. And although vim replaced vi and nvim replaced vim in my finger-macros, that has remained true to this day.
- sgtlaggy 5mo ago> if you're SSHing into a server to fix a problem, it's possible that /usr/bin/emacs won't be there You don't need emacs on a server. TRAMP is built-in and can open remote files in a local instance over SSH, SMB, FTP, ADB, or docker/podman.
- pmontra 5mo agoYes, I can use TRAMP but as I ssh to the server anyway to run commands, I'm editing the files with vi there. Furthermore I'm sure I don't inadvertently edit the local version of the file instead of the remote one, or that I forget to kill the buffer with the remote file and edit it instead of the local one after a few days. What's on the server stays on the server.
- casey2 5mo agoSam isn't graphical there is sam and samterm which sends commands to sam. sam itself is an ed style line editor, where the concept of a line is replaced with a dot. vis allows multiple dots. It's worth noting that a lot of the text editing done in the vi family are just calls to ed with different ways of doing selections.
- salvesefu 5mo ago"Sam is designed as two synchronous programs: a command interpreter and a mouse-oriented bitmap windowing interface." https://en.wikipedia.org/wiki/Sam_(text_editor) https://en.wikipedia.org/wiki/Sam_(text_editor)
- grebc 5mo agoInteresting the history is varied for such a simple tool. I am but a lowly mouse/GUI user so rarely have to dwell in a shell, but I learnt the basics of vi in my 1st year of university and never forgotten. Gotten me out of many a pickle being able to reliably edit a file quickly.
- normie3000 5mo ago...and presumably quit vi once you're done!
- rmunn 5mo agoI have typed either :wq or ZZ into so many files in VS Code... :-)
- ivanjermakov 5mo agoSimple tool? Visual text editor is probably the most complicated piece of software in coreutils.
- throawayonthe 5mo agothere's a visual editor in coreutils? i didn't realize oh i guess there's GNU Readline, but that's not in coreutils i think
- ivanjermakov 5mo agoNo, you're right. I meant "universally included in Linux distributions".
- elxr 5mo agoNeovim supports the mouse by the way. I'm a GUI user too but using helix-mode (like vim-mode but IMO more intuitive) in my GUI editor, zed, gives me the benefits of both.
- ventana 5mo agoOne thing I noticed that with Claude Code and Codex running in the terminal, I tend to use VS Code much less than before, and found myself opening files in vim more often. It just looks like, for me, the agent development brings me back to using the basic tools, like many years ago, before VS Code existed.
- raimo 5mo agoYes indeed, same here!
- JohnMakin 5mo agoThis is interesting to me. vim was my main editor since the start of my career and I was very fast with it, much faster than my peers with an editor. at the outset of llm’s, I ended up using a plugin that would utilize bindings to help me edit faster. with claude code, and how fast it is making changes across many files, I almost never use vim anymore, or vi, unless I need to inspect files in a container/server.
- thunspa 5mo agoCould you share a bit more about this?
- JohnMakin 5mo agothere were plugins where I could quickly describe the edits I wanted, and it would utilize my existing bindings and shortcuts to do stuff that was very common for me. It was more of a fun trick than useful, I guess, but it saved keystrokes, and I have severe tendonitis, so it was nice. Nowadays almost never enter vim, because it is 100x faster than I could ever be. I use it for viewing files occasionally but reviewing edits in the claude or codex window usually works just as well. It’s the first skill I expect to decay for me (vim)
- avadodin 5mo agoFunny, because the only reason I fire up VSCode is to chat up the bots because we are AI-compliant now and the customers pay for it. I tried nvim integration but it was half-baked and I can't even use nvim as an editor because they removed cscope support. nvi back in the day also dropped support for cscope because it wasn't vi enough. Hell, there is barely a working source repository for it. Only vim supports it out of the box. Am I the only person using cscope in 2026? As of current day, I only use vim with no plugins to edit source code.
- DeathArrow 5mo agoI have nothing against Vi or Emacs, but since I strongly prefer GUI and mouse over terminal I use GUI editors. When I don't have a GUI available, I use micro, nano, joe.
- pjio 5mo agoBeing able to choose is a good thing. Use what works for you. I prefer the terminal, but not as hard core as switching to a TTY and never see a GUI again...
- mr_toad 5mo ago> Being able to choose is a good thing. Use what works for you. If you look at many of the ‘user stories’ in this thread (and others), you see a lot of people using vi/vim not because they decided to try it, but because they had no real choice. Very often it’s the only usable option on a Unix-like machine. And yet, you don’t see many people bemoaning the choice. Despite being forced to use it, once people are over the fabled learning curve they tend to like it.
- opan 5mo agoI'm more in the vim camp, but I will say emacs has one of the best GUIs out there. Everything that works in the terminal still works (great keyboard accessibility), plus you get additional benefits, like proper window separation that isn't just a text character drawing an imaginary line (so copying lines of text with the mouse when you have a bunch of splits is easier). There's also image support, you can connect to a server with TRAMP, open up dired, and view remote images right in emacs. I always thought that was cool. Vim on the other hand never felt like it benefited much from a GUI, or like it had a very good one available. I just use neovim in a terminal.
- berkes 5mo agoWith vim/nvim/gvim etc, you can use both. Granted, the UI is still TUI, so items like panes, tabs, nerdtree, quickfix, :help windows etc are rendered with characters, but you can drag borders, mouse-select text, click files, focus panes by clicking, scroll-wheel, etc.
- taejavu 5mo agoHow does an article like this not mention Bill Joy??
- ethagnawl 5mo agoBram is a glaring omission in the vi family tree, too. Though, they'd have to draw the line somewhere (i.e. include nvim creator?) and maybe it's better leave individual people out.
- dredmorbius 5mo agoThe article focuses on the variants, not their authors. Joy, Bram, Perens (Busybox) are all omitted. At least the exclusion is nonbiased.
- classichasclass 5mo agoLong ago I wrote my own really incomplete vi subset for the C64 that I really should dust off. But there's a more polished vi clone for 6502 machines, including the C64, Apple II and Atari: https://vi65.sourceforge.net/ https://vi65.sourceforge.net/
- nineteen999 5mo agoI consider my vi/vim skills to be extremely minimalist subset, and probably horribly inefficient, since they were developed to work accross a broad range of UNIX systems (SCO, Solaris, HP-UX, OSF, AIX) and I rarely add anything to my vim configs on top of that other than syntax highlighting. But I'd still rather use it than just about any other text editor, just for the simplicity of that muscle memory alone. I have way more stuff to keep in my head than I have room for and I can't afford to expend more than about 0.0001% of context on a text editor.
- elektrontamer 5mo agoSame. I barely edit default configs. I also mostly use emulators provided by whatever ide I use.
- userbinator 5mo agoLikewise, I'm also not very demanding of my text editor. I used vi on any *nix systems and Notepad (the original one, not the new bloated monstrosity) on Windows for most of my work. Navigation, basic editing, and searching are probably all I need.
- rmunn 5mo agoI never edited the default config much. But then I discovered https://www.lazyvim.org/ https://www.lazyvim.org/. Turns your copy of NeoVim into an IDE. I still haven't edited the default config much, actually. But now I'm probably 2x to 3x as productive in vim (nvim, now) as before. P.S. If you decide to check out the LazyVim config, I highly recommend reading https://lazyvim-ambitious-devs.phillips.codes/ https://lazyvim-ambitious-devs.phillips.codes/ all the way through. There's a lot of new keybindings to learn, but Dusty Phillips's book gives you a gentle on-ramp to learning most of them.
- rmunn 5mo agoI should mention what is becoming my favorite thing about LazyVim's default config, which is the "flash" or "seek" command (LazyVim maps it to `s` so I think of it as "seek") from https://github.com/folke/flash.nvim https://github.com/folke/flash.nvim. I didn't like it at first as I was used to typing `s` to quickly replace a single character with a bunch of text (as opposed to `r` which replaces it with just one character). But I soon learned to remap my brain to use `cl` where I used to use `s`, and then I learned to love "flash"/"seek" mode. I wrote about how it works in https://news.ycombinator.com/item?id=48118585 https://news.ycombinator.com/item?id=48118585 so I won't repeat that here. But if I had to pick my favorite feature from LazyVim's config... well, actually it would probably be something else, but `s` is definitely in the top three by now.
- rekoros 5mo agoWhen I was in college in 2001, I went to the library and checked out Kaare Christian's book called "The UNIX Operating System". One of the early chapters covered vi - I'd telnet into the school's Sun server with a pretty early version of vi (one-level undo) and follow the examples. Never looked back!
- keithnz 5mo agoI had a mini holiday job working for (long since gone from NZ) Philips Design and Development Laboratory in 1992. As part of that I worked on some tools for their silicon graphics workstations. I was shown vi, and how to get help and left to it. Tough learning curve! Seemed ridiculous at first, then I developed a mini set of editing skills and got used to it! Still using Vim/Nvim today.
- helterskelter 5mo agoIf anyone wanted to write a minimal vi-style helix clone they should call it 'ix', as it's derived from helix, gives a nod to 'vi' and a wink at the turning of vi syntax on its head, like rotating a six to make a nine. Then a descendent of 'ix' could be called 'six', and we'll have come full circle.
- creshal 5mo agoJokes aside, I don't really see the appeal of a demake of helix; it only really makes sense to me as "vim but far more concepts integrated as first-class features rather than addons"; take that away and you have vi with less muscle memory. So, kakuone with the serial numbers filed off.
- yanis_t 5mo agoIt’s funny how many forks aiming to keep it free from LLM-generated code. The luddites are present even in the most progressive parts of the population.
- aiscoming 5mo agovi was never progressive, it was "the Ancients knew it better, the present sucks, these kids have terrible taste, return to the one true Past"
- nananana9 5mo agoThe Ancients did know it better. I sometimes try working without vim keybindings as it's a pain installing them everywhere. I usually give up the 3rd time I have to delete a function argument and can't dt, or select the body of a function and can't vi{. For everyone even somewhat decent at vim, having to hold right arrow until the cursor reaches the target is a humiliation ritual, and I genuinely feel second-hand embarrassment and pity when I see people do that.
- aiscoming 5mo agoallow me to quote the Ancients, the vi creator himself: > What would you do differently? > JOY: I wish we hadn't used all the keys on the keyboard. > ... > JOY: The fundamental problem with vi is that it doesn't have a mouse and therefore you've got all these commands. In some sense, its backwards from the kind of thing you'd get from a mouse-oriented thing. > Its like one of those pinatas - things that have candy inside but has layer after layer of paper mache on top. It doesn't really have a unified concept. I think if I were going to go back - I wouldn't go back, but start over again. shots fired: > JOY: I can just look at my screen, and when I print it off, it's the same as it looks on the screen. It is formatted, and I'm tired of using vi. I get really bored. There have been many nights when I've fallen asleep at the keyboard trying to make a release. At least now I can fall asleep with a mouse in my hand. I use the Xerox optica mouse instead of the other one because it is color coordinated with my office. Did you notice? I prefer the white mouse to the black mouse. You've got to have some fun, right? http://xahlee.info/comp/interview_with_bill_joy.html http://xahlee.info/comp/interview_with_bill_joy.html
- nixass 5mo agoFew days ago I watched a video where a guy wrote the code for Linux USB driver from scratch. In frickin' vi! It was a ride
- submeta 5mo agoAnd he doesn’t use any config it seems. No syntax highlighting, no line numbers, plain white text on dark background.
- nixass 5mo agoExactly, it's wild! If anyone wants to have a look: https://www.youtube.com/watch?v=IXBC85SGC0Q https://www.youtube.com/watch?v=IXBC85SGC0Q Correction, the driver is specifically for Apple Xserve front-panel
- 4ggr0 5mo agohe did however decide to use a font which gives off comic sans vibes, which is a very interesting choice for an otherwise very barebones setup :D
- weberer 5mo agoIts probably the font that helps people with dyslexia.
- keyle 5mo agoI didn't know about vim-classic, I've switched to it now. I can't really notice much of a difference except themes are missing... and fzf needed a fix.
- keyle 5mo agoupdate: vim-classics, it's faster. Particularly launching external stuff like fzf and rg.
- kouosi 5mo agoHi you may want to include neatvi[0] and nextvi[1]. [0]: https://github.com/aligrudi/neatvi https://github.com/aligrudi/neatvi [1]: https://github.com/kyx0r/nextvi https://github.com/kyx0r/nextvi
- karel-3d 5mo agohonestly only LLMs can write Vimscript
- yu3zhou4 5mo agoThere was onivim that was a bit hyped a few years ago but unfortunately it died
- mechanicum 5mo agoI think describing Kakoune/Helix as vi-inspired with “slightly different keybindings” is rather missing the point. The most important difference is that they invert the editing model from verb-noun to noun-verb. Meaning you always see exactly what you’re going to be operating on before you do it. The second most important difference is that they were designed from the ground up around multi-selection editing as a primitive, rather than a plugin or late addition. That model is typically less efficient purely in terms of keystrokes, for some operations significantly so, but it’s somewhat mitigated if having the state on-screen rather than in your head means you undo less often. I wouldn’t suggest either approach is superior. I suspect most people (“most people” in the subset of people who jibe with modal editing to begin with, anyway) will find that one just fits their brain better than the other. Personally, even having used Vim almost daily since finding it on a Fish Disk sometime in the mid-90s, I still turned out to be in the kak/hx group. I can still use vi quite comfortably when I need to, but Helix removed a bit of friction I’d barely been aware of. There’s a steady stream of NeoVim exiles to Helix forums, I think who mostly found its Lua-based config too complex/brittle, asking why the devs don’t add settings to make it work like Vim, include a *Vim keymap as standard, etc. It’s kind of wild to me that people would choose their editor based on how minimalist its config/how batteries-included it is, rather than its fundamental editing paradigm.
- rax0m 5mo agoInteresting that there is such a clearly stated differentiation between projects that use "LLM-generated code" and those who don't. I wonder how it went for the farms that stuck to "non-tractor-generated crops" in the 1900s.
- ArcHound 5mo agoPretty well if you consider the "bio" label, which is a set of practices not using all of the tech. They can ask for and usually get higher prices for the products. Granted, it's more about chemicals than tractors, but still quite close to the spirit of the comments. Bio approach sacrifices some tech advances.
- thih9 5mo agoEarly tractors were attempted in 1800s but most farmers ignored them as they were complex, expensive and occasionally exploded[1]. Sounds familiar. [1]: “However, even though steam-powered tractors provided an alternative to draft animals, the size, mechanical complexity and risk of explosion rendered these tractors unusable for most farms.” https://www.volocars.com/blog/history-of-tractors-in-agriculture https://www.volocars.com/blog/history-of-tractors-in-agricul...
- yrds96 5mo agoThe LLM usage are disclosed only for the projects where this information is relevant. By the way there are a lot of farmers that doesn't need the power of tractors to make farming their livehood. Makes sense when you realize that not everything needs to be super fast and efficient, sometimes cheap, slow and constant is enough.
- pippoit 5mo agoThe first work i had to use vi and screen on a terminal, it were in 90s . I was used to dos editors ( edit, turbo C ... ) and windows . It was a pain. copy and paste at first was a nightmare. Copy from one file to another ,with named register and # was an hell ( it was vi not vim so only 2 files a time ,the actual edited and the prior ones ). I hated that place, that work, those tool for a while . I got so used to vi, to modify columns with regular expression or macro that now, more than 30 years after , vi/vim is the first thing I install on a PC and when i have to modify a file, or to do something complex, the first and last resort for doing it without python or perl, is always vi . But the beginning at 25 years old was very hard because it was a kind of editing even at those time completely out of my usual way to work . Now it is the only editor that i open and use without thinking . VSCode is great, tons of features, but when i see all those menu, if i can, i use vi . I would add a point. for a while i went behind vim features, try to learn them and use them but they are too many and i often work on different machine so i can not move my setup everywhere. Learning the "old vi way" of doing things (motion, regexp,registers, macros ) can seem "limiting", but at the end you can do quite everything with the same tool .
- _torsk_ 5mo agoI actually learned VI using DOS and the Watcom C/C++ compiler and 32 bit dos extender, as it included a vi clone. Maybe it should be included in the list. It can still be downloaded from the openwatcom project, https://openwatcom.org/ftp/manuals/1.5/vi.pdf https://openwatcom.org/ftp/manuals/1.5/vi.pdf
- pjmlp 5mo ago> If you’re wondering why so many people would choose to use a fifty year old text editor with a notoriously steep initial learning curve, it’s because once you learn it, you can be ruthlessly efficient with your editing. I have learned it back in Xenix heyday, and decided I was better off with Emacs. Unfortunely not every server has Emacs pre-installed. On my own devenv I would rather reach out to IDEs, that replicate as much as possible the Xerox PARC / Symbolics / TI experience.
- isolli 5mo agoI, for one, am happy that every terminal I've ever used still supports Emacs shortcuts. Useful, for instance, to cut a whole line and paste it later on (ctrl+k, ctrl+y).
- Gualdrapo 5mo agovis is absolutely great. Wish more people were aware of it (and it's cool it is mentioned in the post) and that more people used it. I still miss some features from vim, like buffers, but feels so much snappier, lighter and intuitive - and the structural regular expressions part is outstanding.
- rfmoz 5mo agoTotally agree, Vis really hits an spot between modern feel without losing what made vi great. The structural regex is a game-changer.
- mghackerlady 5mo agohave you tried sam? or plan 9 in general? I'd recommend both if you haven't (though, plan 9 defaults to acme iirc)
- arethuza 5mo agoI learned vi in '86 or so mid way through the CS course I did. Later on I used emacs and various other editors for many years. The weird thing is that the basic vi commands are hardwired in my brain - I could happily edit a file in vi but I'd be stuck if I had to use emacs (even though I actually used emacs for far longer)...
- Pay08 5mo agoInteresting. Besides the navigation commands and the most basic of shortcuts, I've never been able to learn vi keybindings, even when I was actively trying. Half the time I still can't remember whether j or k is up.
- rswail 5mo agoI first used ed(1) back in the ye olden days of early 1980s, vi was like a major advance. Came in handy when I had to talk a guy through updating a Solaris config file to allow the box to boot when he only had a serial console in the early 2000s.
- mghackerlady 5mo agoed is good. If, for whatever reason, I was forced to only use line mode editors for the rest of time, you can't do much better than ed (besides ex, I suppose)
- strenholme 5mo agoThis list is very useful; Vile isn’t quite Vi, but it’s close enough, and it includes a Windows32 binary which works with CP-1252 [1] (albeit in a separate window), and fits in under 700k (7-zip compressed). What I wish existed was a fork of Busybox Vi which fully supports UTF-8. I’ve looked at the code and it would require a considerable rewrite to make it UTF-8 compatible, so I can see why it hasn’t been done. [1] https://en.wikipedia.org/wiki/Windows-1252 https://en.wikipedia.org/wiki/Windows-1252
- elch 5mo agoDebian is using this upstream repository for nvi and UTF-8 is supported. https://repo.or.cz/nvi.git https://repo.or.cz/nvi.git
- crabbone 5mo agoIf the author is reading this: would be nice to have a "family tree" diagram.
- elxr 5mo agoHelix, although a bit barebones by default, has been so much nicer for me recently than any of the vi editors so far. Love the default motions so much more, and having multi-cursor adds so much to the day to day experience. Helix mode in zed is closest to my perfect text editor right now. Does everything helix does but with alt-up/alt-down to move lines, and a few other little things like that that you'd expect a modern editor to have.
- mapcars 5mo agoI wonder if people who stuck with vi(m) know about Xerox PARC, wysiwyg, gui and nomodes.
- lproven 5mo agoI feel the same way. When I started at Red Hat in 2014, they asked if I liked Vim or Emacs, and what was my favourite IRC client. They were boggled when the answers were "neither" and "I can't remember." I hadn't used IRC since the 1990s or so, and after learning the basics of Vi on SCO Xenix and IBM AIX in 1988-1989 I'd barely looked at it again. I was amazed to find passionate Vi advocates born since the last time I opened vi. It was very strange. For me, editors moved past the bad old days of 1970s UI in the early 1990s and I've never looked back. In the '80s I knew dozens of text editor UIs and was fast in all of them. In the 1990s I switched to CUA and never looked back. My muscle memory is for CUA, and the great thing about it is not only blinding fast text editing, it means I can control the entire OS with the same keystrokes. I don't really need a pointing device at all on a Linux or Windows machine, except for using a web browser. I use one, because it's always there now, but I can live happily without. My first close blind friend was amazed by the fact that I could operate his PC quite happily. He doesn't own a mouse, because he can't see the pointer. He only has screens on some of his computers so he can watch videos with friends; his UI is 100% speech. I do need a screen -- I am not very skilled with a screen reader -- but give me a screen and a keyboard and I'm mostly set. This is for me the selling point of CUA: it's not just an efficient UI and set of keystrokes for a text editor, it also lets me use any compliant app, GUI or text mode, on any platform. Windows 3 to Windows 11, and Xfce, and LXDE, and to a large extent in MATE or Cinnamon or LXQt, on Linux or xBSD.
- tmtvl 5mo agoI used Vim for about 5 years until the fact I had to smash the living daylights out of every key started to really take its toll on my hands. I then tried Atom for a bit (requiescat in pace) before landing on Emacs. Which is funny: switching FROM Vim TO Emacs in order to combat RSI, usually it's the other way around.
- aweiher 5mo agoI wonder why there never was a vii, viii or ix?
- loloquwowndueo 5mo agoThis made my day. Thanks.
- mghackerlady 5mo agoThanks, now I know what to name a new modal editor if I ever make one
- 40four 5mo agoI’ve been a long time vim user, and I honestly never really bought into the efficiency claims. That gets repeated over and over, but If you’re a slow typer then no editor can really make much of a difference, and development in reality is a lot of reading code and thinking about code when it comes down to it. I’ve never used it because I thought it would make me some lightning fast super developer. I’ve always used it because it’s simply fun. It’s makes editing into this interesting sort of game. You start out with a simple set of skills from vimtutor, and inevitably brute force your cursor around the screen for a while. Little by little your movements become more complex and efficient, and the journey to figuring that out is fun and interesting. It makes you think about typing in a totally different way. It makes it into a some kind of interesting game where your goal is to accomplish a task in the fewest keystrokes possible. That problem solving aspect scratches an itch inside my brain that has always kept me coming back. It’s just fun, and I don’t think that gets talked about enough
- asdfsa32 5mo agoIt is fun because it is fluent. vi has a language.
- linsomniac 5mo agoI like to think of it more like a bytecode.
- coldpie 5mo agoIf I spend more than a couple minutes in an arrow-keys-and-mouse text editor, I often find myself unconsciously reverting to vi-language and getting confused. "Oh, I want to go change that sentence up the page that starts with 'Looking at...'" so I type "?Looking at" into the text editor and then stare at it for a few seconds before hitting backspace and reaching for the mouse like a caveman.
- mpalmer 5mo agoI’ve been a long time vim user, and I honestly never really bought into the efficiency claims. That gets repeated over and over, but If you’re a slow typer then no editor can really make much of a difference. Little by little your movements become more complex and efficient, and the journey to figuring that out is fun and interesting. The slight contradiction in your comment has a lot of truth in it. It’s just fun, and I don’t think that gets talked about enough Yes yes yes. Vim can absolutely lead to more efficient text editing, but I agree it has more to do with the fun journey than with typing speed. vi definitely doesn't scratch that "itch" for everyone in the same way. But for me, it's as though I found a cheat code. Getting better at vi feels like getting better at a game - only practicing this game makes you better at any number of tasks that are relevant to your daily work. (although if you also want to get better at typing speed, there are surprisingly fun roguelikes on Steam for just this purpose)
- jgalt212 5mo ago> wondering why so many people would choose to use a fifty year old text editor with a notoriously steep initial learning curve The alternative is just as steep, if not steeper.
- vladde 5mo agosmall fun fact: "vi" means "we" in Swedish "The we family" :)
- yrds96 5mo agoIn Portuguese "vi" means "saw" (past of see) and vim means "came", the last one being source of many inside jokes in one of my first jobs
- jvillasante 5mo agoI use Emacs but these days I spend so much time in the terminal that I'm seriously thinking going back to (N)Vim + Tmux combo. Emacs just feels so slow and complex when you are SSHing into multiple servers while running multiple AIs... I should go read that Vim book everybody recommends!
- mghackerlady 5mo agoNo! Don't go to the darkside, there's alternatives. OpenBSD has mg, which is good enough that it is now the default emacs on macos and is very small
- anthk 5mo agoNvi 2 (nvi under openbsd) has Unicode support. It's like BSD Vi but with Iconv. Perfect for my needs. On graphical Vis, I liked Cream, which almost made Vim seamless. https://cream.sourceforge.net/ https://cream.sourceforge.net/ Instead of GTK2/3, I prefer Athena Vim.
- ninjin 5mo ago> Nvi 2 (nvi under openbsd) has Unicode support. It's like BSD Vi but with Iconv. Perfect for my needs. My primary editor for text (not code) editing and e-mail. I just wish Unicode support made it into base vi(1) on OpenBSD, but for now I can at least use it for all other purposes other than the ones in the previous sentence.
- anthk 5mo agoIronically ed(1) supports Unicode under X if you XTerm and locale are set for that.
- selectedambient 5mo agoi can't :q you vim
- mghackerlady 5mo agoE37: No write since last change (add ! to override)
- selectedambient 5mo agovim will never be overridden.
- sys_64738 5mo agoPeople in the early days developed enough vi skills to allow them to get by. You could always be sure vi was installed on a remote system you were trying to access in the 90s. You also couldn't install stuff on this system and maybe you were accessing it from an ASCII terminal hooked into the serial port. This typically happened in a data center when you're trying to awkwardly use the terminal due to lack of space. Today I doubt that holds.
- mghackerlady 5mo agoOne of these days™ I want to add syntax highlighting to nvi/openbsd vi. Maybe remove the perl scripting (I don't like perl, but I do like tcl, much to RMSs dismay)
- matltc 5mo ago"No more mouse, no more mice, no more traps." https://youtu.be/9n1dtmzqnCU?t=71s https://youtu.be/9n1dtmzqnCU?t=71s
- jasoneckert 5mo agoI've used vi (and later vim and neovim) since the 1980s, and really enjoyed reading this site. I had no idea there were so many vi-able alternatives!
- NoSalt 5mo ago> "once you learn it, you can be ruthlessly efficient with your editing" This is no joke. I use it to "massage" data in all sorts of files (.json, .xml, .csv, .txt, etc.), with thousands to millions of lines, in no time at all.
- 1vuio0pswjnm7 5mo ago"If you're wondering why so many people would choose to use a fifty year old text editor with a notoriously steep initial learning curve, it's because once you learn it, you can be ruthlessly efficient with your editing." Been using vi for decades, mostly nvi and vim 4.6 since UNIX became available for the PC. I still feel like I only utilise a small fraction of what's possible. I believe I do many things "the slow way". In truth I prefer non-interactive editing, e.g., ed, sed, flex I once saw a video on YouTube that was a "meme" clip of a presenter doing some text manipulation with vi while sharing his screen at a conference. The clip had had been edited to suggest what he was doing with vi was somehow particularly impressive, e.g., mind-blowing "("mind blown") Everything he was doing was stuff I do all the time. I thought WTF
- rrvsh 5mo agoBelieve me, as someone who grew up coding in Eclipse and Visual Studio in the late 2000s and only learning about (neo)vi(m) in the last three years, it's mind blowing. Just different generations and how the coding culture has changed especially after VS Code blew up in the 2010s and thus was the only editor my generation would ever use for the most part
- panflute 5mo agoIt's curious to me that there is no rust reimplementation? Perhaps neovim would be a clearly defined target given lua script interpreters are already a clear interface.