Last updated: 2026-05-31 05:00 UTC
| Designed to coexist with How it works:
Configurable keywords( [link] [comments] |
| I just released an early version of It renders display math in Markdown using actual LaTeX through a Rust background worker built around RaTeX. I built it because I wanted math-heavy Obsidian/Markdown notes to be readable in Neovim without switching to Typst or replacing my existing Obsidian Markdown setup. A few things it supports right now:
render-latex.nvim Jupyter support through integration with Jupynvim I’m still working on experimental inline image rendering and SVG rendering because the positioning logic is trickier. I’d love help testing it across terminals, tmux setups, fonts, themes, and real-world notes. Bug reports, feature requests, weird edge cases, and stars are all very welcome. [link] [comments] |
| I built a small Neovim plugin that turns your current buffer into a typing practice session. It dims the text and reveals it as you type, while tracking: - WPM (words per minute) Repo: https://github.com/barelief/buftyper.nvim P.S. tested only with LazyVim so far - would be great to hear how it behaves in other setups. Feedback, ⭐, ideas, or edge cases are welcome. [link] [comments] |
To be honest, I became used to the vanilla key bindings and style. Most times, I prefer them.
I can do almost everything in the vanilla way. I can move between panels. I can move between tabs. I can move between buffers.
Thus, I think I can use any vanilla Neovim/Vim for real work without a problem.
Well, almost. One thing stops me.
There is only one thing that I never got used to: the damn netrw.
I do not feel comfortable with it. I do not like it, even with some configuration.
I wonder if another way exists to move between files in vanilla Neovim or Vim without netrw.
Kulala is a REST/GraphQL/gRPC/Websocket Client Interface for Neovim.
https://github.com/mistweaverco/kulala.nvim
Since the breaking 6.0.0 release a few days ago, we re-implemented a few features from the 5x range, but put them behind pretty verbose settings inside .http files.
Also, a pretty nasty bug related to dropped cookies on localhost has been fixed (thanks to whoever reported it and was able to keep up with my grumpy mood ♥️)
Also a big shout out to the person that reported a multipart form-data bug in such detail! The report mentioned a rfc which I didn't implement correctly and thus some servers wouldn't be able to correctly read the form data. httpbin doesn't care and so I couldn't see this happening.(Yes there are unit tests, but they just tested my broken implementation 🙈). I added some regressions tests for that. I think that was broken in the 5x range before, but good it's fixed now.
cookies not sent to localhost when server set cookie secure flag, but server is http (rfc says localhost is an exception)
multipart form-data not correctly attaching external data, which caused some servers to not process the request and drop data or crash
# @kulala-curl-* passthroughs (kulala-curl-n will become curl -n, kulala-curl--connect-timeout 1 will become curl --connect-timeout 1
# @kulala-vscode-restclient-compat on a document level (before the first request will enable the vscode rest-client variables like {{ REQUEST_NAME.response.body.$.json.token }}
curl flags can be set per document (at the top of the .http file before the first request delimited by ### and/or per request. Request level operators always take precedence.
Enabling vscode rest-client compatibility mode has been requested in the last Reddit post.
Setting curl flags has also been requested and are a nice addition and still make it obvious for anyone reading the .http file that this is non-standard.
The reasoning behind why it's not in the setup or a config file, is that for people using other clients than vscode rest-client it's at least irritating why there is something like this at the top.
It should be really verbose , so that you can see that this might be special and break in jetbrains.
Why prefix it with kulala and not just vscode-restclient-compat?
Because we're just enabling compat and not disabling jetbrains features.
Over the past few weeks I have been looking to expand the moderation team to help keep the subreddit running smoothly.
First, I’d like to thank everyone who reached out and expressed interest in helping moderate the community. I spoke with many different candidates and genuinely appreciate the time everyone took to chat with me and share their thoughts on the subreddit.
After those conversations, I’m happy to welcome u/offbynan and u/gorilla-moe to the moderation team.
Please join me in welcoming them to the team. There are no major changes planned at this time. If you have any questions, suggestions, or concerns, feel free to leave a comment below or reach out via modmail.
| This plugin is one part of my recent pursuits for a better Jujutsu experience in neovim (especially around workspaces). https://tangled.org/ronshavit.com/jjannotate.nvim It's a minimal git blame like plugin that features: - Color coded change IDs - Highlighting of lines related to change ID under the cursor - Works in any Jujutsu workspace, even when there's no And I'm planning on adding: - Hope you find it useful! [link] [comments] |
| https://reddit.com/link/1tn3xd5/video/9ib72l6n493h1/player Small plugin I use daily. K to hover, + to expand the type one level, - to collapse. Uses TS 5.9 verbosityLevel via vtsls. https://github.com/nemanjamalesija/ts-expand-hover.nvim [link] [comments] |
| As the title, here's the showcase how it works Currently support: ⚠️ Warning: This plugin was 100% vibe-coded with Antigravity. Use at your own luck! PS: Some ppl called this a key logger, fair concern honestly, it kinda is. BUT it did show case how I get my ctrl tab 🥸 . Btw, it's pretty small script, u guys can just copy and paste directly to the config. Thanks for being cautious abt things on the internet [link] [comments] |
Just started working with jujutsu workspaces and noticed that my usual git plugins don't work over there (since there's no .git dir).
I found this discussion and decided to make it into a plugin - mini.diff.jj.
Hope you find it useful, and major credits to farnoy for the initial implementation.
| I didn't much care for the output of Most notably, it: * only uses one line each for vertical space-efficiency * is a bit smarter about the source column * color-groups by plugin (respecting your colorscheme) Currently recognizes plugins from Lazy, vim-plug, and packer. (PRs welcome, of course.) UPDATE: Now supports [link] [comments] |
This may be useful for those who migrate to vim.pack.
When developing a plugin, you would want to temporarily test your changes before pushing them to the remote repo.
lazy.nvim allows using dir = ... parameter in plugin specs for that. With vim.pack.add it's doable too using file:// for the URI.
Example (comment out the remote URI and add a local one temporarily):
lua vim.pack.add({ 'file://' .. os.getenv('HOME') .. '/local_path_to_your_plugin' --'https://<remote_url_of_your_plugin>' })
| Link: https://github.com/jeangiraldoo/codedocs.nvim Hi there! This update doesn't add support for new languages or code annotations, but instead focuses on making the plugin more customizable. This new update makes the following changes:
The next update will improve the codebase and expand the language support! :D [link] [comments] |
Beepboop.nvim aims to add configurable audio cues to Neovim. Check out the demo and the plugin at https://github.com/EggbertFluffle/beepboop.nvim.
This plugin has existed for a while now, but I am now releasing a drastic rewrite, which I hope improves upon the original execution significantly.
The biggest part is THEMES. Anyone can create their own theme for beepboop and share it with other people to try out. Themes are simply git repositories, so they are easy to share, use, and beepboop.nvim comes with several themes already! Feel free to share your themes on the theme list as well.
(Edit: Left the wrong link T-T)
In the past, I used PyCharm quite a bit, and one feature I found surprisingly useful was its built-in spell checker and grammar checker.
The grammar checker was helpful when writing docstrings, comments, and documentation, while the spell checker helped catch typos in variable names, function names, class names, and other identifiers.
I'm curious what the Neovim community is using for this. Are there any plugins, LSP-based, so
lutions, or external tools that you would recommend for both spell checking and grammar checking?
| tree-sitter-dl is a small script to help manage tree-sitter parsers and their queries! Why use a script for something that is commonly done by a Neovim plugin?
This follows the archival of nvim-treesitter. If you're interested, check out the GitHub repository. I also wrote a blog post if you want an in-depth exploration of what the script can do and how it might fit into your configuration. I'm always looking for feedback, so please let me know if you have any in the comments! [link] [comments] |
I use neovim 0.12.2 with nix-darwin on a Mac silicon, and even without any configuration file, the neovim CPU usage is at 100%. This behavior is identical with MacOS terminal and kitty.
FIXED: there was a stuck "nvim --embed" process. pkill -9 the process fix the problem.
I dont mean to reselect the text that was last selected with gv.
I mean something like how . repeats the last change.
For example, if i used vi" to select inside "", i want to be able to easily do the same selection on a different pair of quotes. I dont want to reselect the same text that is in the first pair of quotes.
| Jump through https://github.com/msaher/bufix.nvim
Some differences compared to the quickfix list
[link] [comments] |
Cursorline is one of the many opts i got from kickstart.nvim, i tried disabling it for aesthetics, and i actually don’t miss it at all. I prefer to have my window be roughly 100x33, the white background on a character provides enough contrast to see where i am right after switching from apps with hotkeys.
I don't know how many people use odin but you may have noticed that the default configuration in the vim runtime is not good. The compiler is missing, the indent is very simplistic and some of what little is there of the syntax is wrong.
I don't use external formatting because a decent indentexpr is good enough for me, and I mostly don't use treesitter, I have not bothered configuring it since migrating to vim.pack and I have not missed it.
I found that highlighting based on it tends to lag more than the default vim syntax, same for the semantic tokens of the lsp. Besides being snappier vim syntax files also render trivial catching some typos by linking to Error, and I find it much less intrusive than the popups or virtual lines of the lsp. I type '=!' instead of '!=' and it instantly becomes red, very cool.
If I try to do the same thing with the lsp underline it catches a bunch of things that would have been fine in a moment, and if I relax it then it's not very snappy, I may as well just get the compiler error. I guess that could depend on the lsp and your configuration though.
There are other plugins that aim at enhancing the neovim odin coding experience but they are a combination of very opinionated and not good, so I kept adding things to my after folder until I decided to publish it.
There are still edge cases to fix and design decision for the syntax to make but it is good enough for use.
https://codeberg.org/mindhopper/nvim-odin
As an aside I looked at other syntax files to see how things are done, and the answer is that everyone does whatever they want lol, there is everything from spaghetti regex to script functions to complex interlocking regions. I just tried to see what came out and I ended up with something of a spaghetti regex. Anyway it works and the fact that most groups are confined to one line makes it fast, I think, I'm sure I did many things that could have been done better
| Hey everyone. I recently moved to Neovim full time and have been deep in the rabbit hole of customising my setup. One thing that kept nagging me was the bookmarking situation. I tried Harpoon2, Arrow, and a few others. They're all great but each had something small missing for me. Harpoon2 dropped line-number memory in v2, and most picker UIs feel search-first, which means you're hunting for files rather than getting a clear overview of your working set. So I spent the last day or so building Cairn. It's a workspace-scoped file mark system with a custom floating picker. Heavily inspired by Harpoon and Telescope, but with a few opinions baked in:
I've basically ditched my bufferline entirely since setting this up. It's what I've been wanting for a while to keep my workspace in large repos nice and quiet (I prefer to see code for the most part and keep UI out of the way until I need it) Demo (yes that's my very loud keyboard, it felt appropriate): 👉 https://youtu.be/O0baxiIQ8nQ GitHub: https://github.com/GooseRooster/cairn.nvim Would love feedback, bug reports, or thoughts on the design decisions. Hopefully this plugin can be useful for others! [link] [comments] |
Hey guys i created a plugin that helps to quickly share code with anyone while in neovim. No need to open website create link.
https://github.com/ronish-maharjan/caret.nvim
Give some feed back
A thread to ask anything related to Neovim. No matter how small it may be.
Let's help each other and be kind.
| I keep random tables around for when I'm stuck — character names, plot twists, locations, whatever. Tabbing out to a browser or PDF every time kills flow, so I built a plugin that does it from the editor. kleros.nvim loads any set of random tables and lets you roll them with 5 table types available: simple, range, select, compound (roll against sub-tables), and procedural templates with placeholder resolution. Advantage/disadvantage with Results show in a floating window with copy ( It's a niche thing — maybe you write, maybe you run games, maybe you just like having random tables in your editor. Either way, feedback welcome. [link] [comments] |
Zelensky Calls For 'Consequences' After Russia Hits Kyiv With One of Heaviest Bombardments Since War Began
https://time.com/article/2026/05/24/kyiv-Oreshnik-missile-strikes-zelensky-/
Russia uses hypersonic Oreshnik missile in mass attack on Kyiv
Ukrainian President Volodymyr Zelenskyy said Sunday Russia used the powerful hypersonic Oreshnik ballistic missile during a mass drone and missile attack on Kyiv on Sunday that killed at least two people, marking the third time the weapon has been used in the four-year war.
The intense aerial assault damaged buildings across the Ukrainian capital, including near government offices, residential buildings and schools.
The Oreshnik, which is capable of carrying nuclear or conventional warheads, struck the city of Bila Tserkva in the Kyiv region, Zelenskyy said in a post on Telegram. The target was not immediately clear.
Trump to Deploy 5,000 Troops to Poland, Surprising the Pentagon
President Trump announced on Thursday that the United States would deploy 5,000 troops to Poland, despite the Pentagon’s decision a week ago to cancel the deployment of thousands of U.S. troops there.
In a social media post that caught Pentagon officials by surprise, Mr. Trump suggested that he was making the move “based on the successful election” of Karol Nawrocki, Poland’s conservative nationalist president whom Mr. Trump endorsed in his election — nearly a year ago.
Mr. Trump’s apparent reversal of the Defense Department’s decision was the latest in series of head-snapping announcements that have stunned leaders of Poland, one of the administration’s staunchest allies in Europe, and drawn intense bipartisan criticism from lawmakers who said troop cuts in Eastern Europe would send the wrong signal to Russia.
The Pentagon declined to comment on Thursday, referring questions to the White House. That left a raft of unanswered questions, including whether the military would now need to cut troops elsewhere to fulfill Mr. Trump’s larger goal of having Europe shoulder more of its own security burdens and allow the United States to reduce its roughly 80,000 forces there.
—NYT
Russians covertly trained by China return to fight in Ukraine, sources say
China's armed forces secretly trained about 200 Russian military personnel in China late last year and some have since returned to fight in Ukraine, according to three European intelligence agencies and documents seen by Reuters.
While China and Russia have held a number of joint military exercises since Moscow's full-scale invasion of Ukraine in 2022, Beijing has repeatedly stated that it is neutral in the conflict and presents itself as a peace mediator.
The covert training sessions, which predominantly focused on the use of drones, were outlined in a dual-language Russian-Chinese agreement signed by senior Russian and Chinese officers in Beijing on July 2, 2025. The agreement, reviewed by Reuters, said about 200 Russian troops would be trained at military facilities in locations including Beijing and the eastern city of Nanjing. The sources said around this number subsequently trained in China.
The agreement also said hundreds of Chinese troops would undergo training at military facilities in Russia.
Kyiv mourns as death toll from Russian attack in the Ukrainian capital rises to 24
he death toll from a Russian missile attack that flattened a Kyiv apartment building rose Friday to 24, including three teenagers, Ukrainian President Volodymyr Zelenskyy said as he led the mourning for one of the deadliest attacks on the capital in the 4-year-old war.
The cruise missile hit the nine-story corner apartment block Thursday during what the Ukrainian air force said was Russia’s biggest barrage on the country of the full-scale invasion. Emergency workers finished digging through the rubble searching for victims after more than a day, Zelenskyy said on X.
Crowds of grieving people — many of them children — streamed toward a makeshift memorial beneath a tree near the destroyed building.
Teenagers clutching bouquets arrived in groups and broke into tears as they approached the growing mound of flowers and stuffed toys beside photographs of the dead. A portrait of a girl in a school uniform, posed against a bright yellow backdrop, was among the photos.
Zelenskyy and other top government officials visited the site to pay tribute to the dead, as did Kyiv-based foreign diplomats.
—AP
Zelenskiy says Russia considering plan to attack NATO country from Belarus
President Volodymyr Zelenskiy said on Friday that Russia was seeking to draw Belarus deeper into its war in Ukraine and was weighing plans to attack Ukraine's north or a NATO country from Belarusian territory. "We continue to document Russia's attempts to draw Belarus deeper into the war against Ukraine," Zelenskiy said on the Telegram messaging app after meeting military and intelligence officials.
He said Ukraine knew of additional contacts between Russia and Belarusian President Alexander Lukashenko to persuade him to join "new Russian aggressive operations". "Russia is considering plans for operations to the south and north of Belarusian territory – either against the Chernihiv-Kyiv direction in Ukraine or against one of the NATO countries directly from the territory of Belarus," he said, without providing any further details. Belarus borders Ukraine to the south, and NATO members Poland, Lithuania and Latvia to the north and west. There was no immediate response to Zelenskiy's comments from Moscow or Minsk. Moscow does not disclose its military plans in Ukraine, which are classified as state secrets.
Russia fires 800 drones at Ukraine despite recent talk by Putin and Trump of possible peace
—AP
Deadly Russian drone attacks on Ukraine resume after ceasefire expires
—BBC
Inside Russia’s push to recruit students as drone pilots in Ukraine
“No one wants to join,” one student at a university in Siberia told NBC News. “No one is interested. Everyone understands that it’s not as they say it is.”
Students at universities across Russia are being promised high salaries, no front-line duty and a return to their studies within a year with free tuition if they join Russia’s newly formed drone force, meant to give Moscow an edge amid Ukraine’s significant leaps in drone warfare.
But rights activists told NBC News the offer could be a trap that would see students in the thick of the fighting in Ukraine, risking being drafted into front-line infantry units with no way out until the war ends.
The intense recruitment drive has accelerated since January, reflecting the increasingly crucial role of drone warfare in the conflict, now into its fifth year. Russia is sustaining heavy casualties, and the U.S.-led peace talks have stalled amid the focus on the Middle East.
Andrey, a student from the Krasnoyarsk region in Siberia, told NBC News he attended an event at his university in February where a man from the military enlistment office as well as a veteran of what Russia calls its “special military operation” told students, all young men, about the new drone force and its personnel needs.
They were told about all sorts of benefits of joining, said Andrey, who did not want his last name, age or the name of his university published out of fear of potential repercussions for speaking about a sensitive security topic during the war.
--NBC News
Scottish military instructor who spied for Russia jailed in Ukraine
A Scottish man who worked as a military instructor in Ukraine but was recruited to work as a Russian spy has been jailed in the country for eight-and-a-half years.
Ross David Cutmore, from Dunfermline in Fife, admitted disclosing "unauthorised information" on the location of Ukrainian units and information on foreign military trainers.
Cutmore - who arrived in Ukraine in early 2024 - was also accused of discussing terrorist attacks and illegally possessing a pistol supplied by the Russians.
--BBC







