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!

  • kahnclusions@programming.devM
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    2 years ago

    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.

    • chaoticAnimals@programming.devOP
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      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.

  • complacent_jerboa@lemmy.world
    cake
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    2 years ago

    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.

  • Jason Novinger@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    2 years ago

    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 the python 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.