Last updated: 2026-06-15 05:00 UTC
| Last year I released videre.nvim, a plugin that lets you explore JSON, YAML, and TOML in Neovim as a dynamic graph. It was a fun project, but the codebase resembled spaghetti. Adding features became a slog, and a bunch of things I wanted to build just weren’t possible with how the original version was structured. So I did the only reasonable thing: I nuked it and rewrote the whole plugin from scratch. The rewrite is finally done, and videre.nvim is in a much better place: cleaner internals, new features, and a way nicer editing experience overall. Highlights
The plugin is actually moving again instead of being stuck under its own weight. If you tried the old version, this is a big upgrade. If you haven’t tried it yet, now’s a great time. [link] [comments] |
| submitted by /u/TheTwelveYearOld [link] [comments] |
features:
- :restart v:starttime, v:exitreason
- treat Lua string as "blob" in writefile()
- vim.treesitter. select()
- vim.pos: buf=0, pos.offset()
- `opts.scope` in `vim.ui.input`
fixes: LSP, ui2, vim.pos, vim.range, ...
https://github.com/neovim/neovim/commit/35b57441b0bac035dcfc591830e82abc560720b1
| submitted by /u/wort_wort_wort [link] [comments] |
| Hi, If you ever wanted to have Which Key hints for nvim-surround, my new plugin has got you covered. I have a lot of custom surrounds and found myself in need of this functionality (e.g., “How did I configure Markdown links again?”) Enjoy [link] [comments] |
I saw this a while ago in this subreddit, but it appears that things have picked up fast and we're about to see it merged soon.
| Hello peoples, With the release of pierre-style diffs, my plugin diffs.nvim is now fleshed out. Whether you're a plain diff viewer or plugin author, diffs.nvim is the most comprehensive diff highlighter in the plugin ecosystem. See for yourself: diffs.nvim v0.4.0: various diffing methods Above are three diffing modes:
As a recap, diffs.nvim is a robust and efficient diff viewer providing syntax highlighting to diffs. It's a must have if you use NeoGit, vim-fugitive, or want a more lightweight alternative to something like codediff.nvim. Check it out here. As always, feel free to leave feedback. I'm hoping to get treesitter-based diff highlighting in core in the coming months. This would mean you could see syntax highlighting on patch and git-diff style buffers natively, just by (likely) setting an option. Lastly, I've learned a lot working on Neovim and learning from maintainers in recent months. Make sure to give them a shout-out for their consistency and hard work. Fun things ahead! [link] [comments] |
| When I’m deep in a task, I keep bouncing between a small set of files. I wanted something with near-zero thinking cost:
Inspired by flash.nvim and harpoon.nvim, I made QuickBuf. Why QuickBuf
Features
Repo: https://github.com/tjgao/quickbuf.nvim Would love for people to try it and share feedback/ideas. [link] [comments] |
| In this video, I showcase 10 Vim macro examples that I've used throughout my programming journey. Some of them are truly awesome!
[link] [comments] |
| Hey, I used lazy.nvim forever. But, recently I became worried about supply chain attacks and how neovim/lazy can fall victim to it. I was also curious about the new native package manager ( Every package update goes through a mandatory quarantine: fetch → 30-day cooldown → manual review (with optional inline AI diff analysis) → explicit approve/reject. Nothing installs without your say-so. Built on native `vim.pack`, zero external dependencies, lazy.nvim-compatible specs, semver support, BYOK AI review, dependency resolution, and a full dashboard UI. I've ran it daily with my 60+ plugins config, but would appreciate help debugging it. [link] [comments] |
| I created this plugin for my own use, and it evolved in my dotfiles over several months. Today, I decided to split it into a separate repository and publish it. https://github.com/kremovtort/tabterm.nvim [link] [comments] |
| Hello I am back again LOL! Fyler.nvim core rewrite is completed and user can use it for their general uses and this time it will work without breaking in some common cases. Release is not published yet! but i will publish it this sunday. I am preparing the github organization and transfer it there because there will be some other optional community asked extensions gonna live. There are some missing features that I haven't been implemented yet but those feature will be there in a week or two because i haven't decided their flow yet. If you wanna give me some advice on github organization then am all ears and you can access the rewrite here: https://github.com/A7Lavinraj/fyler.nvim/tree/refactor/quality-of-life Let me know what you think :) [link] [comments] |
| Just wanna share another addition to my config. I'm just bored. ``` local function define_word() local word = vim.fn.expand("<cword>") local buffer = vim.api.nvim_create_buf(false, true) local lines = nil if vim.fn.executable('dict') == 0 then vim.notify("dict executable not found", "ERROR") return end local command = vim.system({ "dict", word }, { text = true }):wait() if command.code ~= 0 then print(command.stderr) return end lines = vim.split(command.stdout, "\n", { plain = true }) vim.api.nvim_buf_set_lines(buffer, 0, -1, false, lines) local window = vim.api.nvim_open_win(buffer, true, { relative = "cursor", bufpos = { 0, 0 }, border = "single", width = 90, height = 25, style = "minimal", title = word }) vim.api.nvim_create_autocmd("WinLeave", { buf = buffer, once = true, callback = function() vim.api.nvim_win_close(window, true) vim.bo[buffer].bufhidden = "wipe" end }) print("Dictionary", word) end vim.keymap.set("n", "<leader>dc", define_word, { desc = "Dictionary" }) ``` What it does is it creates a floating window for the definition of the word that's in the cursor. It's just a floating window for the output of [link] [comments] |
I hope it's okay that I post this here. If not, just let me know and I'll remove it.
I made a small Neovim plugin called cppman.nvim for browsing C++ reference docs directly inside Neovim.
I use it myself quite a bit, so I thought I'd share it in case anyone else finds it useful, or has ideas for improvements.
It adds :CPPMan, uses cppman's local index, and opens the docs in a floating buffer. It also supports both fzf-lua and snacks.nvim.
I tried to keep it lightweight and not too opinionated.
Repo: https://github.com/simonwinther/cppman.nvim
Stars are appreciated if you find it useful.
| 📁 I've been using Oil for a long time and always felt a little friction from metadata being part of the editable buffer. So I made this: 🔗 https://github.com/ergodice/statuscol-oil.nvim ✨ Features
💭 Suggestions, feature requests, and feedback are very welcome! [link] [comments] |
| I've been building rubiks-cube.nvim — a playable Rubik's cube in a floating window: isometric ASCII render, Singmaster-notation keys, timer with best-time tracking, and optional auto-solve via kociemba. The feature that finally made me want to share it: press
Repo: https://github.com/xiangnongWu2233/rubiks-cube.nvim Feedback welcome — especially from anyone who actually learns to solve the cube this way! [link] [comments] |
| submitted by /u/star_damage_bash [link] [comments] |
| A lot of times I found myself losing my train of thought while switching between branches, so I just created nvim-scratchpad, a simple branch-aware scratchpad to take notes in markdown before I leave a branch. [link] [comments] |
| Hi guys! Minifugit.nvim nightly version has an improved split diff view. It does not rely on the built in diff anymore, they are custom buffers with improved highlighting. Try it if you find it interesting. Any feedback is welcome :) [link] [comments] |
I've just finished a very long-standing issue: support for multi-line links. I think that warrants a new release (v0.12), so here you go: https://github.com/lervag/wiki.vim/releases/tag/v0.12.
wiki.vim is a Wiki plugin for Vim and neovim.
If I understand correctly, Ctrl+o and Ctrl+i are the default keybindings for going back and forward in the text position navigation history.
I'm regularly using Ctrl+o for going backwards, but Ctrl+i is not working. Depending on where I'm at, it either does not do anything, or jumps somewhere else, it seems like it's switching between tabs. So I'm not sure what it's bound to.
Although I do have this config, because I use Tab to switch between tabs:
vim.keymap.set('n', '<tab>', '<cmd>tabnext<cr>', { desc = 'Next Tab' }) But this should not affect Ctrl+i, right?
What would be a way to figure out why Ctrl+i is behaving this way, so what it is bound to? In my nvim config I could not find it being explicitly set up anywhere. I also cannot see it with the Telescope keymap finder (although I can't find Ctrl+o there either).
Or the easiest solution would be to explicitly set Ctrl+i in my config to jump forward in the navigation history? If yes, could someone tell me what the exact mapping for that would be?
UPDATE: it was clarified by multiple commenters that due to how terminal emulators handle the Tab key, a key mapping for Tab and Ctrl+i clashes. So the problem is caused by my config specifying a mapping for `<tab>`, that overrides the built-in Ctrl+i mapping.
A workaround was posted in this comment: https://www.reddit.com/r/neovim/comments/1u3qbil/comment/or7hsyd/, which for me works properly in Ghostty.
I find it a bit uncomfortable to hijack the default s keybind that is present in the Vim for a long time.
matchparen.nvim https://github.com/monkoose/matchparen.nvim is alternative to built-in :h matchparen plugin.
Recently I have updated it to v2 It now uses coroutines internally to never block neovim UI. Not sure how it pressure the GC (have not tested it), but definitely not noticable. And cpu usage is usually lower than with built-in.
For anyone intrested why you should use it over built-in. You can try it with this example file https://gist.github.com/monkoose/b15955f48e9bf1d69f63e4b163ccd188
Just move the cursor (hold l/h) over curly braces on line 7. built-in plugin also has some bugs, where it highlights wrong pairs you can see it on line 31 inside the string.
It is definitely some extreme example, you are not usually edit such files. It just shows how faster and non-blocking it compare to built-in without benchmarks. And sometimes you do edit longline files and files with a lot of parentheses on a screen and when you do slowness of the built-in plugin is annoying.
Disclaimer: I'm not affiliated with the author. I just found this plugin useful and wanted to share it
I recently found codesettings.nvim, and it solves a very practical problem I ran into: project-local LSP and formatter behavior.
My concrete use case was Go formatting. Some Go projects want plain gofmt, while others prefer gofumpt. I didn't want to enable gofumpt globally in my Neovim config, because that is really a per-project formatting decision.
With codesettings.nvim, a project can define local LSP settings in files like .vscode/settings.json, codesettings.json, or lspsettings.json, and Neovim can apply those settings through the LSP before_init flow.
That means one project can opt into gofumpt, while another project can keep using regular gofmt, without changing my global Neovim config.
What I like about it:
nvim-lspconfig dependencyCompared with neoconf.nvim:
neoconf.nvim is more general-purpose, but it does not seem to be maintained very actively lately. it also still hard depends on old nvim-lspconfigcodesettings.nvim feels narrower in scope: load project-local settings and apply them to language servers. You have to apply them manually in before_initNot saying everyone needs to switch, but for native LSP setups where project-local settings matter, this plugin feels really convenient.