4 ms·
Until vim 8, everything in vim ran in a single thread with little or no cooperative multitasking. So if you have a handful of plugins that do any non-trivial th
by sirtaj 10y ago
Until vim 8, everything in vim ran in a single thread with little or no cooperative multitasking. So if you have a handful of plugins that do any non-trivial thing with the contents of a buffer in real time - dynamic syntax highlighting, running an external process or other such things - pretty soon those milliseconds add up and there is a visible delay between your typing and the on-screen cursor. Vim 8's background tasks were created precisely to deal with these sort of problems.
- jorvi 10y agoVim 8 async was created to prevent/revert a massive exodus to NeoVim. The NeoVim team actually made a (solid) commit that Bram didn't outright reject, but wanted modified. He jerked around the NeoVim team, having them make lots of modifications and in the end basically said 'not gonna do it lol, who needs async anyway'. Out of that came NeoVim. Then NeoVim started to pick up major steam and lo and behold, Vim had async pretty quick.
- sirtaj 10y agoRight, I've heard that floating around, and it's true that neovim exists primarily due to the lack of async in vim. Whether or not it appeared in vim 8 because of neovim is something I can't personally answer.