// the find
mattn/vim-lsp-settings
Auto configurations for Language Server for vim-lsp
vim-lsp-settings is a companion plugin for vim-lsp that automates downloading and configuring language servers — essentially what VS Code extension marketplace does for LSP, but for Vim. It handles 80+ languages with per-server installer scripts and sane defaults, so you get gopls or rust-analyzer working in Vim without writing a dozen lines of vimrc. Maintained by mattn (prolific Vim ecosystem contributor) and actively updated as of mid-2026.
The coverage is genuinely wide — not just the popular languages but Odin, Veryl, Moonbit, TTCN-3, things you'd expect to have to wire up yourself. Each language server gets its own settings/*.vim file with correct executable detection and initialization options, so the defaults actually work out of the box rather than requiring you to consult upstream docs. The dual installer format (.sh + .cmd) means Windows users aren't second-class citizens, which is rare in the Vim plugin ecosystem. The per-project .vim-lsp-settings/settings.json override mechanism is the right call — it lets you commit project-specific LSP config without polluting your dotfiles.
There's no update mechanism: `:LspInstallServer` reinstalls from scratch, and there's nothing that tells you a newer version is available. You'll quietly run stale language servers until something breaks. Several servers are listed with 'No' for both Installer and Local Install (Haskell, Nim, Vala) — they're in the table but you're on your own, which makes the table misleading. The rust-analyzer LSP extensions support matrix shows most features as unimplemented (❌), meaning you're getting a degraded experience compared to rust-analyzer in VS Code or Neovim with nvim-lspconfig. Configuration is split across three places (vimscript globals, settings.json, per-server .vim files) with no clear priority documentation beyond what you can infer from the README.