Neovim performance improvements, C# and .NET integration, aligning bilingual parallel texts and screen keys plugin
Email Newsletter
Sign up with your email address to receive an email when a new issue of This Week in Neovim is available
Introduction
This week Neovim core shared performance improvements from recent PR's. From the community we also have a C# and .NET integration, a plugin for aligning bilingual parallel texts, a plugin to play 2048 from Neovim, a screen keys plugin for Neovim and more.
For the next couple of weeks I will be out on vacation, so don't expect another This Week in Neovim issue for at least the next 2 weeks. Maybe 3 weeks depending on how tired I am when I get back!
Hope you enjoy this weeks issue!
Neovim core
Updates of Neovim itself, which are available on Neovim nightly.
- @neovim on Twitter
- Neovim news
:h news.txt
updates in Neovim directly- PR's on GitHub
Neovim Core Commits
- feat(shortmess): "q" flag fully hides recording message (#27415)
- fix(startup): multiprocess startuptime #26790
- feat(api): pass 0 to nvim_get_chan_info for current channel (#27321)
- feat(treesitter): show root nodes in :InspectTree (#26944)
- feat(treesitter): use 0-based indexing to show ranges in
:InspectTree
Performance improved by 2x-10x for various tasks
A recent PR improved performance of several tasks, including breakindent
with wrapped lines, cursor movement, insertion with [count] and screenpos()
utf_char2cells performance improvement
A recent PR replaced binary search with SSE2 SIMD comparisons that checks 8 ranges at a time for utf_char2cells leading to performance improvements.
Neovim Plugin Community
Neovim is full of active plugins. This section is about the community and what is going on.
New plugins
iabdelkareem/csharp.nvim
Neovim plugin written in Lua, powered by omnisharp-roslyn, that aims to enhance the development experience for .NET developers.
csharp.nvim is a plugin for working with C# code in Neovim. It uses omnisharp-roslyn to provide features such as removing unnecessary using statements, fixing code issues, and enhanced go-to-definition with decompilation support.
creativenull/dotfyle-metadata.nvim
Generate dotfyle metadata for your config
dotfyle-metadata.nvim is a plugin that allows you to generate a dotfyle.json file in your Neovim configuration folder. It includes metadata that can be parsed by Dotfyle, such as installed plugins, mason tools, tree-sitter parsers & configured language servers. It also has an option to include key maps.
pauchiner/pastelnight.nvim
Neovim theme inspired in Palenight, support a lot of plugins out-of-the-box. Includes themes for iTerm2, Alacritty, Kitty, Fish and others.
hougesen/blame-me.nvim
A lean git blame plugin for neovim
blame-me.nvim is a lightweight git blame plugin that provides line information in Neovim. It has options such as the modes it is enabled for, delay before showing line information, and events to trigger the display.
NStefan002/2048.nvim
Play 2048 inside your favourite editor
2048.nvim allows users to play 2048 within Neovim, using the hjkl keys to move the squares in different directions. The goal is to reach the tile with the number 2048 while continuing to achieve the highest score possible.
marco-souza/term.nvim
Plugin for managing terminal in neovim
marco-souza/ollero.nvim
Ollero is a nvim plugin for integrating ollama with neovim locally
ollero.nvim brings Ollama to your text editor. It allows you to interact with offline LLMs through the Ollama API and manage LLMs in Neovim. It also includes features like text completion & managing AI prompts.
dlvhdr/gh-addressed.nvim
Easily view and address comments left on your PR using folke/trouble.nvim
kuznetsss/delegate.nvim
Another task runner for neovim
dlvhdr/gh-blame.nvim
View the PR blame of the current line
gh-blame.nvim is a plugin that provides GitHub PR blame annotations in Neovim. It provides PR blame on cursor hold, and offers a blame sidebar similar to fugitive.
tanloong/interlaced.nvim
Neovim plugin for aligning bilingual parallel texts
interlaced.nvim allows users to join or split bilingual sentence pairs in Neovim. It provides keybindings for various text manipulations, such as joining a line up to the previous pair or splitting a line down to the next pair. The plugin also offers commands for sentence segmentation in monolingual buffers.
tamton-aquib/keys.nvim
A screen keys plugin for neovim.
keys.nvim is a plugin for displaying keystrokes within Neovim. It allows users to see the keys they are pressing in real-time. It provides a statusline component to show the current keys being pressed.
Nedra1998/nvim-mdlink
Useful functionality for working with links in markdown
nvim-mdlink enhances the functionality of working with markdown links. It allows users to easily follow links under the cursor, create new links from selected text, open links in the default browser, and open binary files in the system's default application. The plugin provides integration with nvim-cmp for markdown link completion.
soulis-1256/eagle.nvim
Show lsp diagnostics based on mouse position
eagle.nvim adds a custom floating window that displays diagnostics provided by the Diagnostic API. It detects when the mouse hovers over code and shows the corresponding diagnostics, including nested code and multiple diagnostics on the same position. The plugin supports different colors for different types of diagnostics.
Updates
Dotfyle reaches 1000 Neovim plugins
- This week we reached 1000+ Neovim plugins on Dotfyle! Thank you everyone for using Dotfyle and contributing plugins!
- We added comments on This Week in Neovim posts using giscus!
- We added a way to more accurately parse plugins using dotfyle-metadata.nvim which leads to fewer false negatives.
I'm considering also adding a Q&A section on plugin pages using giscus, or something similar. Do you have any feedback on this idea?
Contributing
Add your plugin to Dotfyle through this form to be featured in This Week in Neovim
Contribute to the development of Dotfyle: