Today's follow-up #FreeSoftwareAdvent 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.⸻¹ https://gist.github.com/nifl/1178878