Neovim Plugins— Movement, Key Mapping, Selection & Substitution

Explore untypical Neovim plugins for better coding.

alpha2phi

--

Neovim — Uncommon Plugins to Try

In this article, let’s explore plugins for movement, selection, substitution, motion, formatting, and key mappings. Try them out to see if they can fit into your development workflow.

The Neovim configuration files can be found in this repository.

tabout.nvim

tabout.nvim is a plugin to help us tab out from parentheses, quotes, braces, and similar contexts in insert mode. This may help us save several keystrokes during coding.

We install it using packer.nvim, and load it after the nvim-cmp completion plugin.

use {
"abecodes/tabout.nvim",
opt = true,
wants = { "nvim-treesitter" },
after = { "nvim-cmp" },
config = function()
require("tabout").setup {
completion = false,
ignore_beginning = false,
}
end,
}

With the plugin installed, we can use Tab or S-Tab, or configure the keys to tab out from the current editing context in insert mode.

tabout.nvim
tabout.nvim

key-menu.nvim

This plugin provides another option for those using which-key.nvim.

key-menu.nvim is a lightweight plugin that provides a pop-up key menu next to the cursor. Unlike which-key.nvim, it uses the built-in Neovim Lua keymap APIs (vim.keymap.set) to create the mappings.

Let’s install this plugin using packer.nvim.

use {
"linty-org/key-menu.nvim",
config = function()
require("config.keymenu").setup()
end,
}

In the lua/config/keymenu.lua file, we configure the plugin to show the menu for the prefix g and Space key.

local M = {}function M.setup()
require("key-menu").set("n", "<Space>")
require("key-menu").set("n", "g")
end

--

--

alpha2phi

Software engineer, Data Science and ML practitioner.