neovim-lua VS awesome-neovim

Compare neovim-lua vs awesome-neovim and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
neovim-lua awesome-neovim
25 130
799 14,049
- -
3.6 9.5
28 days ago 3 days ago
Lua
GNU General Public License v3.0 only Creative Commons Zero v1.0 Universal
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

neovim-lua

Posts with mentions or reviews of neovim-lua. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-18.
  • GitHub - brainfucksec/neovim-lua: Neovim KISS configuration with Lua - Update config with lazy.nvim and other changes.
    1 project | /r/neovim | 25 Feb 2023
  • Finally written my nvim config in lua here is the link of my dots https://github.com/mdk4if/nvimDots.git . It's not too good i am damn sure but i will make it better for sure . Thanks for reading
    2 projects | /r/neovim | 18 Jan 2023
    I used this as a starting point: https://github.com/brainfucksec/neovim-lua/blob/main/nvim/lua/core/options.lua, but remove matchit from the table.
  • LSP warnings when assigning most vim options
    2 projects | /r/neovim | 3 Jan 2023
    -- LSP Configuration & Plugins local M = { 'neovim/nvim-lspconfig', event = "BufReadPre", dependencies = { -- Automatically install LSP servers, DAP servers, linters, formatters 'williamboman/mason.nvim', -- Recommended when using mason together with LSP, bridges the gap 'williamboman/mason-lspconfig.nvim', -- Useful status updates for LSP 'j-hui/fidget.nvim', -- Additional lua configuration 'folke/neodev.nvim', -- Integration "hrsh7th/cmp-nvim-lsp", -- Integration 'kevinhwang91/nvim-ufo', }, } function M.config() require("mason").setup() local u = require("core/utils") -- Customizing how diagnostics are displayed, source: https://github.com/brainfucksec/neovim-lua/blob/main/nvim/lua/lsp/lspconfig.lua vim.diagnostic.config({ update_in_insert = true, float = { focusable = false, style = "minimal", border = "rounded", source = "always", header = "", prefix = "", }, }) -- diagnostic (l) -- See `:help vim.diagnostic.*` for documentation on any of the below functions local opts = { noremap=true, silent=true } u.bind(u.normal, "Show diagnostics in a floating window (#lsp)", "ll", vim.diagnostic.open_float, opts) u.bind(u.normal, "Goto next diagnostic (#lsp)", "ln", vim.diagnostic.goto_next, opts) u.bind(u.normal, "Goto previous diagnostic (#lsp)", "lp", vim.diagnostic.goto_prev, opts) u.bind(u.normal, "Show diagnostics list in location list (#lsp)", "lq", vim.diagnostic.setloclist, opts) -- Use an on_attach function to only map the following keys -- after the language server attaches to the current buffer local on_attach = function(_, bufnr) -- Enable completion triggered by vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') -- lsp (l) -- See `:help vim.lsp.*` for documentation on any of the below functions local bufopts = { noremap=true, silent=true, buffer=bufnr } u.bind(u.normal, "Jump to definition (#lsp)", {"ld", "gd"}, vim.lsp.buf.definition, bufopts) u.bind(u.normal, "Jump to declaration (#lsp)", {"lD", "gD"}, vim.lsp.buf.declaration, bufopts) u.bind(u.normal, "Jump to type definition (#lsp)", "lt", vim.lsp.buf.type_definition, bufopts) u.bind(u.normal, "Show implementations list in quickfix window (#lsp)", {"li", "gi"}, vim.lsp.buf.implementation, bufopts) u.bind(u.normal, "Show references in the quickfix window (#lsp)", {"lr", "gr"}, vim.lsp.buf.references, bufopts) u.bind(u.normal, "Show signature help in floating window (#lsp)", {"lk", ""}, vim.lsp.buf.signature_help, bufopts) u.bind(u.normal, "Show hover information in floating window (#lsp)", "lK", vim.lsp.buf.hover, bufopts) vim.keymap.set("n", "K", function() local winid = require("ufo").peekFoldedLinesUnderCursor() if not winid then vim.lsp.buf.hover() end end) u.bind(u.normal, "Rename buffer (#lsp)", "lR", vim.lsp.buf.rename, bufopts) u.bind(u.normal, "Select code action (#lsp)", "la", vim.lsp.buf.code_action, bufopts) u.bind(u.normal, "Format buffer (#lsp)", "lf", function() vim.lsp.buf.format { async = true } end, bufopts) -- workspace u.bind(u.normal, "Add buffer location as workspace folder (lsp)", "lw", vim.lsp.buf.add_workspace_folder, bufopts) u.bind(u.normal, "Remove buffer location as workspace folder (lsp)", "lW", vim.lsp.buf.remove_workspace_folder, bufopts) u.bind(u.normal, "List workspace folders (lsp)", "lL", function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, bufopts) u.bind(u.normal, "Show workspace diagnostics in Telescope (lsp)", "lQ", "Telescope diagnostics", bufopts) end -- nvim-cmp supports additional completion capabilities, so broadcast that to servers local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) -- Neovim hasn't added foldingRange to default capabilities, users must add it manually, source: https://github.com/kevinhwang91/nvim-ufo capabilities.textDocument.foldingRange = { dynamicRegistration = false, lineFoldingOnly = true } local mason_lspconfig = require("mason-lspconfig") local servers = { astro = {}, bashls = {}, cssls = {}, dockerls = {}, eslint = {}, graphql = {}, html = {}, jsonls = { on_new_config = function(new_config) new_config.settings.json.schemas = new_config.settings.json.schemas or {} vim.list_extend(new_config.settings.json.schemas, require("schemastore").json.schemas()) end, settings = { json = { format = { enable = true, }, validate = { enable = true }, }, }, }, tsserver = {}, marksman = {}, pyright = {}, tailwindcss = {}, yamlls = {}, sumneko_lua = { Lua = { workspace = { checkThirdParty = false }, telemetry = { enable = false }, diagnostics = { -- Get the language server to recognize the `vim` global. globals = { 'vim', 'require' }, }, }, }, } -- Setup neovim lua configuration require('neodev').setup() mason_lspconfig.setup { ensure_installed = vim.tbl_keys(servers), automatic_installation = true, } local lspconfig = require("lspconfig") mason_lspconfig.setup_handlers { -- This is a default handler that will be called for each installed server (also for new servers that are installed during a session) function (server_name) lspconfig[server_name].setup { on_attach = on_attach, capabilities = capabilities, settings = servers[server_name], } end, } -- Turn on lsp status information require('fidget').setup() end return M
  • What are best plugins for C++, Java, Kotlin, Python, & LaTex
    9 projects | /r/neovim | 30 Dec 2022
    I'm not a lua expert, so prior, I simply grabbed one off GitHub, and made a few changes. It's been okay, but does not support LSP for Java or Kotlin. And doesn't use fzf (telescope?).
  • Appending to errorformat breaks quickfix
    1 project | /r/neovim | 20 Nov 2022
    Disclaimer: It may appear that I know what the hell I am doing with lua, but I do not. I am using a lua configuration from here: https://github.com/brainfucksec/neovim-lua. I am appending the above to his options.lua and am copying his append example from above in the same file.
  • neovim-lua - Working on improvements for LSP and celebrating 2 years with Lua
    4 projects | /r/neovim | 18 Nov 2022
    neovim-lua
  • What is the most reliable neovim based editor?
    1 project | /r/neovim | 18 Nov 2022
    What I ended up starting with that worked out of the box was brainfucksec’s kiss setup
  • wanting to switch from vscode to neovim
    10 projects | /r/neovim | 26 Sep 2022
    Rather than NvChad, I think this might be a better place to start since it includes only those you need This playlist was very helpful: https://www.youtube.com/watch?v=ctH-a-1eUME&list=PLhoH5vyxr6Qq41NFL4GvhFp-WLd5xzIzZ
  • I am getting ready to make a new lua config and want a basic config to start with.
    4 projects | /r/neovim | 31 Aug 2022
    https://github.com/brainfucksec/neovim-lua I found this one pretty simple, still all the basics are covered.
  • Share any cool configuration templates that you know
    5 projects | /r/neovim | 11 Aug 2022

