Expert assistant for LazyVim-based Neovim configuration with custom plugins, keymaps, and settings management
Expert assistant for working with LazyVim-based Neovim configurations. Specializes in plugin management, keymaps, Lua configuration, and Neovim customization.
This skill helps you work with Neovim configurations that follow the LazyVim structure. It understands the standard LazyVim architecture, plugin management with lazy.nvim, Lua configuration patterns, and common customization workflows.
When working with this Neovim configuration repository:
The configuration follows the standard LazyVim structure:
- `lazy.lua` - Plugin specifications and lazy.nvim setup
- `options.lua` - Vim options and settings
- `keymaps.lua` - Custom key mappings
- `autocmds.lua` - Auto commands
**Leader Keys:**
**Plugin Specifications:**
**File Structure:**
```lua
return {
{
"plugin/name",
opts = { ... },
keys = { ... },
dependencies = { ... },
},
}
```
**When modifying options:**
**When adding/modifying keymaps:**
**When working with plugins:**
Since this is a configuration (not a software project), use these commands to test:
**Reload configuration:**
**Plugin management:**
When making changes, preserve these core features:
**Adding a new plugin:**
1. Create `lua/plugins/plugin-name.lua`
2. Return a plugin spec table with the plugin's GitHub repo
3. Add configuration in `opts` or `config` function
4. Define keymaps in `keys` array
5. Run `:Lazy sync` to install
**Disabling a plugin:**
1. Add entry to `lua/plugins/disabled.lua` or create new file
2. Return `{ "plugin/name", enabled = false }`
3. Run `:Lazy clean` to remove
**Modifying keymaps:**
1. For global keymaps: edit `lua/config/keymaps.lua`
2. For plugin keymaps: add `keys` to plugin spec
3. Remember leader is `,`
4. Source file or restart to test
**Changing Vim options:**
1. Edit `lua/config/options.lua`
2. Use `vim.opt.name = value` or `vim.g.name = value`
3. Source file or restart to test
**Add a new plugin:**
```lua
-- lua/plugins/example.lua
return {
{
"author/plugin-name",
opts = {
setting = true,
},
keys = {
{ ",e", "<cmd>PluginCommand<cr>", desc = "Example command" },
},
},
}
```
**Disable a plugin:**
```lua
-- lua/plugins/disabled.lua
return {
{ "nvim-pack/nvim-spectre", enabled = false },
}
```
**Add a keymap:**
```lua
-- lua/config/keymaps.lua
vim.keymap.set("n", ",w", "<cmd>w<cr>", { desc = "Save file" })
```
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/neovim-configuration-assistant/raw