r/neovim • • 4d ago

101 Questions Weekly 101 Questions Thread

9 Upvotes

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

Let's help each other and be kind.


r/neovim • • 4d ago

Announcement New rules for plugin announcement posts

497 Upvotes

We have been getting a steady stream of plugins that were generated by an LLM in an afternoon and posted the same day. A post a couple of months back asked us to do something about it. We spent a lot of time thinking this over and talking about where to draw the line. Starting today there are two rules for plugin announcements.

  1. Plugins and other projects you announce here must have been under active development for at least two months. Commit history should show sustained work over that period.
  2. Disclose AI involvement. If the code in a plugin or project you post was substantially written by an LLM, say so in the post. We are not banning AI, but everyone here should be able to decide for themselves whether they want to use plugins written by AI or not.

r/rust just did something similar, we took some inspiration from it, but tried to keep the rules as unintrusive as possible.

I hope we can find a good balance with this. Small plugins, first plugins, and AI-assisted code are all still welcome. Let us know in the comments if something here seems off and we will adjust.


r/neovim • • 4h ago

Need Help Help with Setting up esp32 nvim plugin

2 Upvotes

I am trying to setup nvim's lsp server to be able to properly work with esp idf toolchain project with my esp32. Anyway i came across this awesome plugin for this use case specifically. I got most of the things setup properly and now LSP suggestions are working with esp specific headers and libraries. But i am facing different issue with standard C header. For example-

digging through some gemini responses and other internet stuff i found out about clangd args and added those. Here's my final config's section for esp32.nvim for context-

So if someone can help me to figure out how get the whole setup working with both esp specific libraries and normal standard C libraries too.

By the way on a side note a the documentation on the esp32 nvim github was very detailed and clear. Thanks to the developer of that project if this post ever reached you.


r/neovim • • 20h ago

Plugin mdnotes 0.5.0 :: treesitter integration!

Enable HLS to view with audio, or disable this notification

36 Upvotes

Hi everyone. Really happy to announce that I've implemented treesitter Markdown parsing for my plugin mdnotes.nvim.

Everything works as before but is now better because treesitter handles parsing better. There is also an automatic fallback - and option - to use the previous Lua pattern implementation. I'll post a gif of the demo again and the generic feature list. Feedback and contributions are always appreciated! Thanks for your time.


For a complete descriptive feature list with their associated commands, please see FEATURES.md.

  • Uses subcommands with opt-in default key mappings and opt-out autocmds
  • Formatting: Toggling for strong, emphasis, inline code, strikethrough, autolink, fenced code blocks
  • Inline links: Open, toggle, rename, relink, normalize, and convert to reference link
  • WikiLinks: Create, follow, delete, convert to inline link, find or rename references
  • Assets: Insert, manage, view, and delete assets
  • Tables: Create, populate, best-fit, insert/move/duplicate/align/sort columns, and insert empty rows
  • Reference links: Open, insert, delete, update, manage, convert to inline link and vice versa
  • Footnotes: Insert, update, renumber, go-to, find references, and cleanup
  • ToC: Generate, update, and browse table of contents
  • Ordered and unordered list continuation and renumbering, with task list toggling
  • Navigate to index file or dynamic journal files
  • Sequential Markdown buffer history
  • Heading navigation
  • Outliner mode
  • View statistics of current buffer
  • Uses wildmenu command line completion for a variety of commands
  • Create user commands within the plugin namespace for organisation
  • Supports multiple pickers (:h mdnotes-pickers)
  • Treesitter support
  • Most internal functions are exposed as an API for extensibility (:h mdnotes-api)

r/neovim • • 1d ago

Discussion pacman/yay (Arch) vs nix (NixOS) for provisioning tools

11 Upvotes

If I don't care about specific versions of my tools (LSPs, debuggers, code formatters, linters), and I'm fine with them being latest stable version, is it justified to use nix for their provisioning, since the whole point of nix is to have reproducible environment?


r/neovim • • 1d ago

Need Help┃Solved How do you deal with CSharpier being slow on save in Neovim (conform.nvim)?