awesome-neovim

Posts with mentions or reviews of awesome-neovim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-19.
  • Enchula Mi Consola
    11 projects | dev.to | 19 Dec 2023
    Hay mas recursos en: Neovim's Awesome List.
  • Pimp your CLI
    13 projects | dev.to | 19 Dec 2023
    Make sure to checkout Neovim's Awesome List for more.
  • Show HN: Use Code Llama as Drop-In Replacement for Copilot Chat
    7 projects | news.ycombinator.com | 24 Aug 2023
  • My Favorite Vim Oneliners for Text Manipulation
    4 projects | news.ycombinator.com | 6 Aug 2023
    I personally don't use this functionality so I can't recommend a specific plugin, but if you search for “treesitter”/“tree-sitter” in this list, you will find several of them:

    https://github.com/rockerBOO/awesome-neovim

  • What IDEA or Vscode feature/function you want to have in neovim eco-system?
    16 projects | /r/neovim | 28 Jun 2023
    Does the community have a central repository of all plugins? I’ve used both this repo and neovim craft. If the latter creator has exposed the data via api that’s a fantastic plugin idea.
  • Neovim Boilerplate
    2 projects | /r/neovim | 22 Jun 2023
    I like the poster you made, and I think this can definitely help people who first creating their config :) Did you submit it to the big-list yet?
  • Ask HN: Vim vs. Neovim
    1 project | news.ycombinator.com | 20 Jun 2023
    > I'm using vim for a long time now, but recently I heard that neovim is noticeably faster. Is that true?

    Yes; of course, YMMV. Even if you use Neovim just like Vim, it's snappier—the refactor resulted in 30% less code.

    > Have most folks switched to neovim by now? Should I care?

    There's two broad groups. Users who have been using Vim for like 20 years and they have a configuration they like and see no reason to change.

    The other group wants all of the new hotness of Language Server Protocol, tree sitter, everything's asynchronous, there's a proper API and lots of new plugins that wouldn't be possible using Vimscript, for the most part.

    Check out https://neovim.io/doc/user/vim_diff.html#nvim-features for details.

    Being a Vim (now Neovim) user for close to 20 years, Neovim has attracted lots of new people to Vim-style editors and they've brought lots of energy. There's also been quite an influx of VS Code users.

    Neovim is not an IDE, but it can support many IDE-like features via plugins written in Lua. There are several Neovim distributions, which you can install quickly and play around without committing to anything [1]. LunaVim, LazyVim and AstroVim are popular Neovim distributions.

    It's important to understand that your existing .vimrc will Just Work if you want to start with that.

    [1]: https://github.com/rockerBOO/awesome-neovim#preconfigured-co...

  • Hey everyone I recently joined. Been using vim with basic plugin for past 4 years recently switched to neovim. How should I start ?
    4 projects | /r/neovim | 19 Jun 2023
    You can get some inspiration in the Awesome Neovim repo. Also, check lazy.nvim's README to see how to actually add and manage your plug-ins.
  • Vim for The VS Code User: Part 1 - Initial Setup
    5 projects | dev.to | 12 Jun 2023
    Collection of Awesome Plugins: https://github.com/rockerBOO/awesome-neovim
  • How could one learn to customize Neovim?
    5 projects | /r/neovim | 30 May 2023
    I started here: Awesome Neovim, it has a huge list of nice things to use for your own setup. I watched a few tutorials on youtube to know with which plugins to start.

What are some alternatives?

When comparing neovim-lua and awesome-neovim you can also consider the following projects:

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

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

vista.vim - :cactus: Viewer & Finder for LSP symbols and tags

diffview.nvim - Single tabpage interface for easily cycling through diffs for all modified files for any git rev.

Neovim-from-scratch - 📚 A Neovim config designed from scratch to be understandable

minimap.vim - 📡 Blazing fast minimap / scrollbar for vim, powered by code-minimap written in Rust.

NvChad - An attempt to make neovim cli as functional as an IDE while being very beautiful , blazing fast. [Moved to: https://github.com/NvChad/NvChad]

vim-airline - lean & mean status/tabline for vim that's light as air

Cozette - A bitmap programming font optimized for coziness 💜

my-lunarvim-config - My config for LunarVim

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

chadtree - File manager for Neovim. Better than NERDTree.