How to configure vim like an IDE

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

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • 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.

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

    InfluxDB logo
  • 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?

  • nerdtree

    A tree explorer plugin for vim.

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

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

  • 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

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

  • Terminal

    Smally's very minimalistic dotfiles (by QSmally)

    If you want some inspiration, this is my vimrc

  • SaaSHub

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

    SaaSHub logo
  • 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).

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

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

  • 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

  • coc-clangd

    clangd extension for coc.nvim

    C/C++/Objective-C

  • coc-java

    Java extension for coc.nvim

    Java

  • coc-pylsp

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

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

  • SpaceVim

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

    SpaceVim

  • coc-pyright

    Pyright extension for coc.nvim

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

  • coc-python

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

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

  • coc-rust-analyzer

    rust-analyzer extension for coc.nvim

    Rust

  • veridian

    A SystemVerilog Language Server

    SystemVerilog

  • rust_hdl

    rust_hdl

  • ghdl-language-server

    Language server based on ghdl

    ghdl-language-server

  • svls

    SystemVerilog language server

    svls

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

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

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

  • coc-snippets

    Snippets solution for coc.nvim

    For coc, there's coc-snippets

  • vim-gitgutter

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

    vim-gitgutter

  • vimspector

    vimspector - A multi-language debugging system for Vim

    vimspector

  • nvim-dap

    Debug Adapter Protocol client implementation for Neovim

    (neovim only) nvim-dap

  • nerdtree-git-plugin

    Discontinued A plugin of NERDTree showing git status

    git-nerdtree

  • nvim-tree.lua

    A file explorer tree for neovim written in lua

    (Neovim) nvim-tree

  • neo-tree.nvim

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

    (Neovim) neo-tree

  • spf13-vim

    The ultimate vim distribution

  • NvChad

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

    NvChad

  • Neovim-from-scratch

    📚 A Neovim config designed from scratch to be understandable

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

  • doom-nvim

    Discontinued A Neovim configuration for the advanced martian hacker

    DoomNvim

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

  • 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

  • kickstart.nvim

    A launch point for your personal nvim configuration

  • 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

Did you konow that Lua is
the 15th most popular programming language
based on number of metions?