r/neovim

deltaview.nvim update: v0.3.0 comes with quickfix list integration
▲ 34 r/neovim

deltaview.nvim update: v0.3.0 comes with quickfix list integration

Deltaview 0.3.0 allows you to populate the quickfix list with the list of files in a diff. I took some inspiration from the builtin plugin "difftool" (:h difftool) and decided to reduce the footprint of my plugin by making it friendlier for more vanilla setups.
https://github.com/kokusenz/deltaview.nvim#deltamenu-demo

u/simpsaucse — 18 hours ago
▲ 56 r/neovim+3 crossposts

Most of my workflow already lives in Neovim — code, prose, notes, scratchpads. The piece that always lagged was querying the notes. Plenty of tools let me grep them; almost none let me ask things like "all the drafts under tasks/q2 that link to people/alice" without leaving the buffer.

Turns out you can. IWE is a Rust binary (LSP server + CLI) that treats a directory of .md files as a queryable graph. Install once, use it from the editor over LSP and from the shell over :!.

The query language is small and reads like Mongo's:

iwe find --filter 'status: draft, priority: {$gte: 8}'

iwe find --filter 'author.email: {$exists: true}'

Frontmatter is the schema. Markdown links are the relationships — and there are two kinds, which the engine actually distinguishes:

  • An inline link in body text is a reference: "see also."
  • A markdown link alone on its own line is an inclusion link: containment. The linked document becomes a structural child of this one.

Each gets its own pair of operators:

iwe find --references people/alice # docs that link to Alice inline
iwe find --included-by tasks/alpha:0 # everything under alpha's tree (unbounded)
iwe find --included-by tasks/alpha:0 --references people/dmytro --filter 'status: draft'

That last line: drafts under the tasks/alpha subtree that also mention people/dmytro inline. Three relationships, three flags.

The same predicates drive iwe count, iwe update, iwe delete. Bulk-set frontmatter from the shell:

iwe update --filter 'status: draft, reviewed: true' \
--set status=published \
--set published_at=2026-05-02

update and delete require an explicit --filter (no accidental whole-corpus rewrites). --dry-run previews.

From inside Neovim, this composes two ways.

The same iwe binary is also a markdown LSP server, so the editing side feels like working in code:

  • gd — jump to linked notes
  • gr — find references / backlinks
  • K — hover preview of a linked note without opening it
  • Code actions for extract section to a new file, inline a referenced note, rename
  • Auto-complete for link targets as you type
  • Inlay hints showing parent context and link counts

There's a dedicated plugin — iwe.nvim — that wires the LSP up and adds Telescope integration with hierarchical path search (notes show as Journal ⇒ 2026 ⇒ Week 18 ⇒ Mon notes). Lazy / packer / vim-plug all work.

For querying, you don't need a special integration — the CLI is enough:

  • Output is plain text — pipe to jq, fzf, telescope, whatever.

Same install handles both: cargo install iwe and you have the LSP server + the CLI. The LSP runs against any folder of .md files; the CLI queries the same folder.

Side note: this also turns out to be a decent shape for AI agents. They use the same CLI you do, see the same files, and git log is your audit trail for whatever they touch.

Repo: https://github.com/iwe-org/iwe · Plugin: https://github.com/iwe-org/iwe.nvim

Curious what the heavy notes-in-Neovim crowd thinks, especially on the inclusion-vs-reference link split.

u/gimalay — 1 day ago
▲ 88 r/neovim

With nvim-treesitter archived, what are people doing?

I just updated my plugins for the first time in months. a bunch of my stuff is broken due to nvim-treesitter main branch becoming the default. I see that it's been archived and is now abandoned.

Are people continuing to just use the master branch? Is there an active fork that people are migrating to? How is the community handling this?

reddit.com
u/tcoff91 — 1 day ago
▲ 1 r/neovim

copy/past code from web?

Seasoned [n]vim users, how do you deal with copying text/code from the web?

As in my case I'd have to reach to the mouse (and firefox) and break the keyboard based workflow.

reddit.com
u/ntn8888 — 1 day ago
▲ 1 r/neovim

Roslyn LSP not working despite being installed

Despite the LSP showing as installed it still doesn't work

