Woh, a new section?! No, this is just an exceptional section that will spawn from time to time to provide you with some information about https://this-week-in-neovim.org itself.
This TWiN #16 is a special weekly update, so I need to make a small announcement in your feed to ensure people read
this right away. I (@phaazon) took the time this week to update the Rust library I use to
parse the weekly updates (called
twin). Next week, for TWiN #17, the contribution process changes a bit, following
the changes I introduced in
twin-0.2. If you have already contributed to TWiN or plan to, then you will probably want
to read the following updated section on the
README. If not, jump directly to
the next section!
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 is full of active plugins. This section is about the community and what is going on.
The plugin has been around for a couple of weeks now, and it’s time to provide some feedback on it! A poll was opened on Reddit here to ask people whether they would like a single plugin or several ones to split the features. The first two options, “I’m fine with all functionality in one plugin” and “I prefer multiple plugins” are pretty even! The poll is over but feedback is always appreciated.
The background discussion is interesting, because it’s about whether we want an ecosystem thriving of new, small plugins, or whether we want bigger, more monolithic plugins.
This living blog post introduces piece by piece a sample Neovim configuration to kickstart your configuration targeting Rust development. The blog was recently updated to remove all VimL and uses Lua as its main configuration language.
On Reddit, a poll was opened to discuss how people use Git in their Neovim workflow. You still have some time to answer the poll if you haven’t already! (but hurry, it’s about to be closed). We will be discussing the result in the next TWiN.
A plugin helping you to write tree-sitter queries. By @ziontee113.
@MrcJkb made a plugin for Haskellers wanting to leverage the power of both Haskell and Neovim! Besides support for the famous HLS, the plugin configures the LSP client with sane and good defaults, like automatically refreshing lenses, adding the right capabilities depending on your installed plugins, etc.
Amazing work! 👏
Do you need to rest your eyes with some nice looking, sweet and soothing colors? This new theme by @kvrohit was made for you! There is something calming and relaxing with this colorscheme. A really nice addition!
It provides several Nvim lua APIs to turn on the
ascii mode of Rime based on Fcitx5’s DBUS API. By @haolian9.
Spooky is a Leap extension that allows for remote operations on Vim’s native text objects. It exposes atomic bundles of (virtual or actual) leaping motions and text object selections, so that you can e.g. yank a paragraph without leaving your position (
yarp<leap>), or fix a typo in a very short, atomic command sequence, even from another window (
ciRw<leap>). The origin of this idea can be traced to the “leaping motions” feature of vim-seek. (The name clash is a funny coincidence. We should probably have named our feature “seeking motions” in exchange…)
The plugin is highly experimental at the moment - it would be great to gather as much feedback as possible. (@ggandor)
@LintaoAmons’s very first plugin!, allowing to create temporary (scratch) buffers. Useful when wanting REPL workflows, for instance.
NeoSolarized colorscheme for NeoVim with full transparency.
The theme was introduced in TWiN #4, but it recently received some updates, like a better support for other plugins and better syntax highlightings, especially for some specific terminals (Alacritty, Kitty and Konsole).
It still looks pretty good!
The ‘mini.nvim’ plugin now comes not only as a library of independent Lua modules. Thanks to the new dual distribution model, all modules are now also available as standalone plugins in separate Git repositories. They will be updated in sync with ‘mini.nvim’ using only commits relevant to the module.
Neovim motions on speed!
Hop was released in version
v2.0.3. This new version is mostly about fixing some bugs and optimizing performances:
- Fix quitting in commands using
multi_windows = truewhen a float is present.
- Fix broken matching when magic chars are included in
- Support motion with count, as in
- Fix incorrect behavior in multi-byte chars.
IncSearchby default. Colorschemes can still override that (no change for them).
- Cleanup some regexes by computing them once.
- Lazy import all the modules.
The next batch of updates will focus on virtual windows (popups, floats, etc.) which sometimes cause invalid ID buffer errors and such, and the column bug that is present if you use some specific commands on empty lines / at the end of lines.
Are you tired of having your cursor jump all around the place when you cross the path of a line that is shorter than the
line you are currently on? Some people can be upset with that, so there is a drastic solution:
This will cause Neovim to authorize you to edit anywhere in the view (not only the buffer). What it means is that you
can put your cursor in an empty zone, press your insert key and add text. It will automatically fill the left part of
the line with empty space.
A less drastic option of
virtualedit is the
onemore variant (
:set virtualedit=onemore), which allows you to edit
past the end of the line by one character. Pressing
$ will put your cursor on the last character, and pressing
whatever key is bound for you) will move the cursor by end extra character.
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.