Issue #27

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.

Neovim Plugin Community updates {#plugins}

Neovim is full of active plugins. This section is about the community and what is going on.

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

How to migrate from Packer.nvim to Lazy.nvim

r/nvim member and YouTuber /u/elijah_manor has made an informative and user friendly guide for migrating from Packer.nvim to Lazy.nvim. Great for those of us who've been meaning to lazy load their plugins but were too… lazy to figure out how. The conversion is very simple, so if you don't want to commit to leaving Packer, it's a short process and very easy to convert back and forth to try it out. Thanks Elijah!

twin-sh - A This Week in NeoVIM Contribution Wizard

twin demo

@roobert created a shell script to ease even further the contribution process to TWiN! The script will do various things for you, mostly boilerplate, such as cloning the contents repository, ask for whether you are adding a guide, new plugin, update of an existing plugin, etc. and will create the formatted skeleton for the entry. Very good job and really appreciated!

New plugins {#new-plugins}



A new plugin by @antonk52 to add Markdown like shortcuts links to Reddit/Notion/Slack/Discord etc.


A new take on an existing idea: a file explorer that lets you edit your filesystem like a buffer. This plugin takes the basic premise pioneered by vidir and refined by dirbuf.nvim, and adds more capabilities. Notable features:

  • Cross-directory move/copy operations
  • Configurable columns (permissions, size, mtime, etc).
  • Seamless interop with remote machines using ssh.



@smzm's new plugin runs code "from first line of your code to the current line and shows the result of the current line in the Hydrovim pop-up. Get specific feedback so you don't have to parse through a bunch of print statements to find what you're looking for.


A plugin that enhances how you interact with macros.

  • Simplified controls: One key to start and stop recording, a second key for playing the macro. Instead of qa … q @a @@, you just do q … q Q Q.
  • Macro Breakpoints for easier debugging of macros. Breakpoints can also be set after the recording, and are automatically ignored when triggering a macro with a count.
  • Status line components: Particularly useful if you use cmdheight=0 where the recording status is not visible.
  • Macro-to-mapping: Yank a macro to your default register, with the keys "decoded" for keymaps.
  • Various quality-of-life features like notifications with macro content, the ability to cancel a recording, or a command to edit macros.

Made by @chrisgrieser.


@luukvbaal's new plugin takes advantage of the new recently merged statsucol nightly feature that allows you to customize the gutter area the same way you can customize the statusline. The plugin provides "click-handlers for the fold, sign and line number segments in your 'statuscolumn' string respectively."


Another simple way to swap sibling elements in your code: arguments, parameters, attributes, pairs in objects, array's items e.t.c.

  • No additional highlight – no thinking, just drag and drop.

  • Keeps your cursor in the same place on the element where you started.

  • If it is a binary expression – it can revert operator: a >= b to b <= a.

  • Work with all sibling nodes which places on same line and separated by allowed_separators or space.

  • Reddit

  • GitHub

Neovimmm: GitHub's top 1000 Neovim repos


neovimmm is a browsing tool that lets you explore GitHub's top 1000 Neovim repositories. You can search for keywords, browse the top 100 forked / starred repos, or try random suggestions.


This new module of mini.nvim makes it easier to move any selection in any direction. Basically, you select text (charwise with v, linewise with V, blockwise with CTRL-V, or use current line in Normal mode) and press customizable mapping to move it in all four directions (left, right, down, up) while remembering your selection. Handles both v:count and undo history.



A Neovim plugin to add vs-code-style TailwindCSS color hints to the nvim-cmp completion menu. Made by @roobert.

Updates {#updates}


Melange is a warm colorscheme for Neovim and terminal emulators.


The repository for Melange was renamed from savq/melange to savq/melange-nvim. If you happen to use Melange, you should update how it's listed in your configuration. GitHub still redirects the old URL, but better safe than sorry.

Melange itself had a big update this week that replaces the lush.nvim implementation with direct calls to the Neovim API (it no longer supports Vim 9). The color palette was adjusted, and the list of highlight groups was also updated.

Did you know? {#tips}

Sometimes you need to print a Lua table via the command line, but typing something like this :lua vim.pretty_print(vim.fs) can be verbose. You can use the following as a shortcut syntax: :lua = vim.fs and get the same result! The :lua = x will always execute x and then pretty-print it.

Pretty convenient, don’t you think?

Special thanks {#special-thanks}

These people help contributing various updates about Neovim and its ecosystem! Thanks for your contributions! ❤️

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.