Prefacing this by saying that I'm completely new to Neovim (I just started trying to set things up yesterday). I followed the instructions (https://github.com/mason-org/mason.nvim) and (https://github.com/seblyng/roslyn.nvim) and through them, I was able to get Roslyn installed successfully.

Despite this, I can't seem to jump to documentation on any .NET classes/functions. For example I press `Shift + k` to try to look at documentation and I get an error: `E149: No help for System.Collections;` which is obviously a builtin namespace in .NET.

I have mason setup like so:

require("mason").setup({ registries = {   
  "github:mason-org/mason-registry",

  "github:Crashdummyy/mason-registry",
}, })

And this is in my package manager (packer.nvim):

use('mason-org/mason.nvim') 
use { 
"seblyng/roslyn.nvim",

module = 'roslyn.config',	
}

Any ideas?

Edit: Fixing formatting issues. I hate reddit sometimes.

Edit2: I was able to get it to work through some more tinkering using some of your guys' help! Thank you all for nudging me in the right direction!

reddit.com
u/Lentor3579 — 1 day ago
▲ 0 r/neovim

Requesting an apology to nvim-treesitter maintainer

As pretty much everyone in the neovim community is aware, nvim-treesitter was archived over a month ago:

https://github.com/nvim-treesitter/nvim-treesitter/discussions/8627#discussioncomment-16440673

It's unclear what the future is, although there has been some discussion about it being pulled into nvim.

In the meantime, has anyone bothered approaching the original maintainer and apologizing for the behavior of the clown that made those ridiculous comments and asking him to transition maintenance to someone else or to reopen it? A little humility goes a long way.

u/TapEarlyTapOften — 1 day ago
▲ 1 r/neovim

Test-running interface in nvim

So basically I'm trying to switch from IntelliJ because my ram can't handle my workload anymore. I've experimented for 2 months and feel in love with it. I've configured pretty much everything like autocompletion, syntax highlighting, mvn project creation... But the only that I still can't find is an interface to run JUnit5 tests like in IntelliJ. I can do it in the command-line but it's very hard on the eyes, especially when you have to cycle through 500 tests. So I wonder if any of you has a solution for this.

reddit.com
u/East-Thought-7939 — 1 day ago
▲ 0 r/neovim

why are file managers so unreliable with LSP import updates?

I've tried many file managers over the last few months and very few of them support LSP import updates when moving files around.

A lot of them that do felt really buggy untrustworthy. further, for many that do, it breaks as soon as you start moving many files at once or move the outer folders themselves with files in them.

some use the snacks on_file_rename API and some dont, but either way I still find there to be a lack of consistency.

Vsc*de used to do this perfectly and it is the only thing I miss. this feels like a first class feature to me; I find myself missing this when doing refactors during many of my refactor sessions. is there anyone out there that is using a file browser where this is working really well for them? I feel silly, is this simply not an issue to most people? am I holding the refactor workflow wrong?

reddit.com
u/superdumsuhi — 1 day ago
▲ 71 r/neovim

remote-ssh.nvim - Effortless Neovim remote development

Hey r/neovim,

I spent a few weekends building rnvim — a standalone Rust CLI that does one thing: connects your local Neovim UI to a Neovim instance running fully on a remote host.

Usage is just rnvim user@host, as long as both machines have nvim installed.

What makes it different:

This is my first contribution to the Neovim community, so I'd really appreciate any feedback — whether it's a bug, a missing feature, or just thoughts on the approach. Feel free to share it if you think others would find it useful!

reddit.com
u/OneFisherman168 — 3 days ago
▲ 46 r/neovim

obsidian-tasks.nvim, a plugin for creating task dashboards for obsidian.nvim

i've been using obsidian.nvim for a bit now which defaults to a zettelkasten method for storing notes. i actually love it, but the one thing i didn't love is that i like putting todo's in my notes and dailies and then they end up scattered all over my vaults.

i found the solution for that in the desktop obsidian app, the popular community plugin obsidian-tasks, which allows you to creates queries in notes that pull in tasks from across the whole vault so you can see them all in one place prioritized and organized; essentially making task dashboards. now i just litter my notes with tasks and can view them consolidated in a single view.

