Well that's not true at least for vim.
: read !FOO
will run the FOO command and read the results back into the current buffer. I usually search my codebase by reading the results of a grep into a temporary buffer and 'gf'ing to the appropriate file
Recent versions of evil have the option of choosing undo backend, and I have found the new buildin one impeccable thus far.
I used to do that too, I now use the Ack plugin which is almost instantaneous on a codebase that grep used to take 2s-3s long to search. The speed isn't what matters though, it's the fact that Ack only searches source code, not all files so my results is less polluted with irrelevant matches.
...huh? I pipe things into vim absolutely all the time.
I don’t mean to be rude but this is exactly the sort of thing OP meant by “people recommending evil don’t understand why people like vi(m)”.
whatever_command | vim -
and edit the results as needed.Yes you can pipe stuff in and out, you can do in Emacs as well.
My point being that VIM isn't better than Emacs on this aspect, and they're not like other shell tools where COMMON usage is by piping stuff in and out; they're not like cat, more, wc. They live in their own space.
Not sure what you mean by this
> lose most of the seamless interoperability with other terminal tools
It's not like VIM is more or less interoperable than Emacs is with other shell tools. They live in their own space, you don't (often) pipe stuff in or out of it.
Though there's not much to read into my comment, it was an attempt of being witty, but evil mode is the best VIM implementation found in any editor and just for the fact that Elisp >> Vimscript, makes evil mode a better environment than VIM itself.