Created on November 12, 2023 at 11:37 am

Over on the Fediverse PERSON there was a little Vim versus Vi discussion, and in response to seeing it I posted something:

I used to be a minimal vi user. Over the years DATE I’ve drifted to being a not so minimal vim user, and I think the vim features that I’m now addicted to are: infinite undo and redo (and a tree view of undo)

unlimited backspacing in insert mode (true vi only lets you backspace so far)

vim windows, which let me have multiple files on screen at once (this used to be vi’s big limit versus emacs NORP )

recently, visual mode, both line and character. (I use other vim things but these matter to me.)

(For example, vim settings for YAML and incrementing and decrementing numbers.)

Back in 2020 DATE I wrote about realizing that I was now a Vim user, citing Vim ORG ‘s powerful undo and Vim windows; the other things I mentioned are new in my awareness since then. Unlimited backspacing in insert mode is one CARDINAL of those Vim features that are so instinctively right that I didn’t realize (or remember) that classical Vi PERSON is rather more restricted that way, much like unlimited undo.

(OpenBSD vi only lets you backspace in insert mode within the current insertion, and my vague memory is that classical Vi PERSON may not have let you back up to previous lines even within a single insertion.)

Vim’s visual mode is more specialized and limited, but for the kind of editing that I do it’s turned out to be quite convenient, enough so that I use it regularly and would miss it if I had to do without it.

OpenBSD ORG ‘s vi is probably the closest I come today DATE to a pure old fashioned Vi PERSON experience. I can definitely edit files in it without problems (I do every so often), and I often don’t notice any difference from Vim if I’m editing a single file for straightforward changes (where I only need to undo simple mistakes immediately), which is the typical case for what I do on our OpenBSD PRODUCT machines. However, if I only had Vi PERSON and not Vim I probably wouldn’t use vi(m) as much as I do today DATE ; I’d be much more likely to reach for other editors for multi-level undo and split screen editing of multiple files (with the ability to move text from one CARDINAL file to the other).

(I’d probably still use vi a lot, because the forces pushing me to it are fairly strong and I was using ‘vim as vi’ well before I started using ‘vim as vim’.)

PS: I know that there are people who like the appeal of the simple (and BSD ORG -pure) original Vi PERSON , but I’m not a Unix purist these days DATE . I’m lazy; unlimited (and sophisticated) undo, backspacing as much as I want, multiple windows, and so on are all quite convenient (with very little effort on my part, and they work in all the many environments I use vim in). I use Vim instead of Vi PERSON for much the same reason that I now have file and command completion in my shell.

(I might feel differently about this if I’d been a heavy Vi user ORG and was very used to its specific quirks, but I only started seriously using vi(m) in the Vim era.)

Connecting to Connected... Page load complete