Guides
Neovim
The config lives in defaults/dot_config/nvim/ (deployed to ~/.config/nvim/). Plugin specs are in lua/plugins/.lua, keymaps in lua/config/keymaps.lua. Add your own specs in ~/.config/nvim/lua/plugins.local/: lua/config/lazy.lua imports that directory when it exists.
Modern Core
- Requirement: Neovim >= 0.11.2.
init.luachecks this at startup. - Configuration: Modular configuration on
lazy.nvim, with the update checker on. - Completion:
blink.cmpwith LSP, snippet (friendly-snippets) and path sources, and auto-brackets on accept. - UI:
snacks.nvim(dashboard and notifications),noice.nvim,lualine.nvimstatus line,bufferline.nvim,nvim-tree.luafile explorer,which-key.nvim,gitsigns.nvim,indent-blankline.nvim,nvim-scrollbar,vim-illuminateandoutline.nvim. - LSP:
nvim-lspconfigwithmason.nvimandmason-lspconfig.nvim. Servers:bashls,lua_ls,basedpyright,ruff,ts_ls. - Formatting and linting:
conform.nvim(format on demand) andnvim-lint. - Syntax:
nvim-treesitter. - Search:
telescope.nvimwithtelescope-fzf-native.nvim.
Language Support
- Rust:
rustaceanvimandcrates.nvim. - Python:
basedpyright,ruff,venv-selector.nvim,nvim-dap-pythonandneotest-python. - Go: debugging through
nvim-dap-go. - Web:
ts_ls, withprettierdorprettierthroughconform.nvim. - Markdown:
markdown-preview.nvim.
AI Integration
- Copilot:
copilot.luafor inline suggestions (accept with<M-l>). Run:Copilot authto sign in. - Copilot Chat:
CopilotChat.nvim, under the<leader>agroup.
Editing Tools
- Testing:
neotestwith Python and plenary adapters. - Debugging:
nvim-dap,nvim-dap-ui,nvim-dap-virtual-textandmason-nvim-dap.nvim. - Terminal:
toggleterm.nvim. - Docstrings:
neogen. - Git worktrees:
git-worktree.nvim. - Sessions:
persistence.nvimsaves sessions; restore one with<leader>qsor<leader>ql. - Snippets: Native
vim.snippetengine (Neovim 0.11+).
Keybindings
<leader> is <Space>. LSP navigation uses Neovim's built-in defaults (grr references, gri implementation, grn rename, gra code action, K hover, <C-]> definition).
| Key | Action |
|---|---|
<leader>ff | Find files |
<leader>fg | Find text (live grep) |
<leader>fb | Buffers |
<leader>fp | Recent files |
<leader>e | Toggle file explorer |
<S-h> / <S-l> | Previous / next buffer |
<leader>ca | Code actions |
<leader>cf | Format buffer |
<leader>cr | Rename symbol |
<leader>cs | Symbols outline |
<leader>tt | Toggle terminal |
<leader>tn | Run nearest test |
<leader>tf | Run test file |
<leader>ts | Toggle test summary |
<F5> / <leader>dc | Continue (Debug) |
<F10> / <leader>do | Step over (Debug) |
<F11> / <leader>di | Step into (Debug) |
<F12> / <leader>dO | Step out (Debug) |
<leader>db | Toggle breakpoint |
<leader>aa | AI chat (Copilot Chat) |
<leader>ae / <leader>ar / <leader>af | AI explain / review / fix |
<leader>gw / <leader>gW | Git worktrees / create worktree |
<leader>qs / <leader>ql | Restore session / last session |
<leader>mp | Markdown preview |
<leader>l | Lazy |