Neovim Workflow Documentation
This documentation covers workflows and keybindings for this LazyVim-based Neovim configuration, optimized for TypeScript, Python, and Go development.
Quick Start
- Leader key:
<Space>
- Find files:
<leader>ff or <leader><space>
- Find text:
<leader>sg (grep) or <leader>/ (in buffer)
- File explorer:
<leader>e
- Which-key help: Press
<leader> and wait
Cheatsheets (Quick Reference)
| Cheatsheet |
Description |
| Keybindings |
Complete keybinding reference by category |
| Git Workflow |
Git operations, diffs, PRs, and blame |
| Testing |
Running and debugging tests |
| Database |
Database connections and queries |
Detailed Guides
Key Binding Prefixes
| Prefix |
Purpose |
Examples |
<leader>f |
Find/Files |
Find files, recent files |
<leader>s |
Search |
Search text, symbols, help |
<leader>g |
Git |
Git status, diffs, PRs |
<leader>c |
Code |
LSP actions, format, rename |
<leader>t |
Test |
Run tests, debug tests |
<leader>d |
Debug |
DAP debugging |
<leader>D |
Database |
DBUI, connections |
<leader>R |
REST |
HTTP requests |
<leader>k |
AI (opencode) |
AI assistance |
<leader>h |
Harpoon |
Quick file navigation |
<leader>q |
Session |
Save/restore sessions |
<leader>1-9 |
Harpoon files |
Jump to marked files |
Configuration Files
| File |
Purpose |
lua/config/options.lua |
Neovim settings |
lua/config/keymaps.lua |
Global keymaps |
lua/plugins/*.lua |
Plugin configurations |
snippets/*.lua |
Custom code snippets |
Plugin Overview
Core Plugins
- LazyVim: Base distribution with sensible defaults
- Telescope: Fuzzy finder for files, text, symbols
- Treesitter: Syntax highlighting and text objects
- LSP: Language server protocol for IDE features
Language Support
- TypeScript: Full LSP, ESLint, Vitest integration
- Python: LSP, venv-selector, pytest, DAP
- Go: gopls, golangci-lint, go test, DAP
Productivity
- Harpoon: Quick file switching (marks up to 9 files)
- Flash.nvim: Fast navigation with search labels
- Persistence: Session management
- Trouble: Diagnostics list
Git
- Diffview: Side-by-side diffs and file history
- Git-blame: Inline blame annotations
- Octo: GitHub PRs and issues in Neovim
- Gitsigns: Git gutter signs
Other
- Neotest: Test runner for all languages
- DAP: Debug adapter protocol
- Dadbod: Database client
- Kulala: REST client
- Opencode: AI assistant
Getting Help
- Press
<leader> and wait for which-key popup
:Telescope keymaps - Search all keybindings
:Telescope help_tags - Search help documentation
:checkhealth - Check for configuration issues
:Lazy - Manage plugins