Roadmap for learning NeoVim. What's the minimum I need to know to turn NeoVim into an IDE?

This page summarizes the projects mentioned and recommended in the original post on /r/neovim

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Launch.nvim

    🚀 Launch.nvim is modular starter for Neovim.

    Then I think to get an IDE quickly I second the earlier post and start with the NVim basic IDE (from GitHub). I did start with the previous version, Neovim from Scratch, and used it for a large project successfully, with very minor changes. I also watched the corresponding YouTube series which helped me understand the plugins. The versioning issue can be resolved very easily (in Neovim from Scratch) by running :PackerSync (name of config) and never upgrading the plugins or editor until it is convenient to debug issues. If something breaks the (working) PackerSync config can always be restored. So I didn't find it necessary to pin every plugin in the Neovim init section. Also I limited the treesitter languages to what I am actually using.

  • dotfiles

    This is mine. https://github.com/prdanelli/dotfiles/tree/main/nvim

  • 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.

  • helix

    A post-modern modal text editor.

    A third alternative, which you can set up in less than an hour, but doesn’t have a plug-in eco-system or debugger (if you use) yet is Helix: https://github.com/helix-editor/helix

  • nvim-lspconfig

    Quickstart configs for Nvim LSP

    Once you have enough knowledge you can move on, configure lsp with nvim-lspconfig and maybe consider using nvim-cmp for your autocompletion needs.

  • nvim-cmp

    A completion plugin for neovim coded in Lua.

    Once you have enough knowledge you can move on, configure lsp with nvim-lspconfig and maybe consider using nvim-cmp for your autocompletion needs.

  • nvim-lint

    An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support.

    Other tools that can enhance neovim further are nvim-lint, null-ls and nvim-dap. Check out their documentation before doing anything, make sure you understand what they do.

  • null-ls.nvim

    Discontinued Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

    Other tools that can enhance neovim further are nvim-lint, null-ls and nvim-dap. Check out their documentation before doing anything, make sure you understand what they do.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • nvim-dap

    Debug Adapter Protocol client implementation for Neovim

    Other tools that can enhance neovim further are nvim-lint, null-ls and nvim-dap. Check out their documentation before doing anything, make sure you understand what they do.

  • nvim_dir

  • nvim-lua-guide

    Discontinued A guide to using Lua in Neovim

  • awesome-neovim

    Collections of awesome neovim plugins.

    You’ll also want to browse this subreddit and plugin collections (like this: https://github.com/rockerBOO/awesome-neovim) to find new things you couldn’t do in your current tools.

  • Neovim-from-scratch

    📚 A Neovim config designed from scratch to be understandable

    Then I think to get an IDE quickly I second the earlier post and start with the NVim basic IDE (from GitHub). I did start with the previous version, Neovim from Scratch, and used it for a large project successfully, with very minor changes. I also watched the corresponding YouTube series which helped me understand the plugins. The versioning issue can be resolved very easily (in Neovim from Scratch) by running :PackerSync (name of config) and never upgrading the plugins or editor until it is convenient to debug issues. If something breaks the (working) PackerSync config can always be restored. So I didn't find it necessary to pin every plugin in the Neovim init section. Also I limited the treesitter languages to what I am actually using.

  • kickstart.nvim

    A launch point for your personal nvim configuration

    kickstart.nvim is a launch point for your personal nvim configuration. ..meant to be used as a starting point for a user's own configuration; remove the things you don't use and add what you miss. This configuration serves as the reference configuration for the lspconfig wiki.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts