coc.nvim — самый популярный LSP-клиент для Vim. Требует Node.js.

# установить Node.js если нет
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt install nodejs

Добавить в ~/.vimrc (после plug#begin):

Plug 'neoclide/coc.nvim', {'branch': 'release'}

Запустить :PlugInstall, затем установить расширение для нужного языка:

:CocInstall coc-pyright      " Python
:CocInstall coc-tsserver     " TypeScript / JS
:CocInstall coc-sh           " bash/sh

Добавить бинды в ~/.vimrc:

" автодополнение по Tab
inoremap <silent><expr> <Tab>
  \ coc#pum#visible() ? coc#pum#next(1) : "\<Tab>"
inoremap <expr> <S-Tab> coc#pum#visible() ? coc#pum#prev(1) : "\<S-Tab>"
inoremap <expr> <CR> coc#pum#visible() ? coc#pum#confirm() : "\<CR>"

" go-to-definition
nmap <silent> gd <Plug>(coc-definition)
" показать документацию
nnoremap <silent> K :call CocActionAsync('doHover')<CR>
" список ошибок
nnoremap <silent> <space>e :CocList diagnostics<CR>

Диагностика (ошибки/предупреждения) отображается прямо в строке редактора — без лишних окон.

#linux #vim #lsp #sysadmin