- tree-sitter-cli: required by nvim-treesitter
- deno: required by toppair/peek.nvim
- ripgrep: required by vim.health, grug-far.nvim, snacks.nvim
- fd: required by snacks.nvim
- yazi: required by mikavilpas/yazi.nvim
- Clone into
${XDG_CONFIG_HOME}/nvim - Open neovim, wait for Installation
- Use
:Lazy(or SPACEZ) to manage plugins with lazy.nvim - Use
:Masonto manage LSPs, DAPs, linters and formatters - Use
:TSxxxxcommands (e.g.,:TSUpdate) to manage treesitter parsers - Use - to manage files with oil.nvim.
- Use SPACEfM to find the custom keymaps.
- Some magic keymaps:
| Mode | Keymap | Description |
|---|---|---|
| i | CTRLh/CTRLl | move cursor left/right |
| i,n | ALTz | toggle terminal |
External config at ~/.config/codecompanion/config.lua (optional, merged with defaults):
-- ~/.config/codecompanion/config.lua
return {
adapters = {
http = {
my_adapter = function()
return require('codecompanion.adapters').extend('openai', {
name = 'my_adapter',
-- ...
})
end,
},
},
prompt_library = {
markdown = {
dirs = {
vim.fn.getcwd() .. '/.prompts',
},
},
},
}Prompts are loaded from the following directories:
~/.config/nvim/prompts/— global prompts~/.config/codecompanion/prompts/— codecompanion-specific prompts<project>/.prompts/— per-project prompts
AI skills are loaded from ~/.config/skills/ (recursive).
Per-project DAP configurations via dap-config.lua in the project root:
-- <project>/dap-config.lua
return {
{
type = 'python',
request = 'launch',
name = 'Launch project',
program = '${workspaceFolder}/main.py',
},
}Use :DapLoadConfig to load it, or :DapLoadConfig <path> for a custom path.