Issue #37
Email Newsletter
Sign up with your email address to receive an email when a new issue of This Week in Neovim is available
Neovim Core updates {#core}
Updates of Neovim itself, which are available on Neovim nightly.
neovim-plugin-community-updates-{#plugins}">Important: some updates might be missing from this week content. If you want to be sure to always keep up to date with what’s going on in Neovim Core, you are strongly advised to have a look to these places:
- @neovim on Twitter, which tweets the most recent news about the editor.
:h news.txt
will deliver you with the last news inside Neovim directly.- Various PRs on GitHub.
Neovim Plugin Community updates {#plugins}
guides,-tours,-articles,-etc-{#guides}">Neovim is full of active plugins. This section is about the community and what is going on.
Guides, tours, articles, etc. {#guides}
Neovim Config Switcher
Elijah Manor published a new YouTube video Neovim Config Switcher where he shows a new feature of Neovim nightly that allows for quickly switching between configurations. This can be useful if you want to experiment with new configs or swap between special setups.
new-plugins-{#new-plugins}">New plugins {#new-plugins}
http.nvim
http.nvim
should be your weapon of choice when making plugins that have to call out to remote HTTP services. It's
implemented as a native Lua module, no curl
or wget
required! It currently allows you to send and receive data as
Lua strings (which can contain anything, including non-text data). There is also support for downloading files to a
local path. WebSocket support is planned.
nvim-spider
Use the
w
,e
,b
motions like a spider.
The plugin offers alternatives to vim's w
, e
, and b
motion which differ in two ways:
- Subword Movement: The movements happen by subwords, meaning it stops at the sub-parts of a CamelCase (or SCREAMING_SNAKE_CASE or kebab-case) variable.
-- positions vim's `w` will move to
local myVariableName = FOO_BAR_BAZ
-- ^ ^ ^
-- positions spider's `w` will move to
local myVariableName = FOO_BAR_BAZ
-- ^ ^ ^ ^ ^ ^ ^
- Skipping Insignificant Punctuation: A sequence of one or more punctuation characters is considered significant if it is surrounded by whitespace and does not includes any non-punctuation characters. This speeds up the movement across the line by reducing the number of mostly unnecessary stops.
-- positions vim's `w` will move to
if foo:find("%d") and foo == bar then print("[foo] has" .. bar) end
-- ^ ^^ ^ ^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ -> 21
-- positions spider's `w` will move to
if foo:find("%d") and foo == bar then print("[foo] has" .. bar) end
-- ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ -> 14
- Furthermore
- lightweight (~120 LoCs) & solely lua
- works in normal, visual, and operater-pending mode
- supports counts
- zero-config (aside from adding the keymaps you want)
ge
is also supported (not mentioned in the descriptions for the bad pun)
Links:
updates-{#updates}">Updates {#updates}
mind.nvim
The power of trees at your fingertips.
mind.nvim
was a project started a while ago by @phaazon to be able to put thoughts in
tree-like structures. The project gained some traction, but lately, @phaazon started to
rework the project as a standalone and experimental tool. Having those features available only to Neovim started to
sound off and not the direction @phaazon wants his software to go to.
For this reason, mind.nvim
is now archived. Yo
u are advised to switch to another plugin if you are doing any kind of note taking or task management. The plugin was
written with a BSD-3-Clause license, so feel free to fork it according to the license.
codeium.nvim
Unofficial Codeium Nvim Plugin
There have been several contributions from users of the plugin:
- @WillEhrendreich and @ww-daniel-mora helped to get the plugin working on Windows.
- @luismeyer95 and @dakata1337 reduced the spamminess of errors.
- @DieracDelta, @chrisgrieser, and @mauriciopoppe fixed various bugs.
Thanks everyone! On top of all these great contributions, optional support for http.nvim has been added (see the readme).
legendary.nvim
🗺️ A legend for your keymaps, commands, and autocmds, with which-key.nvim integration
legendary.nvim
now has an extensions API, so users can automatically load keymaps/commands/etc. managed by other
plugins into legendary.nvim
's registry, so that they can be triggered from legendary.nvim
's UI. For example, to load
all of nvim-tree.lua
's keymaps into legendary.nvim
, all you have to do now is add the following configuration:
require('legendary').setup({
extensions = {
nvim_tree = true,
},
})
There are a few built-in extensions currently, and 3rd party extensions can also be added by creating a Lua module under
the legendary.extensions.*
namespace. See the
documentation for more information.
Did you know? {#tips}
Nothing for this week!
special-thanks-{#special-thanks}">Special thanks {#special-thanks}
These people help contributing various updates about Neovim and its ecosystem! Thanks for your contributions! ❤️
want-to-contribute?-{#contribute}">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.