99 lines
3.6 KiB
Markdown
99 lines
3.6 KiB
Markdown
# Neovim Workflow Documentation
|
|
|
|
This documentation covers workflows and keybindings for this LazyVim-based Neovim configuration, optimized for **TypeScript**, **Python**, and **Go** development.
|
|
|
|
## Quick Start
|
|
|
|
1. **Leader key**: `<Space>`
|
|
2. **Find files**: `<leader>ff` or `<leader><space>`
|
|
3. **Find text**: `<leader>sg` (grep) or `<leader>/` (in buffer)
|
|
4. **File explorer**: `<leader>e`
|
|
5. **Which-key help**: Press `<leader>` and wait
|
|
|
|
## Cheatsheets (Quick Reference)
|
|
|
|
| Cheatsheet | Description |
|
|
|------------|-------------|
|
|
| [Keybindings](cheatsheets/keybindings.md) | Complete keybinding reference by category |
|
|
| [Git Workflow](cheatsheets/git-workflow.md) | Git operations, diffs, PRs, and blame |
|
|
| [Testing](cheatsheets/testing.md) | Running and debugging tests |
|
|
| [Database](cheatsheets/database.md) | Database connections and queries |
|
|
|
|
## Detailed Guides
|
|
|
|
| Guide | Description |
|
|
|-------|-------------|
|
|
| [TypeScript Workflow](guides/typescript-workflow.md) | Complete TypeScript/JavaScript development guide |
|
|
| [Python Workflow](guides/python-workflow.md) | Python development with venv, testing, debugging |
|
|
| [Go Workflow](guides/go-workflow.md) | Go development guide |
|
|
| [Git Workflow](guides/git-workflow.md) | Detailed git operations and PR review workflow |
|
|
| [Debugging](guides/debugging.md) | DAP debugging for all languages |
|
|
| [Snippets](guides/snippets.md) | Creating custom code snippets |
|
|
| [AI Assistant](guides/ai-assistant.md) | Using opencode.nvim for AI-assisted coding |
|
|
|
|
## 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
|