Hi all! I installed nvim and completed the tutorial. I have been using CLion, PyCharm, IntelliJ IDEA, and VSCode. I primarily use an Ubuntu OS. I am open to a different distro.
When I tried to configure VSCode to allow me to use C++, Python, Java, and Assembly on one IDE it became unstable. Can nvim handle that?
Where do I go to figure how to customize this thing? For example, I don’t know what I should be installing for basic linting (I’m still a student). Do I need different modules for each language? Any resources would be most appreciated.
Thank you!
In addition to the others mentioned, I highly recommend trying out AstroNvim! It’s got a great set of defaults, based on lazy.nvim, and it’s easy to modify and extend.
I also do recommend taking the time to write your own config from scratch… even if you end up scrapping it just to use one of the pre-made configs, it’s worth it to learn how vim works. And you’ll quickly discover you have a new hobby in life… configuring your text editor.
Thank you! I’m very much into personalizing my tools. I’ve spent an embarrassing amount of time playing with Linux. I started to write my own configuration, but I quickly became lost in the lists of options. I wasn’t sure what was really necessary or which plugin was doing what.
Hey! I highly recommend checking out this starter config: https://github.com/nvim-lua/kickstart.nvim. From their readme:
A starting point for Neovim that is:
- Small
- Single-file (with examples of moving to multi-file)
- Documented
- Modular
This repo is meant to be used by YOU to begin your Neovim journey; remove the things you don’t use and add what you miss.
Thank you!
Hey @chaoticAnimals@programming.dev , I can’t answer that specific questions, as I don’t generally do anything with Java or Assembly. However, vim/neovim’s ability to target features base on filetype is really helpful. It means that you can configure any particular plugin or feature to only work with
*.py
files, which is thepython
filetype in neovim.I started with vim a long time ago and migrated to neovim a couple of years ago, so my personal configuration is kind of all over the place. With vim, I used things like python-mode which is all-in-one sort of Python plugin for vim.
Recently, on neovim, I’ve switched that out to use a Language Server Protocol plugin, like neovim/nsm-lspconfig for overall LSP configuration and language specific LSP servers, like python-lsp-server for Python.
You can get the LSP stuff for Python going by following the directions in neovim/nsm-lspconfig’s README and in the projects
server_configurations.md
.server_configurations.md
also contains tips for many other language/project specific LSP servers.I’ll see if I can boil my current config down to a minimum for LSP stuff later and post a link.
That would be so appreciated. Thank you for all the info too!
Hey @chaoticAnimals@programming.dev, my apologies for not getting back to this.
kickstart.nvim
that @howerddo@programming.dev mentions is exactly what I was thinking and is probably much better thought out.