The vi family
31 points by fanf
31 points by fanf
I would add these two smaller projects:
The better shells have a vi line-editing mode. I think they default to an emacs mode. At least in bash and zsh, you can use vi input line editing with the command: set -o vi
If you have a file $HOME/.inputrc with a line like: set editing-mode vi, some interactive programs with text entry (R and gnuplot for example) will give you vi style input line editing.
This is a feature of the gnu readline library, so anything that uses that will inherit the same settings too.
The better shells have a vi line-editing mode.
It’s required by POSIX! see under the “command line editing” heading at https://pubs.opengroup.org/onlinepubs/9799919799/utilities/sh.html
And it’s been in POSIX for a long time, the 1997 edition or earlier https://pubs.opengroup.org/onlinepubs/007908799/xcu/sh.html
I think saying nvi has "no UTF-8 support" is a bit misleading.
For normal modern UTF-8 workflows (source code, configs, logs, YAML, JSON, etc.) it works reasonably well in my experience. I use nvi daily in UTF-8 terminals without issues.
I think the more accurate statement is that nvi lacks full Unicode/multibyte handling compared to Vim, Neovim, or nvi2, especially for more complex languages/scripts.
I'd honestly include Zed in here. It has an excellent vi mode, on par with evil which is included. I've been using vim and then neovim for close to 20 years, emacs before that. Some time last year, I settled on Zed in vi mode and I couldn't be happier.