Issue #6

Neovim Core updates

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.

Nothing much this week… 🤷

Neovim Plugin Community updates

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

Need help {#need-help}

nvim-surround: testers wanted!

@kylechui is calling for helpers to stress, test and polish their plugin!

ccls.nvim: testers wanted!

A plugin to configure the ccls language server and use its extensions. ccls is a language server for C, C++ and variants that offers comparable features as clangd.

@ranjithshegde is looking for people wanting to stress-test their plugin before going to production!

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

Add an ASCII art welcome screen to Neovim

A blog article by Jake Manger about how to add ASCII art welcome screens to Neovim! r/unixporn are peeps are jealous.

Inject syntax highlighting from/to any language using nvim-treesitter

A Youtube video explaining how to inject syntax highlighting easily for embedding languages in others, using tree-sitter.

New plugins {#new-plugins}



A small plugin allowing to edit markdown code-blocks with correct filetype in a floating window. This allows you to use all of your config for your favorite language. The buffer will be also linked to a temporary file in order to allow LSPs to work properly.

document-color.nvim 🌈

document-color.nvim demo

A new colorizer plugin for tailwindcss and any LSP servers that support textDocument/documentColor!



Nice, a newcomer! For their first plugin, @justinhj made a plugin to display the battery status of your laptop in your favorite statusline. That’s pretty neat honestly, so congrats on your first plugin!



A textmate-based syntax highlighter to nvim, compatible with VScode themes and grammars, by @icedman (not to be confused with the Top Gun™ pilot, though).



An ASCII art image viewer, by @samodostal.



And another new fun plugin — by @nguyenvukhang! What does it do? Well, it inverts the word / text under the cursor. on becomes off, true becomes false, false becomes file_not_found, etc.



This is not really a new plugin but instead, a new colorscheme, by @ray-x. The new coloscheme is named dark-solar and is a more vivid version of the famous solarized. Don’t forget the sunscreen. 😎


A new plugin by @WilsonOh. Wait 🤯, not only a new plugin, but their very first plugin 🥡! It’s an emoji picker for Neovim! It uses a float to display a list of emoji and it’s very slick and simple 🤪, so if you like emoji 💮, let’s go! 🚀

Congrats on your first plugin and for contributing to the Neovim ecosystem!🥇


A plugin for automatically highlighting other uses of the word under the cursor using either LSP, tree-sitter, or regex matching. Think of nvim-cursorword or vim-cursorword, but different. And this is the v2!

A plugin by @RRethy.



A plugin by @doums to enhance the vim.ui.input and Neovim new UI hooks. Pretty cool.



A new plugin by @phaazon – myself! mind.nvim is an organizer plugin based on tree views, interactive and actionable nodes to implement a large variety of workflows, from note taking, journaling to tasks management and links collection!

Updates {#updates}


One can now optionally configure nvim-treesitter-textobjects to include preceding xor succeeding whitespace.


mini.nvim is a collection of minimal, independent, and fast Lua modules dedicated to improve Neovim (version 0.5 and higher) experience.


This week, @echasnovski made some color updates:

  • mini.base16 got new 25 plugin integrations along with option to granularly control what highlight groups are created.
  • There is a new 'minicyan' color scheme!

Great update!


Minimal automatic list continuation for neovim, powered by lua.

The plugin now supports context-aware renumbering/remarking of lists.


An update by @simrat39. The plugin now supports JSX and TSX!

Did you know? {#tips}

Neovim has the concept of registers (:h registers). Lots of those registers have a semantic use, like the unnamed register (""), that is used by default by all the d, c, s, x and p commands. It is recommended to read the helpe pages for all the registers, but a couple of interesting things:

  • You can select the register you want to use one the listed commands above with by using the " key. So "a is the a register. This is super powerful, because you can for instance put a couple of lines, functions, etc. in a couple of different registers, and paste them later at once, without having to go back and forth ("ap, "bp, etc.).
  • A pretty cool thing to know: in insert mode, the C-r keybinding allows you to paste the content of any register. So you can press C-r a to insert the content of "a in insert mode!
  • Finally, don’t forget that you can use all of the above while writing macros, making them incredibly powerful (and that’s probably one of the main reason why we don’t really need multi cursor in Vim / Neovim!).

That’s all for this week. See you next week for another batch of Neovim news!

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.