A launch point for your personal nvim configuration
Go to file
Anup Sebastian 88d84fee4c migration complete 2025-11-01 03:01:29 -05:00
.github chore: fix typo in bug report issue template (#1306) 2025-01-15 14:37:36 -05:00
archive migration complete 2025-11-01 03:01:29 -05:00
docs migration complete 2025-11-01 03:01:29 -05:00
lua migration complete 2025-11-01 03:01:29 -05:00
.gitignore Remove lazy-lock.json from .gitignore 2025-10-29 17:08:17 -05:00
.stylua.toml Use call_parentheses 2023-06-16 21:12:11 -07:00
LICENSE.md license 2022-06-25 21:51:44 -04:00
README.md migration complete 2025-11-01 03:01:29 -05:00
init.lua migration complete 2025-11-01 03:01:29 -05:00
lazy-lock.json migration complete 2025-11-01 03:01:29 -05:00

README.md

🚀 Kickstart.nvim - Professional Edition

A powerful, modular Neovim configuration built on kickstart.nvim, enhanced with LazyVim-style organization and comprehensive language support.

Neovim Lua License


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
  • 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

Core Guides

Advanced Topics


🎯 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:

  1. Modular: Each plugin in its own file, easy to enable/disable
  2. Discoverable: Comprehensive which-key menus and cheatsheet
  3. Consistent: Same keys work the same way across plugins
  4. Progressive: Learn at your own pace with structured guides
  5. Documented: Every keymap and feature explained
  6. Extensible: Easy to customize and add your own plugins

🤝 Contributing

Found a bug? Have a suggestion? Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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


Built with ❤️ using Neovim

Get StartedKeymapsPluginsLanguages