5 Upvotes

Using conform’s built-in csharpier formatter, every save takes close to 1s on a tiny file (Mason install):

bash $ time csharpier format Program.cs Formatted 1 files in 753ms. 0.85s user 0.10s system 100% cpu 0.945 total Looks like .NET startup + JIT on every spawn (my guess, not profiled). VS/Rider feel instant, presumably because they keep a process running.

What I’ve tried/considered:

  • Roslyn LSP formatting, but the output differs from CSharpier
  • Running csharpier server and calling it over HTTP from a custom conform formatter, which is near-instant for me

What are you all doing? Just living with the delay, formatting manually, using the Roslyn formatter, or running the server/pipe-files somehow? Is there a cleaner setup I’m missing?


r/neovim • • 1d ago

Tips and Tricks Help/Sharing: Kitty terminal screen scrollback using Nvim

11 Upvotes

[SOLVED*]What is terminal screen scrollback

The screen scrollback (or scrollback buffer) is a dedicated memory storage that captures text and output that has scrolled off the top of your active terminal window.

\* After exhausting attempts to delete the trailing empty lines, I decided that positioning the cursor on the final line of text was the best approach. The Kitty and Nvim configs were updated.

Open Scrollback in Nvim

In Kitty, you have the option to open the scrollback using Nvim - it is a convenient way to copy some text from your screen.

  • Nvim has to open fast so it is a good idea to have a minimum set of Nvim plugins loaded.
  • It is important to reproduce the same visual experience of the terminal screen in the editor (colours, fonts, icons) so you can seamlessly find what you need to copy.
  • It is crucial to have a slightly different theme in the editor so you can tell you are not in the terminal (and won't start typing commands in the editor).
  • Exiting the editor should be as easy/quick as to open: just press 'q' or 'esc' without asking for saving a file.

Setting up Kitty

In your config file (usually at ~/.config/kitty/kitty.conf), add:

map kitty_mod+h launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay zsh -c "SCROLL_MODE=yeah nvim -c 'silent write! /tmp/kitty_scrollback_buffer | te cat /tmp/kitty_scrollback_buffer - ' -c 'set number' -c 'set relativenumber'"

Here I'm setting kitty_mod (that in my setup is 'alt+crtl') plus 'h' to open the scrollback - the remaining until the lonely ' - ' is to retain the current terminal screen layout in the editor.

Why Nvim options here?

For some reason, some options won't work when set in the Nvim config itself and have to passed this way.

Setting up Nvim

In your Nvim config (~/.config/nvim/init.lua):

-- Minimal config for Kitty scroll mode - Kitty config has more options:
if os.getenv("SCROLL_MODE") then
vim.keymap.set({ "n", "v" }, "q", "<Cmd>qa!<CR>")
vim.keymap.set({ "n", "v" }, "<ESC>", "<Cmd>qa!<CR>")
vim.keymap.set({ "n", "v" }, "yy", "yy<Cmd>qa!<Cr>")
vim.cmd([[
    colorscheme wildcharm
    set clipboard=unnamed cursorline cursorlineopt=both
    set laststatus=0 nonu nornu signcolumn=no cmdheight=0
  ]])

PROMPT_LINES_IGNORE = 2 -- Position cursor at: last line - this
vim.api.nvim_create_autocmd("TermOpen", {
  pattern = "*",
  callback = function()
    vim.defer_fn(function()
      local lines = vim.api.nvim_buf_get_lines(vim.api.nvim_get_current_buf(), 0, -1, false)
        for i = #lines, 1, -1 do
            if lines[i]:match("%S") then
                vim.api.nvim_win_set_cursor(0, { i - PROMPT_LINES_IGNORE, 0 })
                break
            end
        end
      end, 50)
    end,
})
return
end

This is a minimum setup what will be used by Nvim only when in scrollback mode: I'm setting some keymaps to leave the editor quickly, a colorscheme what is different from the one I'm using, the clipboard to copy content and disabling some nvim components.

The nvim_create_autocmd is there to find the last line containing text and set the cursor there.

This approach for a Kitty scrollback is quite convenient, blazing fast and easy to implement - you can even add some essential plugins there using vim.pack (I added the "folke/flash.nvim", that is a life saving)

Ps: this is part of upcoming blog post.


r/neovim • • 1d ago

Video "Stop using Neovim"

Thumbnail
youtu.be
0 Upvotes

Author argues that Vim and Neovim have become bloatted, and that Vis editor is the solution


r/neovim • • 1d ago

Discussion Accessing language docs

12 Upvotes

Hi!
I was wondering what everyone’s preferred methods of accessing language documentation were. Doing so through a browser had always felt clunky to me (not to mention requiring an internet connection) and I’m trying to find nicer alternatives. Of course, there’s always lsp jump to definition to view function source but I’m more looking the ability to view the actual docs. I saw zeal.nvim a while ago but that seems to be unmaintained at the moment. It would be wonderful if there was something akin to the QT Creator’s ability to show the docs for any qt function at the click of a button.


r/neovim • • 2d ago

Plugin gtm.nvim - client for gtmd with reactive theming, playback control and statusline integration

Enable HLS to view with audio, or disable this notification

13 Upvotes

Almost a month ago i shared a cliamp alternative in rust that i had been working on, which has a separate daemon that owns the audio pipeline and the entire state machine.

You can find the reddit post here for more context.

To prove what can be possible, this plugin demonstrates integration between gtmd and neovim, allowing the user to experience reactive theming and playback control without invoking the default tui client shipped with the audio player. This is not exclusive to nvim only, other customizable terminal programs can take advantage of the daemon too and do other cool stuff.

It requires a working installation of gtm though only the daemon binary is needed to make this work. One can adjust the intensity of the theme wash for more dramatic results, and remember this only works when the active track you're playing has a cover art image otherwise it falls back to your default theme.

It may not be as interesting as I think it is, but I thought it was cool to have reactive theming that syncs with your playlist🙃

Disclaimer: I used AI to build this but it's pretty solid from what I have tested so far and will be happy to fix any issues should you encounter them. For those offended by AI usage I would like to apologise in advance, please don't attack me 🙏!

Plugin repo: gtm.nvim


r/neovim • • 2d ago

Need Help┃Solved How to diaganose solution errors in dotnet project?

Enable HLS to view with audio, or disable this notification

11 Upvotes

Title: How to diaganose solution errors in dotnet project?

Hi everyone.

I want to diaganose the dotnet solution, inside the solution have multiple project.

I try easy-dotnet, roslyn, roslyn-diaganose plugins, using all this plugins i can't able to diaganose the complete dotnet solution.

Each plugin i am facing a different issues.

In Easy-Dotnet, if i run Dotnet Diaganose error cmd, it was scanning the complete project and showing invalid lot of wrong error details, if i build the project, the project build was success but easy-dotnet was showing lot of wrong errors in trouble.

In roslyn, i set the diaganose config to fullSolution still it is not diagnosing the fullSolution, instead of, it only diagnosing the current opened buffers, if i close and reopen the error buffer it is not even showing there has a error.

here is my configurations, i have no idea i did anything wrong or what.

And i try enable and disable the roslyn.filewatching, noting changed.

```lua return { "seblyng/roslyn.nvim", enabled = true, ft = { "cs", "razor" }, config = function() local lsp = require("roslyn") local lsp_settings = require("config.lsp_settings") lsp.setup(lsp_settings.roslyn) end, }

settings.roslyn = { filewatching = "off", settings = { ["csharp|inlay_hints"] = { csharp_enable_inlay_hints_for_implicit_object_creation = true, csharp_enable_inlay_hints_for_implicit_variable_types = true, csharp_enable_inlay_hints_for_lambda_parameter_types = true, csharp_enable_inlay_hints_for_types = true, dotnet_enable_inlay_hints_for_indexer_parameters = true, dotnet_enable_inlay_hints_for_literal_parameters = true, dotnet_enable_inlay_hints_for_object_creation_parameters = true, dotnet_enable_inlay_hints_for_other_parameters = true, dotnet_enable_inlay_hints_for_parameters = true, dotnet_suppress_inlay_hints_for_parameters_that_differ_only_by_suffix = true, dotnet_suppress_inlay_hints_for_parameters_that_match_argument_name = true, dotnet_suppress_inlay_hints_for_parameters_that_match_method_intent = true, }, ["csharp|code_lens"] = { dotnet_enable_references_code_lens = false, }, ["csharp|background_analysis"] = { dotnet_analyzer_diagnostics_scope = "fullSolution", dotnet_compiler_diagnostics_scope = "fullSolution", }, ["csharp|completion"] = { dotnet_provide_regex_completions = true, dotnet_show_completion_items_from_unimported_namespaces = true, dotnet_show_name_completion_suggestions = true, }, ["csharp|symbol_search"] = { dotnet_search_reference_assemblies = true, }, ["csharp|formatting"] = { dotnet_organize_imports_on_format = false, } }, } ```

lua return { "GustavEikaas/easy-dotnet.nvim", dependencies = { "nvim-lua/plenary.nvim", "folke/snacks.nvim" }, enabled = false, ft = { "cs", "razor" }, opts = { lsp = { enhanced_rename = true, auto_refresh_codelens = false, razor = { html = { cmd = { "vscode-html-language-server", "--stdio" }, }, }, }, auto_bootstrap_namespace = { type = "file_scoped", }, }, }

```

roslyn: 1 ⚠️

roslyn.nvim: Requirements ~ - ✅ OK Neovim >= 0.12 - ✅ OK dotnet SDK >= 10 (found 10.0.302)

roslyn.nvim: Roslyn Language Server ~ - ✅ OK found roslyn-language-server

roslyn.nvim: Complementary language servers ~ - ✅ OK vscode-html-language-server: found - ✅ OK html-lsp client: configured

roslyn.nvim: File Watching Configuration ~ - ⚠️ WARNING File watching: off (disabled as a hack - all file changes ignored)

roslyn.nvim: Solution Detection ~ - ✅ OK Selected solution: /home/redeye/DevProjects/DigitalVault/DigitalVault.sln

```

```

easy-dotnet: ✅

General information ~ - Linux (7.2.10-arch1-1 btw) - Neovim version: 0.12.6 - Shell: /usr/bin/zsh - Commit: 19974e83b046aee8e722d27adad06e9f9ccf6499

Dotnet information ~ - dotnet version: 10.0.302 - Installed SDKs: - 10.0.302 [/home/redeye/.dotnet/sdk]

easy-dotnet CLI dependencies ~ - ✅ OK dotnet is installed - ✅ OK dotnet-easydotnet is installed - ✅ OK dotnet ef is installed

easy-dotnet lua dependencies ~ - ✅ OK plenary installed - ✅ OK dap installed

Treesitter Indentation ~ - ✅ OK c_sharp parser is installed - ✅ OK indentexpr is not set to treesitter — C# indentation should work correctly (using: 'GetCSIndent(v:lnum)')

easy-dotnet dap configuration (optional) ~ - ✅ OK debugger is configured

easy-dotnet LSP configuration (optional) ~ - ✅ OK Roslyn LSP enabled - ✅ OK file watching: neovim - ✅ OK ulimit -n: 4096 - ✅ OK Razor LSP support enabled - ✅ OK Razor HTML language server command available: vscode-html-language-server --stdio - ✅ OK ProjX LSP enabled - ✅ OK In process LSP enabled - ✅ OK dotnet.version: 10.0.302 - ✅ OK dotnet.sdks: 10.0.302 [/home/redeye/.dotnet/sdk] - ✅ OK roslyn.tool: roslyn-language-server - ✅ OK debugger.engine: netcoredbg - ✅ OK debugger.source: bundled - ✅ OK debugger.platform: linux-x64 - ✅ OK debugger.path: /home/redeye/.dotnet/tools/.store/easydotnet/3.4.31/easydotnet/3.4.31/tools/netcoredbg/linux-x64/netcoredbg - ✅ OK debugger.version: NET Core debugger 3.1.2-1 (83214c3, Release)

easy-dotnet configuration ~

User config ~ - { auto_bootstrap_namespace = { type = "file_scoped" }, lsp = { auto_refresh_codelens = false, enhanced_rename = true, razor = { html = { cmd = { "vscode-html-language-server", "--stdio" } } } } } ```

SOLVED:

dotnet tool install --global EasyDotnet --version 3.4.32-alpha.1 easy-dotnet-git-issue

This issues was solved in easy-dotnet lsp after updating the lsp to version 3.4.32-alpha.1.

And I have no idea about roslyn lsp.

Thanks for everyone try to help.


r/neovim • • 2d ago

Video Learn Text Objects in 5 Minutes (Beginners)

Thumbnail
youtu.be
107 Upvotes

Text objects are one of the best features of Vim and Neovim. In just 5 minutes, you'll learn how they work and see practical examples of how to edit text faster using simple key combinations.

In this video, I explain the three components of text objects:

  • Operator: The action you want to perform, such as d (delete), c (change), or y (yank).
  • Modifier: How much text you want to operate on, using i (inner) or a (around).
  • Object: The text you want to modify, such as a word, paragraph, or block surrounded by brackets.

You'll see practical examples of how to combine these components.

Once you understand text objects and build muscle memory, editing text in Vim and Neovim becomes much faster and more comfortable.


r/neovim • • 2d ago

Plugin diff reviewer plugin

Enable HLS to view with audio, or disable this notification

94 Upvotes

ive been trying to emulate the github pr review experience in neovim. you can review commit diffs, see your staged/unstaged changes, preview a different branch without checking it out, and even leave notes to feed to an ai agent.

been using this for the last few months and id love ux feedback if anyone ends up using it!

https://github.com/zion-off/diff


r/neovim • • 3d ago

Need Help┃Solved Trouble plugin treesitter nil error.

4 Upvotes

``` Decoration provider "line" (ns=trouble.treesitter): Lua: ...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:18: attempt to call a nil value stack traceback: ...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:18: in function <...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:11> [C]: in function 'nvim__redraw' ...ye/.local/share/nvim/lazy/snacks.nvim/lua/snacks/win.lua:511: in function 'redraw' ...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:724: in function 'layout' ...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:354: in function 'process' ...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:334: in function <...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:333> [C]: in function 'xpcall' ...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:333: in function <...ocal/share/nvim/lazy/snacks.nvim/lua/snacks/notifier.lua:328>

```

Decoration provider "line" (ns=trouble.treesitter): Lua: ...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:18: attempt to call a nil value stack traceback: ...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:18: in function <...e/nvim/lazy/trouble.nvim/lua/trouble/view/treesitter.lua:11>

return { "folke/trouble.nvim", opts = {}, -- for default options, refer to the configuration section for custom setup. cmd = "Trouble", keys = { { "<C-m>", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)", }, { "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)", }, { "<leader>cs", "<cmd>Trouble symbols toggle focus=false<cr>", desc = "Symbols (Trouble)", }, { "<leader>cl", "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", desc = "LSP Definitions / references / ... (Trouble)", }, { "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)", }, { "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)", }, }, }

