Today's follow-up entry is vi/vim.

Which I use depends on the situation. Classic vi/nvi tends to be lighter weight and start faster, while vim offers extra features that I find particularly useful). I usually just type `vi` which gets me `vi` on OpenBSD, `nvi` on FreeBSD, and `vim` (or `vim-tiny`) on most flavors of Linux. If I specifically want vim features, I'll invoke it as such directly.

I could go on for ages about favorite features, but a select few:

• the ability to keep my hands on the home row and not use a mouse is helpful for preventing RSI symptoms

• it's a language¹ of editing, involving counts, verbs/commands, and objects/motions, so I can express my editing *intent* and then use the period command to re-issue that same editing *intent*

• the :global or :substitute commands can make massive-yet-precise edits across huge files

• the :*do commands extend that power across multiple files, allowing me to precisely edit millions of lines across thousands of files with targeted precision

• it's ubiquitous—even as some Linux distros have started removing ed(1) from the base installs , relegating it to packages, I can always type `vi` on any Unix-like/POSIX system and be editing with a powerful editor. And with builds for Windows and my phone, I can use it everywhere. No need to install anything

• they work just fine over a SSH connection without a GUI, and use minimal resources so they work even on that old hardware from the 90s.


¹ gist.github.com/nifl/1178878

0

If you have a fediverse account, you can quote this note from your own instance. Search https://mastodon.bsd.cafe/users/gumnos/statuses/115667458624276058 on your instance and quote it. (Note that quoting is not supported in Mastodon.)