Lua Nvim

Open-source Lua projects categorized as Nvim | Edit details

Top 23 Lua Nvim Projects

  • NvChad

    An attempt to make neovim cli functional like an IDE while being very beautiful, blazing fast startuptime ~ 20ms to 70ms

    Project mention: Prettiest Neovim Setup | | 2022-05-09
  • LunarVim

    An IDE layer for Neovim with sane defaults. Completely free and community driven.

    Project mention: Is neovim good for webdevelopment? | | 2022-05-17

    I do web dev in nvim since 3 years. I rarely have any problems and never one I could not solve with some googling around/asking on discords for help. If you are like me and enjoy the keyboard-focused workflow of nvim but don't feel like nerding out with your own config, I very much recommend trying out one of the ready made distributions. Since half a year I use and I am quite happy, but there are others as well, ( comes to my mind.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • telescope.nvim

    Find, Filter, Preview, Pick. All lua, all the time.

    Project mention: Telescope too slow for large directories? | | 2022-05-16

    Telescope's performance is a bit more nuanced. TJ verbally confirmed (please take with grain of salt :D) that he will finish fps-mode for 0.1 (which I think lands beginning of July) which already will be another great performance boost. Furthermore, unless you actually need fuzzy matching (people don't realize they actually need "AND" in query terms..), then you can leave matching to rg or fd alone, similar to how telescope.builtin.live_grep works. Generally speaking, in the future, we also want to leverage rust to increase overall performance without compromising integration, refactor previewers, entry makers, enable ubiquitous multi selections, etc. However, that takes time :)

  • nvim-lspconfig

    Quickstart configurations for the Nvim LSP client

    Project mention: How can I Activate Sourcery | | 2022-05-19


  • packer.nvim

    A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config

    Project mention: Any point in switching to packer? | | 2022-05-16

    I think packer is great but vim-plug was simpler to deal with. I think once this PR gets completed, packer.nvim will become as easy to deal with.

  • AstroNvim

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

    Project mention: Please tell how the hell do I get completions for code in vim/neovim | | 2022-05-15

    You can try AstroNvim. Pretty easy to install and gives you pretty similar experience to VSCode.

  • neorg

    Modernity meets insane extensibility. The future of organizing your life in Neovim.

    Project mention: Introducing orgWiki.nvim | | 2022-05-10

    I use Neorg, it it possible to use your plugin with the *.norg extension or I would have to chance the extension of my files?

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • Neovim-from-scratch

    A Neovim config designed from scratch to be understandable

    Project mention: Why I’ve spent my Easter break customizing Neovim | | 2022-05-06

    I'm also a college student who went down the same rabbit hole recently. I found this github repo and video series super helpful for understanding how to create your own neovim config.

    One project that seems super cool I hope continues on is helix. I just started messing around with it but the selection -> action philosophy behind text manipulation feels much more intuitive to me even though I'm proficient with vim at this point.

  • nvim-lsp-installer

    Neovim plugin that allows you to seamlessly manage LSP servers with :LspInstall. With full Windows support!

    Project mention: Which lsp-server tool, coc or ale, or both, or another option. | | 2022-05-19

    From there you can (optionally) get nvim-lsp-installer

  • gitsigns.nvim

    Git integration for buffers

    Project mention: What are your prized/favorite lua functions? | | 2022-05-09

    FYI gitsign does trigger the event upon hunk operations; this would be fixed soon -- see GH-507.

  • bufferline.nvim

    A snazzy bufferline for Neovim

    Project mention: winbar now on nightly | | 2022-05-18

    Can we write clickable tabline in lua?

  • awesome-streamerrc

    Dotfiles for various streamers on Twitch.

    Project mention: Would it make sense to load my configuration as a lua plugin? | | 2021-05-27
  • Comment.nvim

    :brain: :muscle: // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more

    Project mention: Meus 10 plugins favoritos para o Neovim em 2022 | | 2022-05-13

    9 - comment.nvim

  • nvim-autopairs

    autopairs for neovim written by lua

    Project mention: nvim-autopairs VS autoclose.nvim - a user suggested alternative | | 2022-05-05
  • nightfox.nvim

    🦊A highly customizable theme for vim and neovim with support for lsp, treesitter and a variety of plugins.

    Project mention: Whats your favourite colorscheme in Vim/NeoVim? | | 2022-04-20


  • rust-tools.nvim

    Tools for better development in rust using neovim's builtin lsp

    Project mention: rust-tools.nvim inlay hints not working | | 2022-05-12
  • CodeArt

    Use NeoVim as general purpose IDE

    Project mention: Lua config with installer and a way to update config! | | 2021-10-30

    Link to project repo:

  • awesome-dotfiles

    Dotfiles for awesome people using the awesomewm linux environment (by WillPower3309)

    Project mention: Manjaro-Awesome | | 2021-06-03

    In case you didn't know these kinds of files are often called dotfiles (just because they're often named as something like .config) You can find people's personal dotfiles all over github or by just googling awesomewm dotfiles. I personally like Derek Taylor's (DistroTube) dotfiles, but I also found these right away by googling.

  • nvim

    🍨 Soothing pastel theme for NeoVim (by catppuccin)

    Project mention: Whats your favourite colorscheme in Vim/NeoVim? | | 2022-04-20


  • feline.nvim

    A minimal, stylish and customizable statusline for Neovim written in Lua

    Project mention: PSA: feline.nvim has switched from famiu/feline.nvim to feline-nvim/feline.nvim | | 2022-05-06

    Packer failed to update feline.nvim, and I saw that it's been moved to

  • nvim-bqf

    Better quickfix window in Neovim, polish old quickfix window.

    Project mention: What is your preferred way to look for LSP Code References in Neovim? | | 2022-04-15

    Personally I prefer nvim-bqf. It's a perfect plugin for me and has many highlights include:

  • mini.nvim

    Neovim plugin with collection of minimal, independent, and fast Lua modules dedicated to improve Neovim (version 0.5 and higher) experience

    Project mention: Only one pluggin | | 2022-05-09

    mini.nvim counts as just one plugin, right?

  • lspkind.nvim

    vscode-like pictograms for neovim lsp completion items

    Project mention: Anyone have autocomplete working with rust-tools, nvm-cmp, etc.? | | 2022-04-14

    -- Provide some indication that rust-analyzer is busy! local lsp_status = require('lsp-status') lsp_status.register_progress() -- Basic rust/lsp/cmp settings from local nvim_lsp = require('lspconfig') local opts = { tools = { -- rust-tools options autoSetHints = true, hover_with_actions = true, inlay_hints = { show_parameter_hints = false, parameter_hints_prefix = "", other_hints_prefix = "=> ", }, }, -- all the opts to send to nvim-lspconfig -- these override the defaults set by rust-tools.nvim -- see server = { -- on_attach is a callback called when the language server attachs to the buffer on_attach = lsp_status.on_attach, capabilities = lsp_status.capabilities, settings = { -- to enable rust-analyzer settings visit: -- -- and more: ["rust-analyzer"] = { -- enable clippy on save checkOnSave = { command = "clippy" }, } } }, } require('rust-tools').setup(opts) -- Setup Completion -- See -- Used for super-tab functionality local has_words_before = function() local line, col = unpack(vim.api.nvim_win_get_cursor(0)) return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil end local feedkey = function(key, mode) vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) end local lspkind = require('lspkind') local cmp = require'cmp' cmp.setup({ completion = { autocomplete = true }, -- Enable LSP snippets snippet = { expand = function(args) vim.fn["vsnip#anonymous"](args.body) end, }, mapping = { [''] = cmp.mapping.select_prev_item(), [''] = cmp.mapping.select_next_item(), [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.close(), [''] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true, }), -- Add tab support [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() elseif vim.fn["vsnip#available"](1) == 1 then feedkey("(vsnip-expand-or-jump)", "") elseif has_words_before() then cmp.complete() else fallback() -- The fallback function sends a already mapped key. In this case, it's probably ``. end end, { "i", "s" }), [""] = cmp.mapping(function() if cmp.visible() then cmp.select_prev_item() elseif vim.fn["vsnip#jumpable"](-1) == 1 then feedkey("(vsnip-jump-prev)", "") end end, { "i", "s" }), }, -- Installed sources sources = { { name = 'nvim_lsp' }, --, trigger_characters={'.', ":"} }, { name = 'vsnip' }, { name = 'path' }, { name = 'buffer' }, { name = 'nvim_lsp_signature_help' }, { name = 'nvim_lsp_document_symbol' }, }, -- Fancy symbols formatting = { format = lspkind.cmp_format({ mode = 'symbol_text', -- show both symbol & text for now maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) -- The function below will be called before any actual modifications from lspkind -- so that you can provide more controls on popup customization. (See [#30]( --before = function (entry, vim_item) --... --return vim_item --end }) }, completion = { autocomplete = true }, })

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-05-19.

Lua Nvim related posts


What are some of the best open-source Nvim projects in Lua? This list will help you:

Project Stars
1 NvChad 9,564
2 LunarVim 8,731
3 telescope.nvim 5,745
4 nvim-lspconfig 4,524
5 packer.nvim 2,839
6 AstroNvim 2,783
7 neorg 2,292
8 Neovim-from-scratch 2,166
9 nvim-lsp-installer 1,584
10 gitsigns.nvim 1,509
11 bufferline.nvim 1,188
12 awesome-streamerrc 979
13 Comment.nvim 963
14 nvim-autopairs 929
15 nightfox.nvim 846
16 rust-tools.nvim 825
17 CodeArt 737
18 awesome-dotfiles 731
19 nvim 690
20 feline.nvim 685
21 nvim-bqf 649
22 mini.nvim 554
23 lspkind.nvim 517
Find remote jobs at our new job board There are 8 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives