1
Avoiding the mouse? (old.reddit.com)
submitted 3 months ago by [B] to c/neovim@lemmit.online
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/hegardian on 2026-04-24 02:29:08+00:00.


How do you deal with the need to use the mouse when frequently switching to other applications like MS Teams, Azure DevOps, and others? Is the only solution really to keep moving your hand back and forth between the mouse and keyboard? thanks

2
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/Sweet-Demand-7971 on 2026-04-24 07:31:04+00:00.

3
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/Professional-Many847 on 2026-04-23 23:14:17+00:00.


Shout out to the owner milanglacier

4
submitted 3 months ago by [B] to c/neovim@lemmit.online
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/roku_remote on 2026-04-23 23:13:24+00:00.

5
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/error311 on 2026-04-23 08:12:07+00:00.

6
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/pawelgrzybek on 2026-04-23 13:53:30+00:00.

7
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/disperso on 2026-04-23 08:56:33+00:00.


Hello Neovim community.

I just want to make a humble but sincere appreciation post for Neovim, its community, ecosystem, and so on.

I don't know for sure when I started using Vim, but the Git history of my configs repo tracks vimrc to around mid-2011, and later that year I started tracking my Vim plugins using Drew Neil's advice on pathogen and git submodules.

I think I started much earlier than that, though, by simply editing the usual configuration files on my Linux computer, or when I dabbled in system administration. I remember that as a nice learning experience, because editing simple configuration files as root is a situation where you probably don't want to involve plugins, and you just stick to the fundamentals. It's still structured enough to learn basic motions, operators and text objects, but you don't feel the need for much more.

I don't remember what came after that, but I do remember some "dark" periods of struggling and feeling dissatisfied. I was able to get some basic C++ completion after a lot of effort, using whatever plugin authors were able to make with Vim's capabilities (do you remember vimproc.vim? I certainly do!), and libclang wrappers. When I started to see "fancy" completion plugins, with roughly IDE-like convenience and features, I had to switch to an IDE for most of my job, because I worked on a project where the setup was too demanding, and as a new busy parent, I didn't have the time to put that much effort.

My config has been rotting for a long while, and now I'm making some extra effort to clean up the mess, remove dated plugins (some have been lagging behind more than a decade due to an extension or patch that I made to them), and move to Lua.

I learned quite a lot of VimL, either by writing some of my own, or reading and patching other people's plugins. But, oh dear, I don't want to write any more in that language! I'm happy that it's still supported very well for the plugins I still love, but I've found many new toys to play with, written in Lua and leveraging new Neovim functionality, and that seems purely additive, in the best possible way. I can have the best of the old and the new.

That, the progress, the new plugins, the new APIs, the features, the community, etc., is something that I somehow always wished, and I'm glad that it came to pass.

I'm so grateful for all of this, and I just wanted to share it. They say it's healthy, so I hope it makes you some good as well!

8
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/AbdSheikho on 2026-04-23 03:21:41+00:00.


I know it's an odd timing for an nvim-treesitter related plugin, but I'm a big fan of their work and appreciate it. But the other day I was attempting to change a monster of boilerplate keymaps that I've set with nvim-treesitter-textobjects, which if anyone tried would definitely know that are tedious to set/modify. And I thought to myself "I'm a proper engineer, I should at least apply some design patterns to to make my boilerplate more coherent".

A few days later I ended up with a Lua module that can be made into a separate plugin, which I did and I thought of sharing it with you.

I know I lack the imagination to do some weird stuff to my config, or create a revolutionary/goundbreaking plugin, but I do like to create stuff that make my life easier. Thus, Having a plugin that makes reading and editing easier would be a huge plus (at least for me).

So

My plugin (nvim-keysitter) is for those who write their own config, and currently uses nvim-treesitter-textobjects for their jump/around/inner keymaps. It provides you with an instance that you can call to set your keymaps.

My config went from this: (this example only shows functions and classes)

-- keymaps
vim.keymap.set({ 'x', 'o' }, 'am', function()
 require('nvim-treesitter-textobjects.select').select\_textobject('@function.outer', 'textobjects')
end)
vim.keymap.set({ 'x', 'o' }, 'im', function()
 require('nvim-treesitter-textobjects.select').select\_textobject('@function.inner', 'textobjects')
end)
vim.keymap.set({ 'x', 'o' }, 'ac', function()
 require('nvim-treesitter-textobjects.select').select\_textobject('@class.outer', 'textobjects')
end)
vim.keymap.set({ 'x', 'o' }, 'ic', function()
 require('nvim-treesitter-textobjects.select').select\_textobject('@class.inner', 'textobjects')
end)
vim.keymap.set({ 'n', 'x', 'o' }, ']m', function()
 require('nvim-treesitter-textobjects.move').goto\_next\_start('@function.outer', 'textobjects')
end)
vim.keymap.set({ 'n', 'x', 'o' }, ']]', function()
 require('nvim-treesitter-textobjects.move').goto\_next\_start('@class.outer', 'textobjects')
end)
vim.keymap.set({ 'n', 'x', 'o' }, ']M', function()
 require('nvim-treesitter-textobjects.move').goto\_next\_end('@function.outer', 'textobjects')
end)
vim.keymap.set({ 'n', 'x', 'o' }, '][', function()
 require('nvim-treesitter-textobjects.move').goto\_next\_end('@class.outer', 'textobjects')
end)

vim.keymap.set({ 'n', 'x', 'o' }, '[m', function()
 require('nvim-treesitter-textobjects.move').goto\_previous\_start('@function.outer', 'textobjects')
end)
vim.keymap.set({ 'n', 'x', 'o' }, '[[', function()
 require('nvim-treesitter-textobjects.move').goto\_previous\_start('@class.outer', 'textobjects')
end)

vim.keymap.set({ 'n', 'x', 'o' }, '[M', function()
 require('nvim-treesitter-textobjects.move').goto\_previous\_end('@function.outer', 'textobjects')
end)
vim.keymap.set({ 'n', 'x', 'o' }, '[]', function()
 require('nvim-treesitter-textobjects.move').goto\_previous\_end('@class.outer', 'textobjects')
end)

To this:

local keysitter = require 'keysitter'
local tsto = keysitter.new('treesitter-textobjects', { group\_prefix = 'o' })

-- a setup function
tsto.setup({ 'FileType', 'BufEnter' }, 'keysitter', function()
 -- tsto:set('f', 'function'):around():inner():next():prev()

for k, v in pairs {
 -- ['b'] = 'block', -- or b for brace-less languages like python
 ['f'] = 'function',
 ['i'] = 'conditional',
 ['l'] = 'loop',
 ['r'] = 'return',
 ['t'] = 'attribute',
 ['x'] = 'regex',
 } do
 tsto:set(k, v):around():inner():next():prev()
 end

tsto:set('/', 'comment'):around():inner():goto\_start()
 tsto:set('{', 'block'):around():inner():goto\_start():goto\_end { key = '}' }
 tsto:set('(', 'call'):around():inner():goto\_start():goto\_end { key = ')' }
 tsto:set(',', 'parameter'):around():inner():goto\_start():goto\_end { key = '.' }
 tsto:set(';', 'statement'):around():goto\_start():goto\_end { key = ':' }

tsto
 :set('=', 'assignment')
 :around()
 :inner({ attribute = 'rhs' })
 :goto\_start({ attribute = 'lhs' })
 :next\_start({ attribute = 'rhs', key = '-' }, { desc = 'next assignment rhs' })
 :previous\_start({ attribute = 'rhs', key = '-' }, { desc = 'previous assignment rhs' })

tsto
 :set('c', 'class')
 :around()
 :inner()
 :next\_start({ motion = ']', group\_prefix = '', key = ']' })
 :next\_end({ motion = ']', group\_prefix = '', key = '[' })
 :previous\_start({ motion = '[', group\_prefix = '', key = '[' })
 :previous\_end { motion = '[', group\_prefix = '', key = ']' }
end, { desc = 'Set keysitter keymaps for nvim-treesitter-textobjects' })

It provides sensible defaults with the ability to override them per keymap, while also does some inner checks, so if some keymap can't/shouldn't be available for a specific filetype (trying to set function for markdown file), then it won't be set for that file.

Currently I'm the only intended user for this plugin, but I'll be happy to hear your thoughts.

9
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/JoK3rOp on 2026-04-22 13:17:12+00:00.


Recently I spent some time experimenting with vim.pack and found it surprisingly powerful.

Core idea

  • vim.pack ignores the data field in plugin specs
  • this makes it safe for custom metadata
  • you can layer your own behavior without additional tooling

Example: custom build field

lua vim.pack.add({ { src = "https://github.com/Saghen/blink.cmp", data = { build = "cargo build --release", }, }, })

Hook into PackChanged

local function run\_build(spec, path)
 local build = spec.data and spec.data.build
 if not build then return end

vim.system({ "sh", "-c", build }, {
 cwd = path,
 text = true,
 })
end

vim.api.nvim\_create\_autocmd("PackChanged", {
 callback = function(ev)
 if ev.data.kind == "install" or ev.data.kind == "update" then
 run\_build(ev.data.spec, ev.data.path)
 end
 end,
})

Lazy loading with data.event

Step 1: disable automatic loading

lua vim.pack.add({ { src = "https://github.com/Saghen/blink.cmp", data = { event = "InsertEnter", }, }, }, { load = false, })

  • prevents loading during startup
  • shifts control to user-defined triggers

Step 2: use data as a declarative trigger

for \_, plug in ipairs(vim.pack.get()) do
 local spec = plug.spec

if spec.data and spec.data.event then
 vim.api.nvim\_create\_autocmd(spec.data.event, {
 once = true,
 callback = function()
 vim.cmd("packadd " .. spec.name)
 end,
 })
 end
end

What this enables

  • per-plugin lazy loading without additional abstractions
  • a consistent pattern across different features
  • minimal and explicit control over behavior

Combining both behaviors

lua data = { build = "cargo build --release", event = "InsertEnter", }

  • install/update → build executes
  • first matching event → plugin loads

Summary

  • vim.pack provides:

    • installation
    • updates
    • lifecycle events
  • data provides:

    • build instructions
    • lazy loading triggers
    • an extension surface

Takeaway

The data field effectively turns vim.pack into a set of low-level primitives that can be composed into higher-level features such as build hooks and lazy loading, while keeping the system simple and transparent.

AI helped me write this since I'm not great at explaining 😅

10
submitted 3 months ago by [B] to c/neovim@lemmit.online
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/chapeupreto on 2026-04-22 23:17:27+00:00.


NVIM v0.12.2 Following is a list of commits (fixes/features only) in this release. See :help news in Nvim for release notes.

BREAKING

  • c76bbd0 diagnostics: restore is_pull namespace argument #38698
  • 0a3add9 vim.pos: require buf param on vim.pos, vim.range #38665

REVERTED CHANGES

  • 5920a1d "fix(lsp): only resolve LSP configs once" #38990

BUILD

  • 26bcffd gen_char_blob.lua: "bad argument to format" if path contains "%" #39274

FEATURES

  • e767b48 editor: ZR performs :restart #38967
  • 6b86f55 connect: filepath completion #38959
  • ceaa8b6 filetype: vim.filetype.inspect() returns copy of registry
  • 78234f2 vim.version: add __eq to vim.VersionRange #38881

