|
|
||
|---|---|---|
| .. | ||
| getting-started | ||
| keymaps | ||
| languages | ||
| vim-mastery | ||
| DOCUMENTATION-PLAN.md | ||
| README.md | ||
README.md
📚 Complete Documentation Guide
Welcome to the comprehensive documentation for this Neovim configuration. This guide is organized to help you progress from beginner to advanced user.
🗺️ Documentation Structure
🚀 Getting Started
Start here if you're new or just installed the config
- Installation - Step-by-step setup guide
- First Steps - Your first hour with this config
- Quick Reference - Essential commands cheat sheet
- Philosophy - Design principles and organization
⌨️ Keymaps
Complete keymap documentation with examples
- Overview - Keymap organization philosophy
- Core Keymaps - Leader key bindings (buffer, window, search, etc.)
- LSP Keymaps - Language Server Protocol commands
- Plugin Keymaps - Telescope, Neo-tree, Git, etc.
- Debug Keymaps - Debugging commands
- Duplicates Guide - Understanding multiple keys for same action
- Consistency Guide - Cross-plugin key patterns
🔌 Plugins
Understanding each plugin and how to use it
- Overview - All plugins explained
- Core Plugins - Telescope, Neo-tree, which-key, lazy.nvim
- Editor Plugins - TreeSitter, mini.nvim, autopairs, etc.
- LSP & Completion - Language servers, nvim-cmp, snippets
- Debug Adapter - nvim-dap setup and usage
- Git Integration - Gitsigns, LazyGit, fugitive
- UI Enhancements - Colorscheme, statusline, bufferline
💻 Language Setup
Language-specific configuration and features
- Overview - All supported languages
- Flutter/Dart - Flutter tools, device management, hot reload
- Rust - rust-analyzer, Crates.io integration
- Python - Pyright, virtual environments, testing
- Svelte - Svelte LSP, web development
- TypeScript/JavaScript - tsserver, ESLint, Prettier
- Go - gopls, testing, debugging
- Other Languages - Lua, JSON, YAML, Markdown, etc.
🎓 Vim Mastery
Progressive learning path to master Vim
- Overview - Learning philosophy and roadmap
- Week 1: Motion Basics - hjkl, word motions, searching
- Week 2: Text Objects - iw, ap, at, etc.
- Week 3: Advanced Editing - Visual mode, macros intro
- Week 4: Macros & Registers - Recording and replay
- Week 5: Command Line - Ex commands, ranges, substitution
- Week 6: Windows & Tabs - Managing your workspace
- Tips & Tricks - Productivity boosters
- Workflows - Real-world editing patterns
- Advanced Topics - Vim script, Lua, custom commands
🛠️ Advanced Topics
- Customization - Make this config your own
- Plugin Development - Create your own plugins
- Performance Tuning - Optimize startup time
- Troubleshooting - Common issues and solutions
- Migration Guide - Coming from other configs
- FAQ - Frequently asked questions
📖 How to Use This Documentation
For Beginners
- Start with Getting Started
- Learn Quick Reference commands
- Follow Vim Mastery Week 1
- Use the in-editor cheatsheet constantly
For Intermediate Users
- Review Keymaps documentation to discover new commands
- Explore Plugin guides for advanced features
- Continue Vim Mastery progression
- Learn language-specific features in Languages
For Advanced Users
- Study Customization to extend the config
- Optimize with Performance Tuning
- Master Advanced Topics
- Contribute improvements back to the project
🎯 In-Editor Help
You don't need to leave Neovim to access help:
Built-in Cheatsheet
<Leader>sc- Comprehensive searchable cheatsheet (200+ keymaps)<Leader>sk- Telescope keymap search<Leader>?- Quick keymap fuzzy search<Leader>sK- Which-key command palette
Context-Sensitive Help
K- Hover documentation (LSP)<Leader>k- Signature help?(in Telescope/Neo-tree) - Show plugin-specific help:help <topic>- Vim's built-in help system
Discovery Tools
- Press
<Leader>and wait - which-key shows all available keymaps - Press
gand wait - see all "go to" commands - Press
]or[and wait - see all next/previous commands
💡 Learning Philosophy
This documentation follows a progressive disclosure approach:
- Start Simple: Basic commands to be productive immediately
- Build Gradually: Add one new technique per week
- Practice Deliberately: Focus on mastering before moving on
- Apply Immediately: Use new skills in real work
- Iterate: Return to earlier topics with new understanding
The One-Trick-Per-Week Method
Instead of trying to learn everything at once:
- Pick ONE new command/technique each week
- Use it consciously until it becomes muscle memory
- Track your progress in Vim Mastery
- After a year, you'll have 52 new tricks!
🗺️ Learning Paths
Path 1: Productive in One Day
Goal: Get work done immediately
- Installation - 30 min
- Quick Reference - 15 min
- Core Keymaps - Learn
<Leader>sf,<Leader>sg,<Leader>bb - Start coding with LSP features (K, gra, gd)
Path 2: Vim Proficiency in 6 Weeks
Goal: Become efficient with Vim motions
- Week 1: Motion Basics
- Week 2: Text Objects
- Week 3: Advanced Editing
- Week 4: Macros & Registers
- Week 5: Command Line
- Week 6: Windows & Tabs
Path 3: Master All Features
Goal: Unlock the full power of this config
- Complete Path 2 (Vim Proficiency)
- Deep dive into All Plugins
- Master your primary language setup
- Learn Advanced Workflows
- Customize and extend (Customization Guide)
🎓 Recommended External Resources
Books
- Practical Vim by Drew Neil - The best Vim book
- Modern Vim by Drew Neil - Neovim-specific features
- Learning the Vi and Vim Editors - Comprehensive reference
Video Courses
- ThePrimeagen's Vim Course - Entertaining and informative
- Vim Casts - Short, focused video tutorials
- TJ DeVries' Neovim YouTube - Creator of kickstart.nvim
Interactive Learning
- vimtutor - Run
:Tutorin Neovim - Vim Adventures - Game to learn Vim
- OpenVim - Interactive tutorial
Community
- r/neovim - Reddit community
- Neovim Discourse - Official forum
- Matrix/Discord - Real-time chat
📝 Documentation Conventions
Notation
<Leader>- Your leader key (default: Space)<C-x>- Control + x<M-x>- Alt/Meta + x<CR>- Enter/Return key{motion}- Any motion command (w, e, $, etc.)[count]- Optional number prefix
Visual Cues
- 💡 Tip - Helpful suggestion
- ⚠️ Warning - Important caution
- 📌 Note - Additional information
- 🎯 Pro Tip - Advanced technique
- 🔍 Example - Practical demonstration
🔄 Keeping Documentation Updated
This documentation evolves with the configuration:
- Check for updates:
git pullin~/.config/nvim - Version: Documentation matches config version
- Feedback: Open issues for unclear docs
- Contribute: Submit PRs for improvements
🎯 Quick Navigation
By Topic
- Need to find a file? → Telescope Guide
- Want to understand a keymap? → Keymaps Overview
- LSP not working? → Troubleshooting LSP
- Adding a language? → Language Setup
- Config too slow? → Performance Tuning
By Skill Level
- Beginner → Getting Started
- Intermediate → Vim Mastery
- Advanced → Customization
By Plugin
Happy Coding! 🚀