This skill should be used when the user asks to "add a new plugin", "configure LSP", "add keymaps", "modify Neovim settings", "set up completion", "configure formatters", or mentions Neovim, nvim, or plugin configuration in this dotfiles repository.
Provide guidance for managing Neovim configuration in this dotfiles repository.
This Neovim setup uses:
init.lua as the entry pointvim.lsp.enable() for LSPconfigs/.config/nvim/
├── init.lua # Entry point (loads base, keymaps, plugins)
├── lua/
│ ├── base.lua # Basic vim options (numbers, tabs, search, etc.)
│ ├── keymaps.lua # Global keymaps (leader = space)
│ └── plugins/ # Plugin configurations by category
│ ├── appearance.lua # Theme, statusline (tokyonight, lualine)
│ ├── lsp.lua # LSP servers and conform.nvim
│ ├── completion.lua # Completion engine (blink.cmp)
│ ├── fuzzy-finder.lua # Telescope
│ ├── file-explorer.lua # File browser (oil.nvim)
│ ├── git.lua # Git integration
│ ├── ai.lua # AI tools
│ ├── misc.lua # Miscellaneous plugins
│ └── basis.lua # Core dependencies (denops)
Add to the appropriate category file in lua/plugins/ using lz.n format:
{
"plugin-name",
event = { "BufReadPre", "BufNewFile" },
after = function()
require("plugin-name").setup({
-- Plugin configuration
})
end,
}
See examples/new-plugin.lua for complete examples including:
Edit lua/plugins/lsp.lua:
for _, ls in pairs({
-- Existing servers...
"new_lsp_server",
}) do
vim.lsp.enable(ls)
end
For custom server configuration:
if ls == "new_server" then
vim.lsp.config(ls, {
settings = { ... },
})
end
See references/lsp-configuration.md for the full server list and detailed configuration options.
Edit lua/plugins/lsp.lua in the conform.nvim setup:
require("conform").setup({
formatters_by_ft = {
-- Existing formatters...
python = { "black", "isort" },
},
})
See references/formatters.md for conditional formatters and advanced configuration.
Edit lua/plugins/completion.lua for blink.cmp settings.
See references/completion.md for keymap customization and source configuration.
Global keymaps - Edit lua/keymaps.lua:
vim.keymap.set("n", "<leader>xx", function()
-- Action
end, { desc = "Description" })
LSP keymaps - Modify the LspAttach autocmd in lua/plugins/lsp.lua.
; and :: Swapped for easier command modejj: Exit insert modegd (definition), gr (references), K (hover), <leader>ca (code action)lua/plugins/backup/:LspInfo " Check LSP status
:checkhealth " General health check
:ConformInfo " Check formatter status
references/lsp-configuration.md - LSP servers, keymaps, diagnosticsreferences/formatters.md - conform.nvim configurationreferences/completion.md - blink.cmp configurationexamples/new-plugin.lua - Plugin configuration patternsexamples/custom-lsp-server.lua - LSP setup examplesexamples/custom-formatter.lua - Formatter configuration examplesSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer