neovim
2
总安装量
2
周安装量
#64515
全站排名
安装命令
npx skills add https://github.com/jruz/dotfiles --skill neovim
Agent 安装分布
opencode
2
kilo
2
gemini-cli
2
claude-code
2
github-copilot
2
codex
2
Skill 文档
Neovim Skill
Configuration Locations
- Main config:
home/.config/nvim/init.lua - Plugins:
home/.config/nvim/lua/plugins.lua - Config modules:
home/.config/nvim/lua/config/keymaps.lua– Key mappingslsp.lua– LSP configurationcompletion.lua– Completion settingswhich-key.lua– Which-key mappingstreesitter.lua– Treesitter configtelescope.lua– Telescope configlualine.lua– Statusline configoil.lua– Oil file manager config
- Always edit files in
~/dev/dotfiles/, not symlinked files in~/.config/
File Structure
home/.config/nvim/
âââ init.lua # Base config, options, rustaceanvim settings
âââ lua/
â âââ plugins.lua # Lazy.nvim plugin definitions with opts
â âââ config/
â âââ init.lua # Loads all config modules
â âââ keymaps.lua
â âââ lsp.lua
â âââ ...
âââ after/ # Filetype-specific settings
âââ selene.toml # Lua linter config
âââ stylua.toml # Lua formatter config
Plugin Configuration Pattern
Plugins use lazy.nvim with inline opts or config functions:
{
"plugin/name",
opts = {
setting = value,
},
}
For plugins requiring setup logic:
{
"plugin/name",
config = function(_, opts)
require("plugin").setup(opts)
end,
}
VHS Testing
CRITICAL: NEVER run nvim commands that affect the user’s active session. VHS creates its own isolated terminal.
CRITICAL: ALWAYS use the tape in this skill folder. NEVER create ad-hoc tape files with different output names.
Use VHS to verify visual changes:
- Run the tape:
vhs .claude/skills/neovim/neovim.tape - Output screenshot goes to
tmp/neovim.png - Read the screenshot to verify before telling user the fix is complete
The tape opens neovim in a clean environment, waits for it to load, and captures a screenshot.
Color Scheme
Uses Catppuccin Mocha theme. Set in init.lua:
vim.cmd.colorscheme("catppuccin-mocha")
Key Mappings
Leader key is Space. Mappings defined in:
lua/config/keymaps.lua– General keymapslua/config/which-key.lua– Which-key groups and mappingslua/plugins.lua– Plugin-specific mappings in plugin specs
LSP Setup
LSP configured via:
- Mason for LSP server installation
- mason-lspconfig for automatic setup
- Individual server configs in
lua/config/lsp.lua - Rustaceanvim configured separately in
init.lua(must load before plugins)
Verification Checklist
Before declaring a config change complete:
- Confirm you edited files in
~/dev/dotfiles/home/.config/nvim/ - Run VHS tape to capture screenshot
- Verify neovim starts without errors
- Test the specific feature you changed
- Check no Lua errors in
:messages
Common Issues
- Plugin errors: Check lazy.nvim lockfile at
~/.local/share/nvim/lazy-lock.json - LSP not starting: Check
:LspInfoand:Mason - Treesitter errors: Run
:TSUpdate - Config reload: Use
<leader>Ror:source %on init.lua