The other big win is providing a embedding API so other editors can be built on top of the core editing engine. Which resulted in multiple interesting GUI projects which you can find in other comments.
Others are Lua plugin support, good terminal integration, way better default settings, ...
That's more to do with how you setup to trigger the commands.
Async here really means that it doesn't block with your typing, jumping around in the text editor if plugin starts doing some heavy work in the background due to some action that got triggered by whatever event you had setup for plugin to do. One of the plugin that I particularly remember was syntastic (I haven't kept up with it to know if they've fixed this or not) that would just create janks every now and then if the workload was heavy.
1) In visual mode you have a block cursor and in insert mode it is a |.
2) With ':set inccommand=nosplit' you get live previews for substitution calls. For example :%s/foo/bar/ will update your foos on screen whilst you type the command.
Otherwise it is pretty much a drop-in replacement without issues.
Except for the crashes. The crashes are an issue.
Don't get me wrong though, I like nvim. I use it occasionally.
But the crashes are an issue.
I've aliased vim to neovim a few years ago and it has not crashed once for me.
I generally start vim in my src folder on Monday and exit it on Friday. Occasionally, just on a whim, I run nvim instead. Mostly its fine. But the times I've experienced crashes or other hickups like rendering bugs forcing me to :qa!, it's been on nvim.
Edit: Oh and I run it in the terminal, iTerm2 to be precise.
——
(* IM could be discord, gitter, slack, or whatever.
I’d argue strongly against IRC because I think the lack of support for code blocks and especially newlines makes it harder to talk about code/stacktraces.)
They only real negative in my view is the startup time which is noticeably worse than vim for me. Advantages I see are
- unix clipboard and middle mouse pasteboard both work out of the box without having to recompile (ie "*p and "+p and the corresponding yanks just work) whereas on vim for whatever reason I always have to rebuild my distro vim and faff about with terminals for ages
- the substitution preview thing above is really great
- the "terminal" window type which I don't use much but a lot of people do
- the fact you have native support for python3 and python2 plugins simultaneously. Don't even want to think about how many goats had to be sacrificed to build that feature but it's cool
- the ":checkhealth" diagnostic screen that gives you useful info to allow you to easily fix any problems you're having with terminal and plugin setup
Check that this is not e.g. due to Python host detection/setup - you might have plugins that trigger both py2/py3 hosts to load for example. (hosts can be configured explicitly to skip it) Also check `nvim --startuptime /tmp/nvimlog`.