FIXES

  • a7214c0 don't make path empty when truncating trailing slashes (#38844)
  • b3b5674 :restart: --listen reusage on windows #39281
  • 3e0ece4 :restart: avoid ERR/WRN logging on Windows with --listen (#39287)
  • eaa8cff api: expose fg_indexed/bg_indexed in nvim_get_hl (#39240)
  • 8669e34 api: nvim_clear_autocmds() "event" type check
  • 4053141 api: nvim_get_hl drops groups defined with link_global #38492
  • 319c031 channel: fix Ctrl-C handling regression in terminal
  • ba3de79 cmd: ++p, ++edit should match "word" boundary #39146
  • c6c3484 cmdline: 'inccommand' preview after setcmdline() #38795
  • 9e1c542 cmdline: avoid 'incsearch' recursion after redraw #39303
  • 4a18c05 cmdline: avoid Ex-mode NULL cmdline_block event #39043
  • e4dc08d completion: update CursorColumn during completion (#39159)
  • 25170ca diagnostic: virtual_lines should anchor at end_lnum, not lnum #38701
  • 6cb5012 difftool: ensure standardized locale for diff output parsing #38853
  • 9966afb drawline: hang while redrawing diff filler above fold #39219
  • 1ebb9b1 eval: crash on some NULL ptr deref #39182
  • 6ae6cf5 float: don't unload 'hidden' float buffer with :close! (#39304)
  • d86d975 gf: handle local file: URI paths #38915
  • 11a4a00 health: recognize Zig build optimization levels #38804
  • 36bade7 highlight: preserve inherited colors when update=true breaks links #38750
  • 7ffee0d lsp: apply_text_edits causes unwanted BufDelete events #38778
  • df72664 lsp: check filetype registry in health (#38885)
  • 18b1ff8 lsp: check stale context in hover/signature callback #38724
  • fe09c71 lsp: send didOpen on save to all clients+groups #37454
  • 34cbfec lsp: show CompletionItem.detail in info popup #38904
  • 6250019 lsp: show_document can't position cursor past EOL in insert-mode #38566
  • 5907307 lsp: skip codelens refresh redraw for deleted buffer #39193
  • 9aadbed lua: make vim._with() work with buf=0 and win=0 context #39151
  • 0039785 lua: make vim.deep_equal cycle-safe
  • 53038d2 lua: not obvious which _meta/ files are generated #39035
  • f2a5c90 marks: adjust marks when unloading "nofile" buffer #39118
  • a358b9b message: flush messages before "empty" msg_show #38854
  • 1b36b75 messages: truncate warning messages only in display (#38901)
  • f7e3cf1 move: avoid integer overflow with large 'scrolloff' (#39251)
  • 452a9b8 normal: pass count to 'keywordprg' as arg1 #38965
  • 4d4e196 options: default 'titlestring' shows CWD #39233
  • 6583833 pack: GIT_DIR/GIT_WORK_TREE env vars may interfere #39279
  • df3d7e3 pack: make 'stash' call compatible with older Git #38679
  • 1a5d41a pack: more advice for out-of-sync lockfile #38931
  • ca0e381 pum: crash with 'pumborder' and wide item (#38852)
  • 38be447 pum: info float width grows on reselect with 'linebreak' #38680
  • eee2d10 rpc: trigger UILeave earlier on channel close (#38846)
  • 898ccbc smoothscroll: crash when resizing to textoff with showbreak
  • 5ac95da statusline: no window-local highlights for last line 'ruler' #38879
  • ffb0ebb substitute: don't crash with very large count (#39272)
  • abcc534 terminal: do not reflow altscreen on resize #39024
  • d3ef776 terminal: forward streamed bracketed paste properly (#39152)
  • 111c7f4 treesitter: TSNode:id() with NUL byte causes unreliable select() #39134
  • 2ea9ed3 treesitter: restore highlighting on 32 bit systems #39091
  • c294bc3 tui: check background color on resume
  • b08c289 ui2: dialog paging is inconsistent #39128
  • c6b5eb3 ui2: don't dismiss expanded messages for non-typed key #39247
  • c6578ea vim.filetype: match() fails if g:ft_ignore_pat is not defined #39158
  • a15e27f vim.pos: Range:intersect() drops buf #38898

VIM PATCHES

  • 2721464 450895d: runtime(make): fix wrong highlighting with $ inside double quotes (#39177)
  • 891c6c9 8.2.2440: documentation based on patches is outdated (#39144)
  • e203257 9.2.0331: spellfile: stack buffer overflows in spell file generation (#38948)
  • 8ba79b4 9.2.0345: Wrong autoformatting with 'autocomplete' (#39060)
  • 9c11229 9.2.0357: [security]: command injection via backticks in tag files (#39102)
  • 5153006 9.2.0364: tests: test_smoothscroll_textoff_showbreak() fails
  • 187a34d 9.2.0380: completion: a few issues in completion code (#39264)
  • 15d824e 9.2.0385: Integer overflow with "ze" and large 'sidescrolloff' (#39289)
  • 19a54ad e666597: runtime(doc): make window option description a bit less vague (#39173)
  • d672f0f partial:9.2.0348: potential buffer underrun when setting statusline like option (#39063)

OTHER

  • ed47b27 feat(api): rename buffer to buf (#38899)
  • 570d8fd feat(api): rename buffer to buf in retval #39015
  • 15991ab feat(events): trigger MarkSet autocmd in :delmarks (#39218)
  • b6a3ad3 fix(ui2): ensure msg window is visible after closing tab (#39245)
  • 099489b refactor: update usages of deprecated "buffer" param #39090
  • 55d3d1b test(lsp): extract buf/util parts from lsp_spec.lua (#39170)
11
submitted 3 months ago by [B] to c/neovim@lemmit.online
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/vieitesss_ on 2026-04-22 21:28:13+00:00.

12
submitted 3 months ago by [B] to c/neovim@lemmit.online
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/5long on 2026-04-22 14:00:40+00:00.


Recently I've enabled Codebook in Neovim for spell checking. However, it adds a lot more info (literally INFO level messages) to diagnostics, to which point that ]d can't jump quickly to meaningful errors / warnings that I need to fix ASAP.

Fortunately, Neovim's Lua API is pretty easy to work with. I've cooked up my own mappings to make ]d and [d only jump between the currently highest level of diagnostic messages. The code is too trivial to be made into a plugin but I'd like to share it anyway for what it's worth.

13
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/SorryImaCanuck on 2026-04-22 05:39:40+00:00.


I've been eyeing neovim for a long time now, looking to make the switch from doom emacs and it seems like with the release of 0.12 my timing couldn't be better.

I've seen a lot of hype around ui2, some saying it's a "complete rewrite of the UI framework" and that it's meant to replace extui (external UI) and provide improvements to the UI API. I've also seen some really interesting projects like artio and minibuffer which both interest me as I'd like to be able to configure my plugins to contribute to a unified UI in a consistent manner.

However all I can seem to find in the docs is this brief reference to the cmdline and message related options and then the API docs do describe the associated release for each function but I'm looking for something more.

Anyone else in the same boat?

14
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/lukas-reineke on 2026-04-22 07:34:33+00:00.


Hey everyone,

I've been the only active moderator of both r/vim and r/neovim for years, and it's time to bring in some help. My life has changed quite a bit, I got married and recently had a baby, so I can no longer spend the same amount of time on them as I used to.

I'm also taking this opportunity to thank the other moderators who have been on the team over the years. They put in a lot of work to help build these communities into what they are today, and I'm grateful for that. As part of this transition, I'll be removing them from the mod team since they've been inactive for a long time.

About this mod role

I'm recruiting 2 new moderators who will cover both r/vim and r/neovim. I want to be upfront, this is not glamorous work. The vast majority of moderation here is:

  • Checking posts against the rules and removing/approving accordingly
  • Answering basic questions in modmail
  • De-escalating the occasional heated thread

It's repetitive. It can be tedious. Most of it goes unnoticed. If you're looking for influence, this isn't for you.

What we are looking for

  • Long-time member of the Vim/Neovim community (you don't need to be an expert, but you should understand the culture)
  • Comfortable with Reddit's mod tools
  • Prior moderation experience is a plus, but not required

Requirements

  • Daily availability. I need someone who can check in every single day, even briefly.
  • Timezone. Ideally you're based in Europe or the Americas to give the communities around-the-clock coverage. I'm based in Japan (JST, UTC+9), so I have Asian hours covered.
  • A thick skin. Users sometimes take mod actions personally. I've had people track me down across the internet to harass me over a removed post or a ban. You need to be able to stay professional, respond calmly, and not engage when someone is trying to bait you. This role requires a level of detachment. You're acting on behalf of the community, not yourself.

How to apply

You can apply through the subreddits mod application in either r/vim or r/neovim

https://www.reddit.com/r/vim/application/

https://www.reddit.com/r/neovim/application/

15
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/TheTwelveYearOld on 2026-04-21 23:51:24+00:00.

16
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/TheTwelveYearOld on 2026-04-21 20:34:40+00:00.


When I first started using Neovim, I really overthought my plugins and replacing Obsidian for my markdown workflow. I had copied some of its shortcuts: <c-i> for italic text, and <c-b> for bold. Now I've been wondering if I really want to keep them, I never use them and instead just do the operations that they map to, I use mini.surround for markdown. It just feels more natural to write operator motion commands, and I can be certain it operates on the exact text I specify.

vim.keymap.set({ "n" }, "<D-b>", "saiwb", { remap = false })
vim.keymap.set({ "v" }, "<D-b>", "sab", { remap = false })
vim.keymap.set({ "n" }, "<D-i>", "saiwi", { remap = false })
vim.keymap.set({ "v" }, "<D-i>", "sai", { remap = false })

17
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/Next-Dig7619 on 2026-04-21 17:23:24+00:00.

18
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/delphinus35 on 2026-04-21 13:30:17+00:00.

19
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/ZealousidealGlass263 on 2026-04-21 11:48:00+00:00.


Sometimes i want to write a compiler ou a syntax file, for languages that doens't have them. but current i need to do it in vimscript. this will be ported in lua? or these vimscripts will be manteined?

20
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/Imngzx on 2026-04-19 13:35:10+00:00.

21
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/Narrow_Gap_3445 on 2026-04-20 19:58:18+00:00.


Hi, I’m going to college and majoring in Math and Physics. Therefore, I need to take notes for both subjects. My question is: is there a good way to take notes for this in Neovim? I also want to manage my academic life using a to-do list and agenda. I’ve heard that Emacs with Org mode is great for this purpose. What are your suggestions and opinions about this?

Has anyone who is a Math or Physics major, or someone who uses Neovim for note-taking, used this kind of workflow? I’d love to know how you manage your notes and academic life. I will also be writing a lot of LaTeX and research papers, so is there any way to configure Neovim for this task? I know Markdown files exist, but are they as effective as Org files and Org mode in Emacs for this purpose?

I would really appreciate any suggestions or help!

22
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/BlackberryActual1994 on 2026-04-20 06:13:59+00:00.


Do you prefer:

  • built-in terminal

  • keymaps

  • plugins like overseer/sniperun

  • or external tools (tmux, etc.)

Looking for real workflows, not just "use :term"

:)

23
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/TheTwelveYearOld on 2026-04-19 07:22:22+00:00.

24
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/Cannon72001 on 2026-04-18 03:04:57+00:00.


Hey everyone!

Quick update — claude-preview.nvim has been renamed to code-preview.nvim since we now support both ClaudeCode and OpenCode as backends.

Migration steps:

  1. Update your plugin spec:
      • "Cannon07/claude-preview.nvim"
      • "Cannon07/code-preview.nvim"
  2. Update your config:
      • require("claude-preview").setup()
      • require("code-preview").setup()
  3. Re-run :CodePreviewInstallClaudeCodeHooks or :CodePreviewInstallOpenCodeHooks to update hook paths.

The old :ClaudePreview* commands still work with a deprecation warning — they'll be removed in a future release.

Github: https://github.com/Cannon07/code-preview.nvim

25
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/forivall on 2026-04-18 01:12:05+00:00.


I came across an archived post while trying to find an lsp server to just show PR comments, but eventually found prlsp, so i figured i may as well share it here in a post. Maybe it'll help someone. (I'm a helix user, and it does what i needed it to do)

view more: next ›