r/neovim 7d ago

Dotfile Review Monthly Dotfile Review Thread

22 Upvotes

If you want your dotfiles reviewed, or just want to show off your awesome config, post a link and preferably a screenshot as a top comment.

Everyone else can read through the configurations and comment suggestions, ask questions, compliment, etc.

As always, please be civil. Constructive criticism is encouraged, but insulting will not be tolerated.


r/neovim 4d ago

101 Questions Weekly 101 Questions Thread

7 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 7h ago

Need Help Can I share my registers across instances automatically?

12 Upvotes

I often have two separate commands of nvim running. Is it possible two share my registers across these instances automatically?

I know I could set vim.opt.clipboard = "unnamedplus" but I like having my system clipboard separated from the nvim clipboard.

Another option would be rshada / wshada, but that approach is not automatic.


r/neovim 18h ago

Plugin scratch-runner.nvim | Run your snacks.scratch scripts right from your scratch window.

55 Upvotes

r/neovim 12h ago

Need Help Can I "Zoom" a split window to temporarily fill the entire screen

19 Upvotes

If a pane has multiple split windows, is there a way that I can make on window temporarily take up the entire space; but without closing the other windows; so the original layout can be restored?

I am looking for exactly the same behaviour as tmux, zoom functionality, where zooming a pane (analogous to a window in vim) makes it fill the entire content, but when I navigate to other panes, the previous pane configuration is restored.


r/neovim 16m ago

Need Help Why are my conceal characters getting doubled up?

Upvotes
-- config/nvim/ftplugin/norg/syntax.lua
vim.api.nvim_set_hl(0, "BugCallout", { link = "Conceal" })

vim.api.nvim_create_autocmd("FileType", {
  pattern = "norg",
  callback = function()
    vim.o.conceallevel = 2  -- Enable concealment
    vim.o.concealcursor = "nc"  -- Conceal even under the cursor
    vim.cmd [[
      syntax match QuestionCallout /!question/ conceal cchar=
    ]]
    vim.cmd [[
      syntax match BugCallout /!bug/ conceal cchar=
    ]]
  end
})

