Issue #21

Neovim Core updates {#core}

Updates of Neovim itself, which are available on Neovim nightly.

Important: if you are a plugin author, you are strongly advised to follow the #14090 breaking changes on master GitHub thread, as it contains important breaking changes information.

Guides, tours, articles, etc. {#guides}

Neovim Spaghetti - LSP Servers, Linters, Formatters, and Treesitter

To make the most of Neovim it’s useful to understand the technologies it can leverage, how the various plugins that manage these technologies relate to one another, and how they can be installed and configured. In this article we’ll attempt to untangle the Neovim plugin spaghetti that turns Neovim into a more featureful modern editor.

Special: appreciation post

As author of This Week in Neovim, I (@phaazon) was pleased to read such a post on Reddit. The community is growing fast and we can all congragulate ourselves for the new plugins and existing ecosystem that is thriving.

Give it up for the plugin authors — and yourself if you are one! — and don’t hesitate to drop a comment in the aforementioned Reddit post thread! I also use the opportunity of that post to mention that plugin authors are highly encouraged to open pull-requests to the content repository of This Week in Neovim in order to help me continue providing weekly updates!

New plugins {#new-plugins}



Neovim plugin for splitting/joining blocks of code like arrays, hashes, statements, objects, dictionaries, etc. Written in Lua using tree-sitter.

Inspired by and partly repeats the functionality of splitjoin.vim.


  • Can be called from anywhere in the block: no need to move cursor to specified place to split/join block of code.
  • Make cursor sticky: the cursor follows the text on which it was called.
  • Autodetect mode: toggle-mode present. Split or join blocks by same key mapping.
  • Do it recursively: expand or collapse all nested nodes? Yes, you can.
  • Recognize nested languages: filetype doesn't matter, detect language with treesitter.

Created by @Wansmer.



A set of Alfred workflows created by @chrisgrieser. Those can:

  • Search the online :help for Neovim.
  • Search Neovim plugin (powered by Neovimcraft).
  • Access your oldfiles from outside of your editor.

Requirements: Alfred (macOS) with powerpack.



Inspired by vscode-twoslash-queries, this plugin allows you to print typescript types as inline virtual text and dynamically update it instantly without having to move the cursor over the inspected variable. By @marilari88.



A Neovim configuration focusing on TypeScript and web development, utilising LSP and other features to deliver a powerful IDE like editing experience with the performance and productivity of neovim. Made by @ixahmedxi in honor to @trashh_dev, a content Twitch streamer.



A set of screensavers for Neovim! One is special and coming back from the realm of your worst nightmares: will it hit the angle? Will it not? You will sit and wait to see. Nice work @tamton-aquib! 👏


This plugin is special. It’s not useful as it won’t help improve your productivity or leverage some new API. But it does something pretty cool: it transforms the meaning of your text into a cellular automaton. You can literally break your code now! Fantastic work by @Eandrju.



Converts selected text into an ASCII tree using the :AsciiTree command. Inspired by the VSCode Ascii Tree Generator plugin. Made by @xorid.



As r/Jdj8af said on Reddit, _“Wow finally a plugin that has a duck that waddles around my code!” A duck by @tamton-aquib.


@nyngwang made a plugin that highlights word under the cursor in a super fast way, supporting callbacks and more.


An automatic theme switcher for Neovim that uses precise sunrise/sunset times based on your latitude and longitude. Plugin by @JManch.

Updates {#updates}


🗺️ A legend for your keymaps, commands, and autocmds, with which-key.nvim integration

legendary.nvim item groups

legendary.nvim now supports item groups to create nested menus in the finder. Selecting an item group will open a new finder searching the items within the selected group.


A simple plugin to easily manage Neovim buffers.

The plugin received a few features proposed by some users:

  • Reorganize (reorder) buffers in the menu.
  • Add custom keybindings and commands to apply to buffers.
  • Disable/customize keybindings to access buffers.

Nice work!

Did you know? {#tips}

Nothing for this week, unfortunately. Don’t hesitate to suggest something for next week!

Want to contribute? {#contribute}

You have noticed something missing that you saw lately? Do not keep the candies for yourself and please feel free to share with us! You can open a PR at This Week In Neovim Contents.

Feel free to read how to contribute to get started.