neovim-lua
awesome-neovim
Our great sponsors
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 |
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
- GitHub - brainfucksec/neovim-lua: Neovim KISS configuration with Lua - Update config with lazy.nvim and other changes.
-
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
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
-- 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
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
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
neovim-lua
-
What is the most reliable neovim based editor?
What I ended up starting with that worked out of the box was brainfucksec’s kiss setup
-
wanting to switch from vscode to neovim
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.
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
awesome-neovim
-
Enchula Mi Consola
Hay mas recursos en: Neovim's Awesome List.
-
Pimp your CLI
Make sure to checkout Neovim's Awesome List for more.
- Show HN: Use Code Llama as Drop-In Replacement for Copilot Chat
-
My Favorite Vim Oneliners for Text Manipulation
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?
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
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
> 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 ?
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
Collection of Awesome Plugins: https://github.com/rockerBOO/awesome-neovim
-
How could one learn to customize Neovim?
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?
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.