Personal Neovim configuration using mini.deps as plugin manager.
- Neovim v0.11.4 or greater
- git
- tree-sitter CLI
- A C compiler (gcc, tcc, or zig)
- (optional) ripgrep — improves project-wide search speed
- (optional) fd — improves file search speed
- (optional) A patched Nerd Font for icons
Leader key: Space.
| Mode | Key | Action |
|---|---|---|
| Normal/Visual | <leader>h |
Go to first non-empty character in line |
| Normal/Visual | <leader>l |
Go to last non-empty character in line |
| Normal | <leader>a |
Select all text |
| Normal/Visual | gy |
Copy selected text to clipboard |
| Normal/Visual | gp |
Paste clipboard content |
| Normal/Visual | x |
Delete character without yanking |
| Normal/Visual | X |
Delete operator without yanking |
| Normal | <leader>w |
Save file |
| Normal | <leader>q |
Quit |
| Normal | <leader>bq |
Delete buffer |
| Normal | <leader>bl |
Go to last active buffer |
| Normal | <leader>bc |
Close buffer (preserve window layout) |
| Normal | - / \ |
Open parent directory (oil) |
| Normal/Term | <C-g> |
Toggle terminal |
| Normal | <leader>ff |
Find files |
| Normal | <leader>fg |
Search in project (grep) |
| Normal | <leader>fd |
Search diagnostics |
| Normal | <leader>fh |
Recent files |
| Normal | <leader>fs |
Search in current buffer |
| Normal | <leader><space> |
Search open buffers |
| Normal | <leader>u |
Undo history |
| Normal | <leader>? |
Search keymaps |
| Normal | <leader>/ |
Search all pickers |
| Normal | gd |
Go to definition |
| Normal | grn |
Rename symbol |
| Normal | gra |
Code action |
| Normal | grr |
References |
| Normal | gri |
Go to implementation |
| Normal | grt |
Go to type definition |
| Normal | gO |
Document symbols |
| Normal | K |
Hover documentation |
| Normal | <leader>th |
Toggle inlay hints |
| Normal | <leader>cf |
Format buffer |
| Normal | <leader>cl |
Lint buffer |
| Normal/Visual | <leader>oa |
Ask OpenCode |
| Normal/Visual | <leader>os |
Select OpenCode |
| Normal/Visual | go |
Append range to OpenCode |
| Normal | goo |
Append line to OpenCode |
| Normal | <S-C-u> |
Scroll OpenCode up |
| Normal | <S-C-d> |
Scroll OpenCode down |
| Plugin | Description |
|---|---|
| mini.nvim | Collection of Lua modules (statusline, git, etc) |
| kanagawa.nvim | Colorscheme |
| snacks.nvim | Picker, terminal, explorer, and more |
| nvim-lspconfig | LSP server configurations |
| mason.nvim | External tool installer |
| mason-lspconfig.nvim | Mason + lspconfig bridge |
| nvim-treesitter | Tree-sitter parsers |
| ts-enable.nvim | Enable tree-sitter features |
| blink.cmp | Completion engine |
| LuaSnip | Snippet engine |
| friendly-snippets | Snippet collection |
| lazydev.nvim | LuaLS dev plugin |
| which-key.nvim | Keymap popup |
| oil.nvim | File explorer |
| conform.nvim | Code formatter |
| nvim-lint | Linter |
| render-markdown.nvim | Markdown preview |
| vim-repeat | Repeat support for plugins |
| opencode.nvim | AI coding assistant |
| atone.nvim | Undo tree (needs re-enabling) |
~/.config/nvim/
├── init.lua # Entry point
├── stylua.toml # Lua formatter config
├── lua/user/
│ ├── settings.lua # Core vim options
│ ├── keymaps.lua # All keymaps (centralized)
│ ├── commands.lua # User commands and autocommands
│ └── deps.lua # Plugin manager bootstrap
└── plugin/
├── blink-cmp.lua # Completion
├── conform.lua # Formatter
├── lspconfig.lua # LSP + Mason
├── markdown_render.lua # Markdown rendering
├── mini.lua # Mini modules
├── nvim-lint.lua # Linter
├── oil.lua # File explorer
├── opencode.lua # AI coding assistant
├── snacks.lua # Picker, terminal, explorer
├── theme.lua # Colorscheme
├── treesitter.lua # Tree-sitter
├── vim-repeat.lua # Repeat support
└── which-key.lua # Keymap hints