3 ms·
From what I remember, NeoVim drops vi compatibility mode. vi is part of POSIX. That alone would be a reason to mantain Vim as a modern superset of vi.
by tambourine_man 3y ago
From what I remember, NeoVim drops vi compatibility mode.
vi is part of POSIX. That alone would be a reason to mantain Vim as a modern superset of vi.
- revscat 3y agoNeovim is a superset of vim, so this argument applies to both.
- johncoltrane 3y agoNo, Neovim is not a superset of Vim. Vim has things that Neovim doesn't have and vice-versa.
- marcthe12 3y agoNeovim remove set compatible (hardcodes set nocompatible). Vim support the POSIX vi via that option.
- tambourine_man 3y agoNot quite. Vim is vi compatible by default. You have to explicitly opt in for the newer behavior.
- rgoulter 3y agoIn what circumstances would you run `vi` and find yourself upset that you end up in `vim`?
- tambourine_man 3y agoYou won’t, but vi is scriptable and part of POSIX. It’s a basic infrastructure that you don’t want to break.
- rgoulter 3y agoApparently the original vi isn't POSIX compliant; nor is vim. https://vimhelp.org/vi_diff.txt.html#posix https://vimhelp.org/vi_diff.txt.html#posix I think "if the script worked before, I want it to work later" has much more practical weight. Though, on the other side of practicality, I've heard sed, awk, and perl suggested for manipulating text in bash scripts far more than I've heard of vi recommended for the task.
- ansible 3y agoYes. If you need to do some text manipulation in a shell script, `sed` or something like that is what I'd reach for first. (I haven't used `awk` or Perl for quite a while.) I'd think even `ed` would be a more straightforward choice than `vi`.