Loading...
Loading...
Configure Neovim with LazyVim framework. Use when working with Lua-based Neovim configuration for (1) Adding or configuring plugins, (2) Modifying keymaps, options, or autocmds, (3) Setting up language-specific features (LSPs, formatters, linters), (4) Troubleshooting LazyVim configuration, (5) Managing snippets or theme customization
npx skill4agent add gwenwindflower/.charmschool neovim-configeditor/nvim/editor/nvim/snippets/| File | Purpose |
|---|---|
| Plugin specifications (auto-loaded) |
| Custom keybindings |
| Vim options |
| Autocommands |
| Plugin version lockfile |
| LazyVim extras configuration |
-- lua/plugins/example.lua
return {
-- Extend existing plugin
{
"plugin/name",
opts = {
-- Options merge with defaults
},
},
-- Override existing plugin
{
"plugin/name",
opts = function(_, opts)
-- Modify opts table directly
opts.some_option = "value"
end,
},
-- Add new plugin
{
"author/new-plugin",
event = "VeryLazy", -- Lazy-load on event
dependencies = { "nvim-lua/plenary.nvim" },
opts = {},
keys = {
{ "<leader>xx", "<cmd>PluginCommand<cr>", desc = "Description" },
},
},
-- Disable a plugin
{ "plugin/to-disable", enabled = false },
}-- lua/config/keymaps.lua
local map = vim.keymap.set
-- Format: map(mode, lhs, rhs, opts)
map("n", "<leader>xx", "<cmd>SomeCommand<cr>", { desc = "Description" })
map("v", "<leader>yy", function() ... end, { desc = "Description" })
-- Delete a LazyVim keymap
vim.keymap.del("n", "<leader>existing")-- lua/config/options.lua
local opt = vim.opt
opt.relativenumber = false
opt.scrolloff = 8
opt.wrap = true-- lua/config/autocmds.lua
vim.api.nvim_create_autocmd("FileType", {
pattern = { "sql", "python" },
callback = function()
vim.opt_local.tabstop = 4
end,
})lua/plugins/lang-<name>.luaeditor/nvim/snippets/<filetype>/<name>.json:checkhealth:Lazy:verbose map <key>:messagesoptsdesceventftcmdkeys:Lazy syncvimvim