How do I set up Neovim's built-in LSP client?
Answer
vim.lsp.buf.definition()
Explanation
Neovim has a built-in LSP (Language Server Protocol) client that provides IDE-like features without plugins. You just need to configure language servers.
How it works
- Neovim's built-in LSP client connects to language servers
nvim-lspconfigplugin simplifies server configuration- The client provides completion, diagnostics, go-to-definition, etc.
Example
-- In init.lua
require('lspconfig').pyright.setup{}
require('lspconfig').tsserver.setup{}
vim.keymap.set('n', 'gd', vim.lsp.buf.definition)
vim.keymap.set('n', 'K', vim.lsp.buf.hover)
vim.keymap.set('n', 'gr', vim.lsp.buf.references)
Tips
- Install:
Plug 'neovim/nvim-lspconfig' - Requires Neovim 0.5+
- Language servers must be installed separately (pyright, tsserver, gopls, etc.)
nvim-cmpplugin provides the completion UI:LspInfoshows LSP client status