A Neovim plugin that provides a Lua API for mapping keys directly to Lua code, enabling a fully Lua-based configuration.
Vimpeccable is a Neovim plugin that allows you to write your Neovim configuration entirely in Lua by providing a Lua API for key mapping. It solves the problem of needing Vimscript for keybindings in `init.lua`, enabling a pure Lua setup with features like duplicate map detection and runtime reloading.
Neovim users who want to migrate their configuration from Vimscript to Lua, particularly those using Neovim 0.5+ and seeking a more maintainable, modern config approach.
Developers choose Vimpeccable because it offers a seamless transition to Lua-based configs with safety features like duplicate detection, full support for Vim mapping semantics, and utilities for runtime reloading without restarting Neovim.
Neovim plugin that allows you to easily map keys directly to lua code inside your init.lua
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Mirrors Vim's mapping commands such as nnoremap, allowing straightforward translation of existing Vimscript configs to Lua, as demonstrated in the quick start example.
By default, rejects duplicate keymaps to avoid accidental overrides, with an override option for intentional changes, enhancing config safety.
Provides utilities like vimp.unmap_all() to facilitate reloading Lua configurations without restarting Neovim, useful for iterative tweaks.
Supports buffer-local maps and allows defining custom Vim commands with Lua functions, offering flexibility for different editing scenarios.
Only compatible with Neovim 0.5 and above, excluding users on older versions or other Vim implementations.
Repeatable maps feature requires the vim-repeat plugin, adding an external dependency for full functionality.
Achieving runtime reloading necessitates additional code, such as managing Lua namespaces, which can be cumbersome for new users.
Focuses primarily on key mappings and commands, leaving other Vimscript elements like autocmds to be handled separately, potentially leading to mixed configs.