8.7 KiB
🚀 Kickstart.nvim - Professional Edition
A powerful, modular Neovim configuration built on kickstart.nvim, enhanced with LazyVim-style organization and comprehensive language support.
✨ Features
🎨 LazyVim-Style Interface
- Beautiful which-key menu with icons and intuitive groupings
- Consistent keybindings across all plugins (Telescope, Neo-tree, etc.)
- Comprehensive searchable cheatsheet with 200+ keymaps (
<Leader>sc)
🛠️ Language Support
- Flutter/Dart: Full Flutter tools integration with device management
- Rust: rust-analyzer + Crates.io integration for dependency management
- Python: Pyright LSP with virtual environment support
- Svelte: Complete web development setup
- Go, TypeScript, Lua: Pre-configured LSP servers
🔍 Advanced Tooling
- Telescope: Fuzzy finder for files, git, LSP, and more
- Neo-tree: File explorer with git integration
- nvim-dap: Full debugging support for all languages
- Gitsigns: Git integration with blame, hunk navigation, and staging
- Mini.nvim: Surround, autopairs, comments, and more
📚 Comprehensive Documentation
- In-editor cheatsheet accessible anytime
- Progressive learning path from basics to advanced
- Vim mastery tips to build your skills over time
📋 Requirements
Core Dependencies
- Neovim 0.11.4+ (stable or nightly)
- Git for plugin management
- C Compiler (gcc/clang) for TreeSitter
- Make and unzip
Recommended Tools
- ripgrep - Fast file searching (required for Telescope)
- fd - Fast file finding
- Nerd Font - Icons support (set
vim.g.have_nerd_font = true) - Clipboard tool - xclip (Linux), pbcopy (macOS), win32yank (Windows)
Language-Specific
- Node.js & npm - TypeScript, Svelte, web development
- Python 3 - Python development
- Rust & Cargo - Rust development
- Flutter SDK - Flutter/Dart development
- Go - Go development
🚀 Quick Start
1. Backup Existing Config
# macOS/Linux
mv ~/.config/nvim ~/.config/nvim.backup
mv ~/.local/share/nvim ~/.local/share/nvim.backup
mv ~/.local/state/nvim ~/.local/state/nvim.backup
mv ~/.cache/nvim ~/.cache/nvim.backup
2. Clone This Configuration
git clone https://github.com/anupjsebastian/kickstart.nvim.git ~/.config/nvim
cd ~/.config/nvim
3. Install Dependencies
# macOS (using Homebrew)
brew install neovim ripgrep fd
# Ubuntu/Debian
sudo apt install neovim ripgrep fd-find
# Arch Linux
sudo pacman -S neovim ripgrep fd
4. Launch Neovim
nvim
On first launch:
- Lazy.nvim will automatically install all plugins
- TreeSitter will compile language parsers
- LSP servers will be installed via Mason
- Wait for all installations to complete (check bottom right)
5. Verify Installation
:checkhealth
📖 Documentation
Essential Reading
- Getting Started - First-time setup and orientation
- Installation Guide - Detailed installation steps
- Quick Reference - Most common commands
Core Guides
-
Keymaps Reference - Complete keymap documentation
- Core Keymaps - Leader key organization
- LSP Keymaps - Language Server Protocol commands
- Plugin Keymaps - Telescope, Neo-tree, etc.
- Duplicates Guide - Understanding multiple keys for same action
-
Plugins Guide - Plugin documentation
- Core Plugins - Essential plugins (Telescope, Neo-tree, which-key)
- Editor Plugins - Editing enhancements
- LSP & Completion - Language features
- Debug Adapter - Debugging setup
-
Language Setup - Language-specific configuration
Advanced Topics
-
Vim Mastery - Progressive skill building
-
Customization - Making it your own
-
Troubleshooting - Common issues and solutions
-
FAQ - Frequently asked questions
🎯 Quick Access Cheatsheet
In-Editor Help
<Leader>sc- Open comprehensive cheatsheet (searchable!)<Leader>sk- Search all keymaps with Telescope<Leader>?- Quick keymap search<Leader>sK- Which-key command palette
Essential Keymaps
| Keymap | Action | Category |
|---|---|---|
<Leader>sf |
Find files | Search |
<Leader>sg |
Live grep | Search |
<Leader>bb |
List buffers | Buffer |
\ |
Toggle Neo-tree | Files |
<Leader>gg |
LazyGit | Git |
<Leader>dc or F5 |
Start debugging | Debug |
K |
Hover documentation | LSP |
gra |
Code actions | LSP |
Pro Tip: Press
<Leader>and wait - which-key will show you all available keymaps!
🏗️ Project Structure
~/.config/nvim/
├── init.lua # Entry point
├── lua/
│ ├── config/
│ │ ├── keymaps.lua # Global keymaps
│ │ ├── lazy.lua # Plugin manager setup
│ │ └── options.lua # Neovim options
│ ├── plugins/
│ │ ├── core/ # Essential plugins
│ │ │ ├── editor.lua # Telescope, which-key
│ │ │ ├── neo-tree.lua # File explorer
│ │ │ ├── debug.lua # Debug adapter
│ │ │ └── cheatsheet.lua # In-editor help
│ │ └── lang/ # Language-specific
│ │ ├── flutter.lua
│ │ ├── rust.lua
│ │ ├── python.lua
│ │ └── svelte.lua
│ └── kickstart/
│ └── plugins/ # Additional plugins
└── docs/ # Documentation
├── getting-started/
├── keymaps/
├── plugins/
├── languages/
└── vim-mastery/
🎨 Philosophy
This configuration follows these principles:
- Modular: Each plugin in its own file, easy to enable/disable
- Discoverable: Comprehensive which-key menus and cheatsheet
- Consistent: Same keys work the same way across plugins
- Progressive: Learn at your own pace with structured guides
- Documented: Every keymap and feature explained
- Extensible: Easy to customize and add your own plugins
🤝 Contributing
Found a bug? Have a suggestion? Contributions are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE.md file for details.
🙏 Acknowledgments
- kickstart.nvim - The foundation of this config
- LazyVim - Inspiration for keybinding organization
- AstroVim - Cheatsheet inspiration
- Neovim Community - Amazing plugins and support
📚 Learn More
- Neovim Documentation
- Lua Guide for Neovim
- Awesome Neovim Plugins
- This Configuration's Full Documentation
Built with ❤️ using Neovim
Get Started • Keymaps • Plugins • Languages