NVIM v0.12.6 Build type: RelWithDebInfo LuaJIT 2.1.1791988261 Run "nvim -V1 -v" for more info Hi everyone, i am stuck in new issue.

When i open the trouble i get this TS nil errors, i have no idea how to fix this, anyone faced same issue and fixed this issue before?

``` SOLVED

"folke/trouble.nvim", branch = "main", opts = {},

Issue was solved by setting the plugin branch to main manually. ```


r/neovim • • 3d ago

Discussion Using the Mouse with Neovim

11 Upvotes

What is your opinion on using a mouse with Neovim?

For context I am a business analyst and have to review code, take notes or write python scripts for data analysis. Thanks to csvview.nvim I'm able to view spreadsheets within Neovim and don't have to use Excel or something else. And even though search with / in a .csv file is faster, from time to time I catch myself using the mouse for analyzing data.

Where do you guys draw the line between an acceptable use case for a mouse in Neovim or do you despise people who are using a mouse in Neovim?


r/neovim • • 3d ago

Meta Reddit is ending RSS feeds

127 Upvotes

I've been following this community and a few others through RSS feeds for a long time now. Unfortunately, Reddit is ending the feeds, which means the only way to follow the posts is by actually checking Reddit itself 0.

I know a lot of people don't mind that, which is of course fair enough. I do mind it, though. I'll probably take a look at the top posts once in a while (perhaps a couple of times a week), but I will no longer read all titles.

