- Are real windows showing real buffers. No shortcuts, hacks, or compromises.
- Can be (re)positioned, anchored, or "external" (if supported by the UI).
- Support all features and API of normal windows, plus more.
Screenshot showing floating window with 'winblend':
https://twitter.com/Neovim/status/1145446583573594112
Yes, that screenshot shows Nvim in a terminal. The 'winblend' feature works in all UIs, including the TUI (all terminals that support RGB colors).
> slightly concerned that neovim started to cut bloat in vim and ended up implementing a compositing window manager with fake transparency.
"Window manager" existed since vim got split-windows (1990s). Redesigning it as a compositor:
- isolates windows logically, so that UIs can do their own layout instead of being stuck with the TUI grid
- useful for implementing floating windows
- allows reasoning about layers instead of one grid driven by special-cases throughout the project
- helps with features such as "click through", z-index, etc.
The blending (fake transparency) was a small (~200 LoC) amount of code, added only for fun (and to ruffle feathers).
Thanks for all the work Neovim team!
I do recognize that I prefer software to be simpler than most people (for the record, much of the time I use ed(1)).
Though the idea is just pretty damn cool in general so I can't get too grumpy about it.
https://mobile.twitter.com/neovim/status/1101893773561348096...
tl;dr:
coc.vim is for those looking for a VSCode like experience out of nvim (stuff works out of the box requiring minimal customization, installing plugins to get the required functionality) where LanguageClient-neovim is for those who prefer a vim centric approach (extremely minimal, manually customizing everything to get it to fit you workflow).
If you are interested in LanguageClient-neovim you can checkout my config[2][3] you might find it helpful .
[0] https://github.com/autozimu/LanguageClient-neovim
[1] It shows documentation for completion list items in a floating window similar to VSCode.
[2] https://github.com/L0stLink/anvil
[3] https://github.com/L0stLink/anvil/blob/master/settings/Langu...
I've been running 0.4.0 since it came out for this feature.
Also I recommend you check out coc.vim for the best completer. It uses the same language server protocol that VS Code uses (and many of the plugins for coc.vim are forked fr VS Code plugins)