neovim-lua
fzf.vim
Our great sponsors
neovim-lua | fzf.vim | |
---|---|---|
25 | 157 | |
799 | 9,401 | |
- | - | |
3.6 | 6.6 | |
27 days ago | 2 days ago | |
Lua | Vim Script | |
GNU General Public License v3.0 only | MIT License |
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
fzf.vim
-
What are some plugins that you can't live without?
Fuzzy Finder: fzf.vim (for its speed) along with telescope.nvim (for its ecosystem)
-
Ripgrep is faster than {grep, ag, Git grep, ucg, pt, sift}
https://github.com/junegunn/fzf.vim
And added my keyboard shortcuts.
-
A Practical Guide to fzf: Vim Integration
There are two plugins allowing us to use fzf in Vim: the native fzf plugin directly installed with fzf, and fzf.vim. The second plugin is built on the first one.
-
LazyVim
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
-
Manual page in vim with fuzzy search with preview, documentation with cherry on top.
You'll also need https://github.com/junegunn/fzf.vim (which is imo the only vim plugin that's a must).
-
I use the default file browser in vim (netrw). I know there are plugins that a lot of people like. Should I switch?
I do all my file operations from the command line. But to open and search files I use fzf
-
How to use popup and fuzzy in vim9
Regarding plugins , I am using https://github.com/Donaldttt/fuzzyy because it works in windows, unlike https://github.com/junegunn/fzf.vim
-
Alternative to harpoon for vim to quickly navigate few files/buffers
There's a :Buffers command in fzf.vim that I use extensively. It opens a fuzzy-find window with all open buffers in a MRU list.
-
fzfx.vim: E(x)tended fzf commands missing in fzf.vim
Thanks to fzf.vim and fzf-lua, everything I learned and copied is from them.
-
jfind: over 130x faster than telescope + telescope-fzf-native
they're likely referring to fzf.vim, the vimscript plugin from the original fzf author that wraps around fzf. there's also fzf-lua nowadays.
What are some alternatives?
NvChad - Blazing fast Neovim config providing solid defaults and a beautiful UI, enhancing your neovim experience.
telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.
vista.vim - :cactus: Viewer & Finder for LSP symbols and tags
ctrlp.vim - Fuzzy file, buffer, mru, tag, etc finder.
Neovim-from-scratch - 📚 A Neovim config designed from scratch to be understandable
nerdtree - A tree explorer plugin for vim.
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]
fzf-lua - Improved fzf.vim written in lua
Cozette - A bitmap programming font optimized for coziness 💜
harpoon
packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
nvim-tree.lua - A file explorer tree for neovim written in lua