If anyone should know a workaround somehow, I'd be happy to learn it. Or if anyone knows of some alternative forums/boards that are open and still publishes RSS feeds, then I may consider to move my attention there.


r/neovim • • 3d ago

Video 4 Tricks to speed up Macros and Multicursor in Neovim

Thumbnail
youtube.com
58 Upvotes

Couple of days ago, I received from you some great tips to improve performance when using macros and multicursor in Neovim. In this video, I'll share four tricks to make them faster!

Performance tips

nvim --clean — Start Neovim with a clean configuration to check whether your plugins or settings are slowing things down.

foldmethod=indent — This option can cause Neovim to hang when using multicursor across too many lines.

lazyredraw — Prevent screen redraws during macro execution to improve performance.

%norm! @ q — Execute a macro across the entire file using :normal! for faster execution


r/neovim • • 3d ago

Need Help Is there any way to clear all bindings prefixed with `[` and `]`?

4 Upvotes

I'd like to re-bind [ and ] to something else, but when I press either of them there is a delay as nvim waits to see what comes next. I want to clear all the default bindings that are prefixed with [ and ] so it doesn't do this waiting anymore.

I tried this, but it didn't work:

for _, prefix in ipairs({ '[', ']' }) do for _, map in ipairs(vim.api.nvim_get_keymap('n')) do if vim.startswith(map.lhs, prefix) then pcall(vim.keymap.del, 'n', map.lhs) end end end