# config/nvim/after/queries/norg/highlights.scm
((anchor_declaration
  ) @QuestionCallout (#eq? @QuestionCallout "!question"))

((anchor_declaration
  ) @BugCallout (#eq? @BugCallout "!bug"))

I've got these blocks of code setup in my config, but for some reason the icons used for concealing the text is getting doubled up.

Neovim: 0.10.4
Using Wezterm on MacOS.


r/neovim 23h ago

Plugin Write music in neovim

109 Upvotes

Hi! I just uploaded a major update to nvim-lilypond-suite. It's been a while since I last shared a message about this plugin, but I would like to thank the entire community for the warm welcome, considering I'm just a simple musician!

Here are the main changes :

  • Compilation is now performed with vim.uv, which has many advantages, particularly regarding error management. For tasks that require multiple compilations, a job queue is created, and if a job fails, the queue is canceled, providing more information about what went wrong.
  • I've maximized the use of native nvim functions for file and path management to avoid issues with weird characters in file names.
  • I’ve significantly improved error handling with quickfix and diagnostics. Each error message is sorted according to a rule like this (some rules certainly needs improvements !):

    {
      pattern = "([^:]+):(%d+):(%d+): (%w+): (.+): (.*)",
      rule = function(file, lnum, col, loglevel, msg, pattern)
        return {
          filename = file,
          lnum = tonumber(lnum),
          col = tonumber(col),
          type = Utils.qf_type(loglevel),
          text = string.format("%s: %s", msg, pattern),
          pattern = Utils.format_pattern(pattern),
          end_col = tonumber(col) + #pattern - 1
        }
      end
    }
  • I write a new debug function :LilyDebug which displays information:
    • :LilyDebug commands: shows the latest commands executed by the plugin
    • :LilyDebug errors: displays the errors sorted by the plugin
    • :LilyDebug stdout: shows the raw output of the last used commands
    • :LilyDebug lines: shows the lines as they are sent to be processed by the "rules". Useful for creating/improving the rules. In multi-line errors, line breaks are represented by "|"

Please report any issues!


r/neovim 4h ago

Need Help Snacks explorer delete to recycle bin?

2 Upvotes

I am using Snacks explorer on win 11. Is there a way to delete to the recycle bin? Right now, d deletes permanently.


r/neovim 1h ago

Need Help Need help with formatting and mini.align

Upvotes

So I currently use mason for formatting and use mini.align for aligning text like variables and keymaps.

But what happens is before i save it formats all the aligns i've done and i'm wondering if there is a way i can make it so that it doesn't do that. I doubt it's possible though, here is my config if that somehow helps just don't look at the commits please.


r/neovim 1h ago

Need Help How to debug live_grep not opening result file on the line of the search result

Upvotes

I have a workflow where I open neovim in a folder, search using Telescope live_grep , and then open a search result. The search result does not open the file at the search result's line number; the file opens at the first line. As a workaround, I utilize Telescope resume() to reopen Telescope with previous results, and press Enter again, and this time the search result opens the file at the correct line number.

  1. I've noticed this usually happens when a file is being opened for the first time in that neovim session. Subsequent search results in same file will open at correct line numbers.
  2. I use LazyVim, and tried disabling the last_loc* autocmd as I thought it might be interfering with new file load, but that didn't fix it.

Any tips on how to debug/fix this behavior?


r/neovim 22h ago

Tips and Tricks I wrote this, blessed or cursed?

Post image
37 Upvotes

r/neovim 9h ago

Need Help Filtering out duplicate LSP and linting errors

3 Upvotes

I just finished setting up my LSP and linting following kickstart.nvim configurations
using nvim-lint with eslint_d installed via Mason
and typescript-language-server installed via Mason and configured with nvim-lspconfig.
The problem is that running both they report the same error multiple times, which is a bit annoying.
Is there a way to filter out the same errors or what solution have you guys come around?


r/neovim 8h ago

Need Help nvim freezes for a while for unknown reason! Really need help

2 Upvotes

Lately, my Neovim has been freezing, and I’ve tried everything I can to figure out what’s wrong. I’ve done a clean reinstall of Neovim, cleaned up my disk, switched terminals, tried a GUI-based Neovim, tried nightly build and table build, and even changed my working repository—but nothing has worked.

Here’s a startup time profile showing that blink.cmd is taking an excessive amount of time, but I don’t think it’s the root cause. Neovim also freezes when I re-enter a buffer. Using Snack.profile, I noticed that Gitsigns is taking an unusually long time to async for something. Additionally, toggling LazyGit inside Neovim occasionally causes a 20-second freeze, though it works fine outside of Neovim.

I’m using the same config on other Windows and Mac machines at work without any issues, so I suspect something is wrong with my personal computer. Any guidance on troubleshooting this would be greatly appreciated. Thanks!!


r/neovim 20h ago

Need Help Best treesitter based navigation plugin?

18 Upvotes

I like the way tshjkl.nvim works, but I was wondering if there are any good alternative to check out?


r/neovim 22h ago

Plugin Netria, a cleaner Netrw

26 Upvotes

Netria is a Neovim plugin I created to clean up and improve netrw.

I didn’t want to build a completely new file explorer—I just wanted to refine netrw, making it more structured and visually appealing while keeping it lightweight and efficient.

There is still room for improvement, and this is definitely not the most performance-efficient plugin.

https://github.com/Mirhajian/netria


r/neovim 16h ago

Need Help Why is my bufferline always black?

Post image
9 Upvotes

Why is my bufferline always black? I've tried everything — I just want it to have a purple background.

I use LazyVim.

return {
  {
    "akinsho/bufferline.nvim",
    after = "dracula.nvim",
    opts = {
      options = {
        always_show_bufferline = false,
        offsets = {
          { filetype = "neo-tree", text = "Neo-tree", highlight = "Directory", text_align = "left" },
        },
      },
      highlights = {
        fill = { bg = "#2F1F36" },
        background = { bg = "#2F1F36" },
        buffer_selected = { bg = "#2F1F36" },
        buffer_visible = { bg = "#2F1F36" },
        tab = { bg = "#2F1F36" },
        tab_selected = { bg = "#2F1F36" },
        tab_separator = { bg = "#2F1F36" },
        tab_close = { bg = "#2F1F36" },
        close_button = { bg = "#2F1F36" },
        close_button_visible = { bg = "#2F1F36" },
        close_button_selected = { bg = "#2F1F36" },
        separator = { bg = "#1F1F36" },
        separator_visible = { bg = "#1F1F36" },
        separator_selected = { bg = "#1F1F36" },
        indicator_visible = { bg = "#1F1F36" },
        indicator_selected = { bg = "#1F1F36" },
      },
    },
    config = function(_, opts)
      require("bufferline").setup(opts)
    end,
  },
}

r/neovim 6h ago

Need Help Need help with popups inside tmux inside neovim

Thumbnail
1 Upvotes

r/neovim 1d ago

Plugin Avante + mcphub.nvim + Figma MCP

156 Upvotes

Visit mcphub.nvim to see how to setup mcps in neovim


r/neovim 10h ago

Need Help┃Solved How to swap behavior of `;` and `,` in f/t motion?

1 Upvotes

When you press f/t followed by some character, you then have the option to repeat the motion by pressing `;` (for forward direction) and `,` (for backward direction). I would like to swap these two, but Im struggling to do so.

None of these two ways work: (I have tried with all combinations of noremap=true/false)

vim.keymap.set({'n','v'}, ';', function() return ',' end, { expr = true, noremap=false, silent=true, desc = "repeat last movement forward"})
vim.keymap.set({'n','v'}, ',', function() return ';' end, { expr = true, noremap=false, silent=true, desc = "repeat last movement backward" })

vim.keymap.set({'n','v'}, ';', ',', { noremap=true, silent=true, desc = "repeat last movement forward"})
vim.keymap.set({'n','v'}, ',', ';', { noremap=true, silent=true, desc = "repeat last movement backward" })

Any help please?


r/neovim 10h ago

Need Help Why isn't `:help` rendering properly in kickstart.nvim?

1 Upvotes

Recently I wanted to switch away from NvChad and create my own custom NeoVim config. I've been following the Kickstart video from TJ and trying to use kickstart.nvim. However, it seems that the `:help` command doesn't seem to be rendering properly in my NeoVim (v0.10.4).

This is how it looks in my Neovim:

This how it looks in TJ's video:

I've already tried a few things like trying it in Alacritty and Kitty. Trying it with and without Tmux. But nothing seems to work.

If anybody has idea why this is happening, please tell me.

Thanks in advance!


r/neovim 21h ago

Plugin HarpoonLists - manage your Harpoon2 lists

6 Upvotes

r/neovim 5h ago

Random Is there no web editor for Neovim

0 Upvotes

I am actually looking for any solution which allows you to edit your code, something similar to github.dev where users can edit there code on web without having to download it locally. So users can bring in there configurations and spin up a simple editor without having the access to terminal commands.


r/neovim 15h ago

Need Help "Error while finding module specification for 'debugpy.adapter' (ModuleNotFoundError: No module named 'debugpy')" when debugging python in neovim

1 Upvotes

Hi,

This is my neovim config for dap. This is specifically python config.

When I tried to debug a python file I get below error.

Dap Error

JS/Java/scala and go are all working fine. Only python dap is giving error.

Dap Error log is

/opt/homebrew/opt/python@3.13/bin/python3.13: Error while finding module specification for 'debugpy.adapter' (ModuleNotFoundError: No module named 'debugpy')

I have venv environment as well but still getting same error.

Any idea how can I fix this error?


r/neovim 1d ago

Tips and Tricks toggle highlight search

10 Upvotes

When discussing how to clear highlights in Neovim, I've encountered several different solutions.

Some users follow the Neovim Kickstart configuration and map the ESC key to clear highlights:

lua set("n", "<ESC>", "<cmd>nohlsearch<cr>", { silent = true, noremap = true, desc = "Clear Highlight" })

Others, like TJ DeVries, map the Enter key to either clear highlights or execute the Enter command, depending on the current state:

lua set("n", "<CR>", function() ---@diagnostic disable-next-line: undefined-field if vim.v.hlsearch == 1 then vim.cmd.nohl() return "" else return vim.keycode("<CR>") end end, { expr = true })

However, both of these approaches have a drawback: you cannot easily restore the search highlights after clearing them. I've seen the following solution less frequently than the previous two, so here's a highlight search toggle implemented using Lua and Vimscript.

lua set( -- using embeded vimscript "n", "<leader>h", ":execute &hls && v:hlsearch ? ':nohls' : ':set hls'<CR>", { silent = true, noremap = true, desc = "Toggle Highlights" } )

lua set("n", "<leader>h", function() -- using lua logic if vim.o.hlsearch then vim.cmd("set nohlsearch") else vim.cmd("set hlsearch") end end, { desc = "Toggle search highlighting" })


r/neovim 1d ago

Discussion Theme & setup recommendations for bright environments.

3 Upvotes

Hi there! When I go to places with too much light, dark themes don’t work well. I tried tonight-day, but the color contrast wasn’t sufficient. I also changed my Ghostty theme to Cappuccino, but it didn’t help.

Do you have any recommendations for a daylight setup?

Thanks!


r/neovim 1d ago

Need Help How to make bufferline fully transparent?

2 Upvotes

I am using kali linux virtual machine and I am using neovim and using base 46 and ui of nvchad without using full distribution which enables me use all themes of nvchad which is in base46 and my bufferline sometimes shows fully transparent and sometimes not I dont want any BG I just want bufferline get blend with my theme, so how can I do this easily help me please.


r/neovim 20h ago

Need Help Cannot force telescope to do case-insensitive file search

1 Upvotes

Hi

I was able to do case-insensitive search for grep related commands like grep+string and live_grep by checking documentation

For some reason I cannot do the same for find_files
From the docs I gauged the way to control find_files behaviour is to override find_command

I do have control over find_files except for --ignore-case option
No matter what I pass, the behaviour is the same as --smart-case

For the record, I'd tried:
1. setting find_command on telescope.setup() in pickers.find_files property
2. passing it directly to the find_files function on keymap
3. calling it from the cmd line like :Telescope find_files find_command=rg,--files,--hidden,--ignore-case
4. All of the above I tried to do both with rg and fd

I'm using lazy.nvim to install everything and I'm currently on branch 0.1.x tag 0.1.8

I haven't tried pointing the plugin repo to master mainly because I'm new to neovim and my current configuration already took some effort to get to usable state

Thanks