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:
:CocConfig
opens 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
pylint
as a linter, and usingblack
to reformat files on save (although this is not working properly at the moment).