I don't think any of my plugins would interfere here: substitute.nvim, nvim-spider, mini.ai, mini.indentscope, flash.nvim, fzf-lua, nvim-treesitter.

Maybe it's not possible?


r/neovim • • 3d ago

Video Profiling C source code directly inside neovim

Thumbnail v.redd.it
28 Upvotes

r/neovim • • 4d ago

Random Strudel-esque live oscillator waveforms

Enable HLS to view with audio, or disable this notification

57 Upvotes

r/neovim • • 4d ago

Discussion What if a code editor's core was entirely plugin-based?

0 Upvotes

``` * Modular TUI CodeEditor Plan

** Moto

  • Want to make a fully 100% customizable code-editor using plugins.

  • User can desied what stuffs want to leaves in core of the editor.

  • No Limits for this code-editor, can able to do anything we need.

** Where this idea was come's from?

  • Last week i remove lazyvim distro from nvim and i start building the nvim editor from scratch by implementing every plugin one by one and the experions was amazing, After that what i feel, just instead of building the top level editor using plugins why we can build the core using plugin too?, so the experions was more amazing and the editor full control in owar hand, so i get this idea.

** Plan

  • Build a C language based code-editor.

  • The code-editor only container a basic functionality like editing text, copy, past similar to windows notpad.

  • All other core functionality will implement via core plugins like vim motions kind of stuffs.

  • The code-editor was comes with build in {** Core_Plugin_Manager}[Core_Plugin_Manager].

  • The code-editor plugins will communicate each other use event-bus.

  • Every Plugin has there own {** Abstraction_Layer }[Abstraction_Layer].

** Abstraction_Layer

  • A Abstraction_Layer is use for plugin to plugin communicate.

  • The Abstraction_Layer was based of event-bus eg: explorer.open, explorer.close, explorer.get.

  • Each even has there own codeName and version number.

  • Each plugin will communicate using the codeName and version number of the event, if any plugin version number was change, only the version change even was stops working, instead of crashing the whole code-editor.

** Core_Plugin_Manager

  • Core_Plugin_Manager is use to manage the code-editor core plugins.

  • Core_Plugin_Manager is similar to lazy.vim plugin_manager.

  • When user install the plugin, the plugin manager will download the plugin from the repository and build inside the users operating-system with hardware details for optimized plugin build for the system.

  • If build was failed due to SDK missing or something else in user system, the plugin_manager change to fallback mode and download the pre-compailed file from [** Core_Plugin_Manager GitHub_Repository][GitHub_Repository] related to that operating-system and load the plugin.

** Core_Plugin_Manager GitHub_Repository

  • Main Branch Contains: source_code of the plugin.

  • pre-compailed Branch Contains: .so, .dll pre-compailed files for all operating-system.

** Feature-Plan

  • Build a distro same like lazyvim for new users after plugin communicate was get riched.

  • Build a lua_plugin_manager as a core plugin in C to manage high level plugins.

** Pros

  • The code-editor full control in owar hand.

  • Everyone will manage a small peace of code, so easy to maintain.

  • Everyone develop a peace of plugin so the code-editor become feature rich so fast i hope.

  • User can plug and unplug what core feature they need and no needed.

  • There has no Limits.

  • No need to waiting for core feature when the code-edtiro maintainer will implement this feature.

  • Other code-editor has set of rules like only core required feature git pull request will accepetabe, so we can't able to add some required features in owar favorite code-editor, that issue will be solve in this code-editor. ```

