coc.nvim
Github repo: https://github.com/neoclide/coc.nvim
coc.nvim is an autocomplete plugin for Vim implementing completions on par with VSCode. It’s built using the same underlying “language server” mechanism. As a result, to get proper language completions you must install specific language sets (like coc-python).
Setup
You can set the extensions you want installed via the g:coc_global_extensions option. This will install the listed extensions if they are not already present.
Config file
The configuration file allows the user to customize specific language settings. These can be used directly by language servers, or can be picked up by coc-specific language extensions. Community extensions often have more features or smoother operation than some of the poorly maintained language servers.
Options
- Global config:
:CocConfigopens a config file - Install things using
:CocInstall
Settings
Settings can be set globally (using :CocConfig) for particular languages. The following JSON structure shows how these settings should look, with a language as key and the associated options (which can be found in the language specific repos).
{
"languageserver": {
"python": {
...,
<settings>,
...
}
}Statusline Integration
Use :h coc-status for details.
Current settings
- Python: currently have
pylintas a linter, and usingblackto reformat files on save (although this is not working properly at the moment).