Telegram Web Link
What Colorscheme is this?

https://redd.it/1odmp5a

@r_neovim
smart-nav.nvim - Semantic navigation
(Plugin)

TL;DR

* Made a plugin that lets you jump to meaningful code positions with a single keypress
* Started as a way to quickly hop outside brackets/parentheses without multiple keys
* Expanded it to jump between important syntax symbols/snippet tabstops, etc.
* Uses Treesitter for smarter navigation (configurable w node types)
* Still early; definitely has edge cases and bugs to fix
* Looking for feedback on whether it’s worth developing further
* Also curious if similar plugins already exist
* GitHub



This initially came about because I wanted a lazier way to hop myself to the outside of closing parenthesis, brackets, etc and instead of having to press different keys depending on the symbol, I wanted one key I could always use. It felt quite nice to use, so I took the idea further. Instead of simply navigating through brackets why not navigate through important syntax symbols, or through snippet tabstops.

This is what this plugin does. It's highly configurable. You can set which characters to hop before/after (or both), and using treesitter you can configure jump targets using node types. There are definitely a number of edge cases and bugs to figure out, and this is in its infancy, so feel free to contribute.

I just wanted to throw this out there to get some feedback and see if this is something worth developing further. I'm curious if others would actually find this useful, or if there are already similar plugins out there that I might've missed.

https://redd.it/1odggeu

@r_neovim
What colortheme do you use and why?
(Discussion)

I'm curious to know what colorscheme everyone is using and why?

I'm using tokyonight-moon because it was included in kickstarter xD.

https://redd.it/1odajn7

@r_neovim
Overcoming the distro/package manager crutch. These are my struggles
(Discussion)

I started my Neovim journey with distros 8+ years ago.
I hopped around for about 4 years before eventually paring down to nvchad's UI lib and Lazy.nvim with 70+ plugins loading in <70ms.
With all the shiny new stuff in v0.11 and nightly, I thought it a decent opportunity to try going minimal.
Plot twist: I'm basically recreating lazy.nvim, but worse.
I'm settling at about 20 plugins, my startup is... fine?
Not terrible, not the sub-50ms load times I was hoping for. I find myself manually doing some parts of what Lazy did.
That's not inherently bad, it's well made and popular for a reason. I'm just concerned about my bias to these config patterns because it's what I've known Lazy to do for me.
It leave's me wondering what lessons there are to learn here?

For the manual config masochists out there:

- How do you handle buffer-local keymaps for plugin windows?
- Some plugin's options will take a keys map and do this for you, but what about the ones that dont?
- What's your lazy-loading strategy? Just autocmds? Some cursed combination of vim.defer_fn, vim.schedule, and prayer?
- Good plugins aren't supposed to affect startup. Do you do anything for the misbehaving ones that are too useful to let go?
- Do you profile, or just "feel" the speed?

Slightly related: Tried the single-file config for a bit. It was nice. Then I hit 1K lines and the LSP started crying.
Being intentional about folding helped navigate but I couldn't fold away my shame.

This was all an experiment that's close to becoming a main config. I know most of this doesn't matter, but it was a fun way to kill an evening or two.
I'm just hoping to take away a lesson from the collective wisdon out there. Thanks for reading =)


https://redd.it/1od9w5d

@r_neovim
Just one really simple command

https://redd.it/1odp6wl

@r_neovim
snacks.nvim v2.24.0 was just released
(Plugin)

Just made a new release of snacks.nvim including quite a lot of fixes and new features.

# Snacks.nvim v2.24.0 Release

## Highlights

### Picker Enhancements

- New Pickers:
- scratch - Browse, grep, create and delete scratch files
- tags - Navigate ctags
- lsp_incoming_calls / lsp_outgoing_calls - Call hierarchy navigation

- Git Improvements:
- git_diff now supports base option for merge-base comparisons (great for viewing PR/branch changes)
- git_log now has live search with pickaxe (-S)
- git_restore action for git_status picker
- Author filtering for git logs
- Better delta integration via diff previewer
- Configurable extra git args for all git sources

- Enhanced Features:
- Regex toggling for grep (toggle_regex action)
- Exact match highlighting in grep results
- Flexible filename formatting
- Enhanced resume with multi-state support
- Better LSP symbols with keep_parents option
- Customizable projects max depth
- Improved session manager support (AutoSession)
- <c-g> mapped to print file path/cwd
- Better vim.ui.select integration

### Image Rendering

- New Features:
- ICNS format support
- Base64 encoded images in URLs
- PDF page-specific rendering
- Snacks.image.clear() function

- Bug Fixes:
- Better terminal detection
- Render fallback improvements for editor-relative positioning
- ENOENT handling in preview
- Hover close behavior in insert mode
- Markdown inline link queries
- LaTeX package parsing (skip comments and body)

### Window Layout

- Support for vim.o.winborder - all Snacks windows now respect this setting
- Static layouts now shrink to fit contents
- Configurable split window stacking
- Better layout configuration hooks
- Improved window allocation (at least 1 cell per widget)
- Width/height can now be functions

### Dashboard

- Optional filter function for projects
- Better recent files filtering with cwd option
- Improved terminal widget handling
- AutoSession command updates
- Better showtabline/laststatus restoration
- Improved cursor positioning

### Git Features

- Configurable extra git args for all git sources
- Better submodule support (always check parents for git root)
- Proper diff prefix handling (diff.noprefix=false)
- GitBrowse: Fixed GitLab URLs and commit options

### Explorer

- Improved file system watching (better handling of systems without filename events)
- Better mounted directory detection
- Git deletion handling for non-existent parent dirs
- Reset main when entering another window

### Other Notable Changes

- Terminal: UX improvements, better window validation, fixed position='current'
- Toggle: Customizable notifications via function
- Input: Custom highlight function support, better z-index handling
- Indent: Window-aware filter functions, better validation
- Bigfile: Disable mini-hipatterns integration, Windows support
- Lazygit: Extensible user args, better config file handling
- Notifier: Minimal style padding fixes, keep filtered notifications in history
- Scratch: Better branch handling, icon fixes
- Scroll: Don't animate 1-line scrolls, better buffer change detection
- Bufdelete: Try alternate buffer first

## Bug Fixes

This release includes 80+ bug fixes across all modules, with particular focus on:

- Picker: 30+ fixes including LSP request handling, preview scrolling, qflist items, marks buffer checking, and many more
- Image: Terminal detection, rendering fallbacks, hover behavior
- Dashboard: File filtering, cursor positioning, recent files display
- Explorer: File watching, mounted directories
- Git: Submodule handlin
g, diff formatting
- Layout: Window allocation, dimension calculations
- Terminal: Buffer handling, split stacking
- Input: z-index issues
- Scroll: Animation edge cases

## Stats

- 50+ new features
- 80+ bug fixes
- Closes 60+ issues

For the complete changelog, see <https://github.com/folke/snacks.nvim/blob/main/CHANGELOG.md>


https://redd.it/1odyzcy

@r_neovim
snacks.nvim v2.24.0 was just released (repost: previous post was deleted)
(Plugin)

This is a repost, since my other post got deleted by Reddit's filters.
The only reason I could think of is the nickname that most people use for the git -S feature, so I removed that wording. Fingers crossed :)

---

Just made a new release of snacks.nvim including quite a lot of fixes and new features.

A big shout-out to all the contributors that provided PRs for this release!

# Snacks.nvim v2.24.0 Release

## Highlights

### Picker Enhancements

- New Pickers:
- scratch - Browse, grep, create and delete scratch files
- tags - Navigate ctags
- lsp_incoming_calls / lsp_outgoing_calls - Call hierarchy navigation

- Git Improvements:
- git_diff now supports base option for merge-base comparisons (great for viewing PR/branch changes)
- git_log now has live search with grep (-S)
- git_restore action for git_status picker
- Author filtering for git logs
- Better delta integration via diff previewer
- Configurable extra git args for all git sources

- Enhanced Features:
- Regex toggling for grep (toggle_regex action)
- Exact match highlighting in grep results
- Flexible filename formatting
- Enhanced resume with multi-state support
- Better LSP symbols with keep_parents option
- Customizable projects max depth
- Improved session manager support (AutoSession)
- <c-g> mapped to print file path/cwd
- Better vim.ui.select integration

### Image Rendering

- New Features:
- ICNS format support
- Base64 encoded images in URLs
- PDF page-specific rendering
- Snacks.image.clear() function

- Bug Fixes:
- Better terminal detection
- Render fallback improvements for editor-relative positioning
- ENOENT handling in preview
- Hover close behavior in insert mode
- Markdown inline link queries
- LaTeX package parsing (skip comments and body)

### Window Layout

- Support for vim.o.winborder - all Snacks windows now respect this setting
- Static layouts now shrink to fit contents
- Configurable split window stacking
- Better layout configuration hooks
- Improved window allocation (at least 1 cell per widget)
- Width/height can now be functions

### Dashboard

- Optional filter function for projects
- Better recent files filtering with cwd option
- Improved terminal widget handling
- AutoSession command updates
- Better showtabline/laststatus restoration
- Improved cursor positioning

### Git Features

- Configurable extra git args for all git sources
- Better submodule support (always check parents for git root)
- Proper diff prefix handling (diff.noprefix=false)
- GitBrowse: Fixed GitLab URLs and commit options

### Explorer

- Improved file system watching (better handling of systems without filename events)
- Better mounted directory detection
- Git deletion handling for non-existent parent dirs
- Reset main when entering another window

### Other Notable Changes

- Terminal: UX improvements, better window validation, fixed position='current'
- Toggle: Customizable notifications via function
- Input: Custom highlight function support, better z-index handling
- Indent: Window-aware filter functions, better validation
- Bigfile: Disable mini-hipatterns integration, Windows support
- Lazygit: Extensible user args, better config file handling
- Notifier: Minimal style padding fixes, keep filtered notifications in history
- Scratch: Better branch handling, icon fixes
- Scroll: Don't animate 1-line scrolls, better buffer change detection
- Bufdelete: Try alternate buffer first

## Bug Fixes

This release includes 80+ bug fixes across all modules, with particular focus on:

- Picker: 30+ fi
xes including LSP request handling, preview scrolling, qflist items, marks buffer checking, and many more
- Image: Terminal detection, rendering fallbacks, hover behavior
- Dashboard: File filtering, cursor positioning, recent files display
- Explorer: File watching, mounted directories
- Git: Submodule handling, diff formatting
- Layout: Window allocation, dimension calculations
- Terminal: Buffer handling, split stacking
- Input: z-index issues
- Scroll: Animation edge cases

## Stats

- 50+ new features
- 80+ bug fixes
- Closes 60+ issues

For the complete changelog, see <https://github.com/folke/snacks.nvim/blob/main/CHANGELOG.md>


https://redd.it/1oe1qlr

@r_neovim
I fixed zig diagnostics
(Discussion)

I was disappointed by inability of zls to report compile errors. No blame, the project is young and independant.

I don't know if it's the same case for the other compiled languages, but for young once like odin/c3 might be the same.

So I did compile watch in neovim terminal and read the error report, then put them to quickfix/diagnostics list.

By analogy you may create a plugin for another editor.

Appreciate feedback if I did a total dumbness.

https://github.com/dennypenta/home/blob/e9cef97ac752e233d293cfefdb6fdcea7004ae97/.config/nvim/lua/plugins/compile.lua#L295

https://redd.it/1odxnv0

@r_neovim
filler-begone.nvim - Prevent scrolling beyond buffer content
(Plugin)

Prevents neovim from scrolling past the bottom of the buffer and showing unnecessary :h filler-lines. While debugging a blink.cmp issue, I discovered that the solution would be generic to all buffers, so I broke it out into an independent plugin. Plugin initializes itself automatically, just add it to your package manager.

It's great for standard buffers, but especially useful for floating buffers (lists, git, completion menu, documentation, etc) where filler lines don't make any sense.

Special thanks to zeertzjq, justinmk, seandewar, and echasnovski for their help!

Note: When using vim._extui, set vim.o.showcmd = false to prevent an issue with forced redrawing causing flickering. Thanks stefanboca for debugging this!

https://github.com/Saghen/filler-begone.nvim

:h filler-lines:

> The lines after the last buffer line in a window are called filler lines. By
default, these lines start with a tilde (~) character. The "eob" item in the
'fillchars' option can be used to change this character. By default, these
characters are highlighted as NonText (|hl-NonText|). The EndOfBuffer
highlight group (|hl-EndOfBuffer|) can be used to change the highlighting of
the filler characters.


https://redd.it/1oeax19

@r_neovim
Install vim.pack plugins headless-ly?
(Need Help┃Solved)

I'm using 0.12 with vim.pack as "plugin manager", and every time I add my config to a docker image, I always have to press "Y" for "yes" or "A" for "always", to install all the plugins at startup. Is there any way to install all plugins non-interactively, something like "nvim --headless --installall" or something?

I could just clone all the repos manually and pit them in the correct directory, but I'd prefer it if it was more dynamic than that, such that it installs any new plugins I add to my config.

Another thing is to pipe "Y" to nvim, but I won't know how many would be needed if I want to keep it dynamic like stated above.

https://redd.it/1odx30r

@r_neovim
😁1
Repeat last forward/backward target command
(Need Help)

If I'm using a plugin like Mini.Bracketed, how do I repeat the last command done to continue to the next target? For example, if I do ]d to go to the next diagnostic, is there a shortcut to repeat that same command?

https://redd.it/1oeenf2

@r_neovim
How to prevent spellchecker flagging nerd-fonts icons like "" as misspelled ?
(Need Help)

I just realised that only nerd font icons had red underlines using oil for example.

I supposed I could add them to my spell-file I guess?

https://redd.it/1oeyvbr

@r_neovim
Has anyone gotten the biome lsp setup with the v0.11 way (without lspconfig)
(Need Help)

Was able to setup every other lsp except biome. Would really appreciate any help

https://redd.it/1of6lzt

@r_neovim
Suppressing Certain Errors Globally in Neovim
(Need Help)

Does anyone know how to suppress certain errors completely?

I'm not trying to use :silent for specific commands, rather, there are certain errors that really don't care about, such as Mark has invalid line number and such that frequently pop up when I've removed files, similar issues occur with plugins that do Git history for me when files are removed. It'd be nicer for me to just filter those messages out completely as they don't really help me at all and just interrupt my workflows.

https://redd.it/1oeylgr

@r_neovim
How to set custom keymappings with mason-lspconfig and Lazy.
(Need Help)

I'm pretty new to neovim and I'm using the lazy package manager to try to set up LSP support with nvim-lspconfig, Mason, and Mason-lspconfig. My current lsp.lua file looks like this.
return {
{
"neovim/nvim-lspconfig",

},
{
"mason-org/mason.nvim",
opts = {}
},

{
"mason-org/mason-lspconfig.nvim",
opts = {},
dependencies = {"mason-org/mason.nvim","neovim/nvim-lspconfig",},
}
}


I was wondering where to put keymappings that look like this.
vim.keymap.set("n", "gd", vim.lsp.buf.definition()) vim.keymap.set("n", "K", vim.lsp.buf.hover()) vim.keymap.set("n", "<leader>sd", vim.diagnostic.open_float()) vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename())

https://redd.it/1oer8vx

@r_neovim
synth.nvim - colorscheme

https://redd.it/1of6dvt

@r_neovim
2025/10/31 09:18:47
Back to Top
HTML Embed Code: