How to configure vim like an IDE

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

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. language-server-protocol

    Defines a common protocol for language servers.

    LSP stands for "Language Server Protocol", which defines how a language server and an editor (client) can communicate to provide code navigation, completion, etc. (source). Traditional IDE's would have something similar to this baked-in already, but proprietary to their software/language; whereas LSP is an open standard, so anything could implement it.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. coc-ccls

    CCLS (C/C++) extension for coc.nvim

    For vim specifically, I've been using coc.nvim, which works pretty well for my needs, and I know its quite popular. Another fairly popular one is YouCompleteMe, which I had taken a look at for some other languages; but ended up just using coc as I can't justify using YCM once a year (if that) -- too much "headache" for not a lot of use, you know?

  4. nerdtree

    A tree explorer plugin for vim.

    https://github.com/preservim/nerdtree I believe this has git integration.

  5. vim-signify

    :heavy_plus_sign: Show a diff using Vim its sign column.

    Not the job of a language-server. Check out git/VCS plugins instead (eg. vim-signify)

  6. LunarVim

    🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.

    LunarVim They also provide a "from-scratch" option, to be easier to understand

  7. zig.vim

    Vim configuration for Zig

    I'm not a fan of debuggers and whatnot, so I don't have anything for that, but I use zig.vim for Zig/C/C++/Obj. C/anything else integration like highlighting. Additionally, vim-scripts/a.vim can be used for alternating between implementation/header files. I don't use it myself but vim-snippets can be used for common snippets.

  8. Terminal

    Smally's very minimalistic dotfiles (by QSmally)

    If you want some inspiration, this is my vimrc

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. vim-awesome

    Awesome Vim plugins from across the universe

    I don't have a solution for each one of your points, but I'm going to point out a couple that are very useful for me at least (most of these can be found on a site like vimawesome or just native configuration/usage).

  11. vim-dispatch

    dispatch.vim: Asynchronous build and test dispatcher

    Tis is good for the compilation to make it async( otherwise it blocks) https://github.com/tpope/vim-dispatch it wraps around the built in make/makeprg feature. Would recommend that you dont do it with large builds/outputs.

  12. ale

    Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

    At some of those syntax things neovim behaves better, and like. But there is https://github.com/dense-analysis/ale.

  13. vim-dap

    Vim/Neovim debugger plugin providing a terminal interface to the Debug Adapter Protocol

    Debugger adapter protocol is what lsp is for language support. https://github.com/dradtke/vim-dap

  14. coc-clangd

    clangd extension for coc.nvim

    C/C++/Objective-C

  15. coc-java

    Java extension for coc.nvim

    Java

  16. coc-pylsp

    pylsp (python-lsp-server) extension for coc.nvim.

    Python has several here, pylsp, pyright & a fork of vscode-python

  17. SpaceVim

    Discontinued A community-driven modular vim/neovim distribution - The ultimate vimrc

    SpaceVim

  18. coc-pyright

    Pyright extension for coc.nvim

    Python has several here, pylsp, pyright & a fork of vscode-python

  19. coc-python

    Discontinued Python extension for coc.nvim, fork of vscode-python

    Python has several here, pylsp, pyright & a fork of vscode-python

  20. coc-rust-analyzer

    rust-analyzer extension for coc.nvim

    Rust

  21. veridian

    A SystemVerilog Language Server

    SystemVerilog

  22. rust_hdl

    rust_hdl

  23. ghdl-language-server

    Language server based on ghdl

    ghdl-language-server

  24. svls

    SystemVerilog language server

    svls

  25. YouCompleteMe

    A code-completion engine for Vim

    For vim specifically, I've been using coc.nvim, which works pretty well for my needs, and I know its quite popular. Another fairly popular one is YouCompleteMe, which I had taken a look at for some other languages; but ended up just using coc as I can't justify using YCM once a year (if that) -- too much "headache" for not a lot of use, you know?

  26. lsp-zero.nvim

    A starting point to setup some lsp related features in neovim.

    For neovim, you can still use the same extensions; however there's also a built-in LSP client. The downside of using the built-in is you'll need to have more extensions installed/configured to get all the features out of the box...BUT projects do exist to help simplify that, like lsp-zero.

  27. lazy.nvim

    💤 A modern plugin manager for Neovim

    At the moment, I'm working on migrating my config over the neovim with a few key changes -- lazy.nvim for lazyily-loaded plugins, lsp-zero instead of coc.nvim & a pure lua configration (exluding plugins).

  28. coc-snippets

    Snippets solution for coc.nvim

    For coc, there's coc-snippets

  29. vim-gitgutter

    A Vim plugin which shows git diff markers in the sign column and stages/previews/undoes hunks and partial hunks.

    vim-gitgutter

  30. vimspector

    vimspector - A multi-language debugging system for Vim

    vimspector

  31. nvim-dap

    Debug Adapter Protocol client implementation for Neovim

    (neovim only) nvim-dap

  32. nerdtree-git-plugin

    Discontinued A plugin of NERDTree showing git status

    git-nerdtree

  33. nvim-tree.lua

    A file explorer tree for neovim written in lua

    (Neovim) nvim-tree

  34. neo-tree.nvim

    Neovim plugin to manage the file system and other tree like structures.

    (Neovim) neo-tree

  35. spf13-vim

    The ultimate vim distribution

  36. NvChad

    Blazing fast Neovim framework providing solid defaults and a beautiful UI, enhancing your neovim experience.

    NvChad

  37. Neovim-from-scratch

    📚 A Neovim config designed from scratch to be understandable

    They also provide a "from-scratch" option, to be easier to understand

  38. doom-nvim

    Discontinued A Neovim configuration for the advanced martian hacker

    DoomNvim

  39. config

    🔧 My local laptop configuration. (by 4lb0)

    Except for the breakpoints and debugging most of the other things are configured in my config. You can start from there but beware you'll spend a lot of time configuring it.

  40. AstroNvim

    AstroNvim is an aesthetic and feature-rich neovim config that is extensible and easy to use with a great set of plugins

    You really want nvim. And if you don't already know, look at astronvim. It has all the IDE-like features, and whatever new plugins pop up for nvim, the community will try to include configs for them. The community packs of Astronvim are arguably its best features. https://github.com/AstroNvim/AstroNvim

  41. kickstart.nvim

    A launch point for your personal nvim configuration

  42. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
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

  • how to change the background color of code blocks in markdown file?

    3 projects | /r/neovim | 29 Jun 2023
  • What's your solution to move between " "?

    7 projects | /r/neovim | 29 May 2023
  • Color scheme changes when rust_analyzer finishes

    2 projects | /r/neovim | 28 Apr 2023
  • Why keeps you using vim vs neovim?

    13 projects | /r/vim | 4 Jan 2023
  • NeoVim Users: how do I have color highlighted matching do-end pairs. And how to automatically insert end after do?

    2 projects | /r/elixir | 20 Dec 2022