← Back to context

Comment by kps

7 hours ago

I've used vi and nvi and (now) vim, and tried neovim, but :! is broken and “Conform to POSIX vi” is one of their “Non-goals”.

POSIX vi is so barebones that nobody* wants that.

Bare vi does not have windows, visual selection mode, multiple level undo, color schemes, etc.

NVim wants to improve some defaults, which cannot be done if it is beholden to all legacy code. That being said, I still think this specific undo example is insane.

Nvim's `:!` behaviour was a deliberate design decision, which is one of the reasons I just stick with Vim9.

  • What's the issue? I use nvim and regularly use :! and haven't noticed an issue.

    • It doesn't support interactive commands. For example if you run a command that asks for input before finishing, it gets swallowed.

    • It does something using neovim's internal terminal mode rather than use the file descriptors it was called with. Most commonly this breaks when a command produces an interactive prompt or uses a pager.