however, there wasn't a plugin for neovim... so i've ported it myself (using claude). so far i think it's going well; at least the implementation. the hardest part has actually been figuring out how to make it most usable in a "neovim" way since i've only been using neovim for about a year now (if that). i think my plugin has the spirit of how it should work in neovim...? but i'm not really sure tbh.

if this is useful for you i'd love if you gave it a try and even more would love if you had suggestions of how to improve it or make it more like a neovim plugin should be (this is the first plugin i've created).

i've been using it for a bit now so it's useable and has good tests. it basically activates for any markdown file that is in an obsidian vault. it reads `tasks` code fences as queries and renders the result into the buffer. saving the buffer only writes the query, not the rendered tasks, to your note. it supports editing the notes in-place in the dashboard (this was actually quite difficult to get right, and still might have some edge cases i haven't considered) and propagating those changes to the source notes. it also has some completions for tagging and attaching metadata to tasks.

so far i've been keeping query syntax parity with the community obsidian-tasks plugin so your notes should be cross-compatible _except_ for any that use javascript functions. i don't have a javascript runtime for the plugin setup but i'm planning to implement something of that sort in v2 to support the js queries and some advanced features like recurring tasks (the community plugin uses a js library for this).

let me know what you think! https://github.com/snapwich/obsidian-tasks.nvim

u/snapwich — 2 days ago
▲ 48 r/neovim

Configure ripgrep with just 15 lines of lua code (without telescope)

I was looking for a way to integrate Ripgrep into Neovim without using plugins, and I was quite surprised by how easy it is.

Video with details:
https://youtu.be/6Ok8n70syUw?si=G7LTKffFjShjK6ea

My repo:
https://github.com/FractalCodeRicardo/dev-config/blob/master/nvim/lua/my/ripgrep.lua

Code:

local function ripgrep(search)
  local result = vim.fn.systemlist("rg --vimgrep " .. search)
  vim.fn.setqflist({}, "r", {
    title = "Results",
    lines = result
  })
  vim.cmd("copen")
end

vim.api.nvim_create_user_command("Rg", function(args)
  ripgrep(args.args)
  end,
  { nargs = 1 })

https://reddit.com/link/1thtg3v/video/i9bypll9m42h1/player

reddit.com
u/NazgulResebo — 3 days ago
▲ 69 r/neovim

Minifugit.nvim - A minimal Git plugin

Hi guys!

> Sorry for the video quality, I wanted to show the spit diff :_)

I've been building this Git plugin for a month now. It has to be improved, but I think it's usable now.

I've been using vim-fugitive since I started using Vim/Neovim 5 years ago. It's an amazing plugin, and this is inspired by it.

The thing is that I think we don't need so much features in a Git plugin nowadays. We focus more on reviewing code. So diffs are the main thing I wanted to focus on while developing this plugin.

What you can do with this plugin:

  • Stage/Unstage files/hunks
  • Visual selection for staging/unstaging
  • Discard files/hunks with confirmation
  • Stacked/Split view
  • Commit
  • Push

If you try it, I hope you like it. As I said, it has still things to improve.

u/vieitesss_ — 3 days ago
▲ 47 r/neovim

Can't we just make a better DAP? Part 2.

DVAP *with gdb-dashboard

Some time ago I've written a post with the same title about my attempt to make Neovim debugging experience better by giving up on the DAP protocol and making one myself called DVAP:
https://www.reddit.com/r/neovim/comments/1rc47ys/cant_we_just_make_a_better_dap_i_tried/
In short - the main idea is to limit responsibility of the editor during a debugging session to just rendering and listing threads and breakpoint positions, as well as leaving everything else to the debugger's native interface for the sake of easier configuration and debuggee launching.

And I'm happy to say, that at least partially I succeeded.
Currently there are 3 supported debugger adapters:
- gdb
- lldb
- delve

All accesseble here:
https://github.com/Isletier/DVAP

As promised there is no non-UI configuration from the client side - just call plugin setup and all you need to do after is type the adapter server port to connect.

On the debugger side (for gdb and lldb) you just need to add a one-liner in .gdbinit and .lldbinit to source the adapter server python script. In the case of delve - things are not so bright, I did end up forking the debugger and modifying its front-end (the core debugger part is preserved as a dependency), since delve doesn't support the required extensibility.

What it takes to do the thing? Currently the whole protocol is based on HTTP SSE and looks like this:

selected;;{id};;{conc_type}||
thread;;{id};;{conc_type};;{file};;{line};;{os_thread_id}||
bp;;{id};;{file};;{line};;{nonconditional};;{enabled}

Aaand that's it, no, seriously, that's it. For comparison, the original Microsoft DAP protocol specification JSON is 4617 lines, I think it's less than the amount of lines I needed to implement all of the 3 adapters and the client.

However, there are some drawbacks to mention:
This approach shifts the configuration problem down the stack, but because the protocol is so simple, there is currently not much to configure except the server endpoint.
Also, the editor view model I chose means you cannot insert breakpoints directly through the editor. This sounds worse than it is in practice; debugger REPLs provide autocompletion for filenames, functions, and short paths for current file (like b 34 for line 34). For "far" breakpoints. Also, plugin provide a command that copies {file_path}:{line_number} to the system clipboard. It takes some time getting used to, but in the end costs no more keystrokes than the default approach.

So, I've done my best to polish this and welcome everyone interested to try it, I'm quite serious about supporting it further.
https://github.com/Isletier/nvim-DVAP-ui

If you have any questions/hesitations about the workflow - I will be glad to answer them below.
Next in the line are python and JS.

reddit.com
u/Szufliadka — 3 days ago
▲ 0 r/neovim

anybody knows how to prioritise oil.nvim with lz.n

here is the code snippet i've tried before, after but netrw seems to come out on top when i do nvim .```

return {

"stevearc/oil.nvim",

cmd = { "Oil" },

keys = {

{ "<leader>e", "<CMD>Oil --float<CR>", desc = "Open Oil floating window" },

},

before = function()

-- pretty print directory

function _G.get_oil_winbar()

local bufnr = vim.api.nvim_win_get_buf(vim.g.statusline_winid)

local dir = require("oil").get_current_dir(bufnr)

if dir then

return vim.fn.fnamemodify(dir, ":~")

else

return vim.api.nvim_buf_get_name(0)

end

end

-- Run the rest of your layout config safely here

require("oil").setup({

default_file_explorer = true;

win_options = {

winbar = "%!v:lua.get_oil_winbar()",

},

keymaps = {

["<leader>a"] = "actions.toggle_hidden",

},

})

end,

}
```

reddit.com
u/Dependent_Increase34 — 2 days ago
▲ 37 r/neovim

taskwarrior.nvim - edit your Taskwarrior database in Neovim

A plugin to combine the power of Taskwarrior with Neovim to manage your tasks.

  • Run :Tw to access your tasks from anywhere in Neovim
  • New to TaskWarrior? Run :TwTutor to use the built-in tutor.
  • &lt;leader&gt;ta allows you to add tasks from anywhere in NeoVim
  • It has six built-in visualizations: :TwBurndown, :TwTree (dependency graph), :TwSummary, :TwCalendar, :TwTags, :TwGraph (Mermaid).
  • Telescope picker (:Telescope task tasks) to quickly search
u/MattHandzel — 3 days ago
▲ 4 r/neovim

Best place for custom config

While reworking my config to switch to pack I revisted my custom config, like keymaps, autocommands, filetypes, opts, etc.

Where do you guys put that?

I have an init.lua for some basic stuff but like to separate thinks into dedicated files.

Plugins are loaded from plugin/ and I'm thinking about putting the config into after/plugin/. Any downside to that?

reddit.com
u/KubeGuyDe — 3 days ago
▲ 18 r/neovim

I’m testing graphical equation conceal for Typst/Markdown in Neovim

typst

markdown (compatible with stream output)

Recently, I added support for graphical equation previews to my plugin, math-conceal.nvim, based on amazing plugin typst-concealer by PartyWumpus.

This feature is still in the testing stage, but after more than a month of testing and tuning, it has become fairly stable. I’m happy with its rendering quality, performance, and behaves across multiple files.

Jump to errors via quickfix

Everyone is welcome to try it out. Once the feature is stable enough, it will be merged into the main branch.

reddit.com
u/StageEmpty7857 — 3 days ago
▲ 7 r/neovim

Weekly 101 Questions Thread

A thread to ask anything related to Neovim. No matter how small it may be.

Let's help each other and be kind.

reddit.com
u/AutoModerator — 3 days ago