this post was submitted on 13 Jun 2023
15 points (100.0% liked)
Neovim
2183 readers
2 users here now
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Hey! I highly recommend checking out this starter config: https://github.com/nvim-lua/kickstart.nvim. From their readme:
To answer your question, vim (and consequently neovim) technically support a wide range of solutions for linting (there are a lot of plugins from the vim days, both language-specific and generalist), but nowadays neovim has leaned strongly into using LSP ("Language Server Protocol"), which was pioneered by the VS Code team.
Basically, in VS Code, when you get a language plugin, you're downloading a language server for that language, which is a program that your editor (whether VS Code or neovim) communicates with to get information that it then uses for linting, syntax highlighting, and code actions. The great thing is, these language servers are editor-agnostic; there are language servers for just about every language, typically written either by the language maintainers themselves, or by 3rd parties.
Neovim has built-in support for using LSP, but it can be a bit of a hassle to set up by hand. The configuration I've linked you has a pretty decent basic setup for that, including keybinds for common actions. It also has a couple plugins that make LSP stuff very easy, like Mason. I don't remember if it has null-ls, but if it doesn't, consider trying that out as well. The configuration in question uses a plugin manager called "Lazy"; it's linked in the documentation.
If you have any questions, let me know. Have fun!
Thank you!