LazyVim

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

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

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

  • NvChad[1]is the first vim/neovim config that worked for me for coding. What I also like in NvChad is that all my custom configs can be placed under a `custom` directory, leaving the provided config as is and easing upgrades of NvChad itself. This doesn't seem to be the case with LazyVim.

    [1]: https://nvchad.com/

  • AstroNvim

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

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

    WorkOS logo
  • LunarVim

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

  • I can't comment on any implementation details, but at least with LunarVim (which I use for daily coding), a slowdown when interacting with LSP is very noticeable. Some others have attested to this on a GitHub issue.

    I'm not doubting your experiences with the lack of a slowdown, but there is truth that others do experience it. That might be more of a problem with LunarVim itself rather than Vim, but how likely am I (as someone who would like to avoid what he calls "config hell") or other newcomers to avoid whatever pitfalls there are, if a distribution designed for ease of use by people who know better fall into them?

    https://github.com/LunarVim/LunarVim/discussions/3359

  • kickstart.nvim

    A launch point for your personal nvim configuration

  • A much simpler alternative to this is kickstart.nvim. My approach to customizing my neovim config was to use kickstart as a reference, and slowly add things that I needed.

    https://github.com/nvim-lua/kickstart.nvim

  • lazy.nvim

    đź’¤ A modern plugin manager for Neovim

  • > Aside: It blows my mind that there are still plugin managers being invented for Vim. That's a bad sign for an editor. This shouldn't exist in userland.

    I'm not sure what you're talking about… the fact that plugin managers continue to be developed for Vim and Neovim tells us there are new use cases today that didn't exist 20 years ago. Neovim isn't your undergraduate Vi/Vim from back in the day.

    What's amazing is the plugin managers continue to improve, especially for Neovim.

    Lazy.vim [1] is amazingly good.

    Refactoring eliminated 30% of Vim's legacy code and the choice of Lua for the scripting language has unleashed a stunning amount of creativity in Neovim/Vim community.

    [1]: https://github.com/folke/lazy.nvim

  • mason.nvim

    Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.

  • helix

    A post-modern modal text editor.

  • this is basically why I moved to https://github.com/helix-editor/helix/ for most things. neovim setup is a nightmare these days. 0.5 introducing Lua was both great (yay! vimscript sucks!) and horrible (oh no, everyone took this power and made a full operating system worth of complex stuff out of it that rarely fits together cohesively, and it all updates so frequently now that I can't keep up)

    I don't actually think it's Lua's fault. And I don't necessarily want to jump and say "the improved accessibility of this thing turned it into an unusable circus", because that's both unnecessarily sassy and also likely prescribing blame in some places it doesn't fully belong. But there's something that tidally changed in that time, and especially in the past 2-3 years, my vim setup became a thing I dreaded updating (because it would 100% guaranteed, every time, break something about my workflow)

  • 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
  • lsp-zero.nvim

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

  • I went with a minimal approach ... I still use my `.vimrc` file, removed all code completion stuff and added LSP https://github.com/VonHeikemen/lsp-zero.nvim/blob/v2.x/doc/m... ... next step treesitter but i'm in no hurry :)

  • tokyonight.nvim

    🏙 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, Alacritty, iTerm and Fish.

  • ale

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

  • FWIW, I still use regular vim with ale [0] and it does everything I want. It formats files with Black and isort, shows ruff and pyright errors, supports jumping to definitions, and has variable information available on hover. I have collected my config over the past several years, but I pretty rarely encounter errors with it.

    [0]: https://github.com/dense-analysis/ale [1] https://github.com/CGamesPlay/dotfiles/blob/master/files/.co...

  • dotfiles

    My dotfiles (by CGamesPlay)

  • FWIW, I still use regular vim with ale [0] and it does everything I want. It formats files with Black and isort, shows ruff and pyright errors, supports jumping to definitions, and has variable information available on hover. I have collected my config over the past several years, but I pretty rarely encounter errors with it.

    [0]: https://github.com/dense-analysis/ale [1] https://github.com/CGamesPlay/dotfiles/blob/master/files/.co...

  • fzf.vim

    fzf :heart: vim

  • You might be interested in installing the fzf-vim plugin [0]. It has a user-defined command :Maps which can be used to search through all keybindings (you can also do this with just :nmap in vim, but the fzf interface is much nicer). It also provides :Commands. This behaves remarkably like VSCode's command palette.

    [0] https://github.com/junegunn/fzf.vim

  • nvim-lspconfig

    Quickstart configs for Nvim LSP

  • I see where you're coming from. FWIW, I've been using Neovim for an odd 7 years or so and only use plugins where absolutely necessary. I'll usually just add an appropriate BufWritePost (trigger after saving the buffer) autocommand for the language's file extension that does what I want. Or I'll add a keybind in .config/nvim/ftplugin/.vim (or .lua).

    The default LSP client config at https://github.com/neovim/nvim-lspconfig#suggested-configura... sets everything up for you, if you're using an LSP server. I'm not sure why it hasn't been merged into the Neovim repo; possibly because they want to keep the editor core fast and minimal.

    All this means you have to do a little more configuring than with something like VSCode, but to be honest, I haven't legitimately needed to make big changes to my config in a few years. There's stuff I add for fun (like little lua scripts to manage my clipboard and to layout tabs the way I want), but to maintain a 'VSCode' level of functionality none of it's needed. The advantage of spending a little extra time, for me, has been that my edit 'fits like a glove', so to speak :)

  • .vim

    :v: My Vim config (by fvgs)

  • My attention span for text editor configuration decreased drastically after I finished school. For better or worse, being a professional means making the correct trade off when time, money, and productivity are at stake.

    In the modern era, there are sufficiently many practical editors and IDE's with major economic investment behind making them highly functional out of the box. I simply cannot justify spending copious amounts of time configuring a text editor when there's sufficiently good and productive options out there.

    Looks like the last edit I published to my Vim config was 5 years ago <https://github.com/fvgs/.vim>

    But hey, maybe I'll find some "lazy" time to give LazyVim a go and give VSCode a break.

  • ChatGPT.nvim

    ChatGPT Neovim Plugin: Effortless Natural Language Generation with OpenAI's ChatGPT API

  • > A bit off-topic, but I wonder how much Copilot/GPT cuts into the market share of editors like vim and emacs.

    So you think that the two editors that have been around for nearly 100 years combined and are extremely customizable and have survived every coding fad, language and technology trend, is in danger from AI features?

    Short answer: no.

    Both Emacs and Neovim has first class support/implementations of Co-Pilot and GPT plugins.

    For example ChatGPT.nvim [1].

    [1]: https://github.com/jackMort/ChatGPT.nvim

  • which-key.nvim

    đź’Ą Create key bindings that stick. WhichKey is a lua plugin for Neovim 0.5 that displays a popup with possible keybindings of the command you started typing.

  • >The problem with that is that for some rarely used action one forgets...

    Install https://github.com/folke/which-key.nvim and you will always have a popup that will tell you what keys to use next.

  • vscode-neovim

    Vim mode for VSCode, powered by Neovim

  • You can have it both ways! Use neovim to handle key presses in VSCode, keep all the benefits of a text editor that (mostly) Just Works.

    - https://github.com/vscode-neovim/vscode-neovim

  • vscodium

    binary releases of VS Code without MS branding/telemetry/licensing

  • If you want to ditch m$ and still enjoy vscode, just use vscodium: https://vscodium.com/

  • coc.nvim

    Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

  • There are some plugins which have the best documentations I have ever seen, but you need to read it from the Vim.

    Example of coc.nvim: https://github.com/neoclide/coc.nvim/blob/master/doc/coc.txt

  • Visual Studio Code

    Visual Studio Code

  • I’ve felt similarly, and really wanted to switch to VSCode. But it gives each pane its own set of tabs, while Vim has a single set of “tabs” (buffers) and multiple panes within it.

    I’ve been using N/Vim for 25 years, and even after trying for a week or two, I just can’t get comfortable with VSCode’s way of doing it.

    https://github.com/microsoft/vscode/issues/143024

  • vimr

    VimR — Neovim GUI for macOS in Swift

  • unix-as-ide

    The ebook version of Tom Ryder's series on the Unix programming environment

  • > I've never understood why people and to extend vim to try to make it half of an IDE.

    Because vim ships with on any *nix machine and provides a consistent experience no matter where you use it.

    Vim is the DE part and people add plugins or whatever to enrich the text editing experience with LSPs or other language aware plugins, and the I in IDE is in the form of the integration with the tooling already available.

    This[0] might shed some better light on the "why"

    [0] https://blog.sanctum.geek.nz/series/unix-as-ide/

  • Launch.nvim

    🚀 Launch.nvim is modular starter for Neovim.

  • 100% and I dislike having two vim configurations to maintain which is why they also have https://github.com/LunarVim/nvim-basic-ide

    With LazyVim I basically got rid of the both, and now my vim config is literally a few overrides https://www.lazyvim.org/configuration/general that are not distribution specific at all.

  • 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