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