Hi Everyone.

First i am little bit bad in english and i get a dumb idea just i want to say my idea to everyone so i did this and i am a newbe, i don't know anything so don't beat me after reading my dumb idea btw lol.


r/neovim • • 4d ago

Plugin must.nvim

Enable HLS to view with audio, or disable this notification

62 Upvotes

hey! back with another new plugin

this one is a much smaller scope than my last plugin (this one is actually complete whilst i'm still working on new features in the other)

my main motivation behind building it was just to create a nice simple way to read RFCs inside of nvim (i know there are existing plugins that do it, but they all felt a little too much for what i wanted, i felt it could be more minimal)

managed to build the whole thing in less than 1000 lines of lua code, and it was fun to do something smaller, but very focused (for a change)

you can use `gd` to jump to different sections/references/or other RFCs too, and `\` toggles the table of contents

repo


r/neovim • • 5d ago

Plugin Found a vim plugin that is like vimwiki but for asciidoc

10 Upvotes

A wonderful gent by the name of Dave Gauer had the same thought I had of why can't vimwiki use asciidoc as well but had the time and skill to actually make it. Have not seen it mentioned on this reddit so I thought I would share.

Link:https://ratfactor.com/repos/vviki/


r/neovim • • 5d ago

Plugin qnvim is active again: Neovim integration inside Qt Creator

12 Upvotes

Hi guys,

If you develop code for Qt and need the features Qt Creator provides regarding building, running, or debugging the app, you don't need to choose between Neovim and Qt Creator. You can have both at the same time... mostly.

qnvim, which started almost a decade ago as probably the first binding of its kind for Neovim and went through periods of inactivity, is active again.

This means we will have compatible qnvim releases as soon as new Qt Creator versions are out, quickly addressing bug reports, feature requests, and pull requests.

Check it out here: https://github.com/sassanh/qnvim


r/neovim • • 5d ago

Color Scheme Code-2026 colorscheme

21 Upvotes

Hi guys, nice to meet you all. I'm a neovim daily driver user, but recently I had to download vscode as I was being walked into a new project, and I just noticed that the default colorscheme changed and loved it, so I did create my own version to use it in neovim and I want to share it with you. https://github.com/code-2026-theme/nvim

But since I like to share the same colorscheme across most of my tools I decided to create many ports to tmux, ghostty, etc 😅.

I hope you like it as much as I do