Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Depending on your use case that might be more work than it's worth. For example, setting up LSP for C is totally worth it, but for a shell script just running a linter like shellcheck when you save might be good enough. As with everything, you need to find your personal balance between features and complexity.
So what about servers and how do you get them? Examples of servers are clangd, Python language server by Palantir, Lua language server by Sumneko or Typescript language server. There is a handy list on the official website. Some clients can install servers for you, but some deem that as going too far. Some servers you can simply install through a package manager, some you will have to build from source. It really depends, I am using both kinds.
YCM is a client. The client is a plugin for Vim or Neovim, even the "built-in" client in Neovim is just a Lua plugin that is included with the editor, it's not really built-in. Examples of other clients:LanguageClient-neovim, vim-lsp, ale.
Different clients have different features and need to be configured differently. I use the built-in Neovim client, which is really just a Lua library with some universal defaults. It does not included any server configurations, but there is nvim-lspconfig which has good default configurations for a number of servers.