A modern Neovim configuration built on kickstart.nvim with enhanced Flutter/Dart development support and additional productivity plugins.
- LSP Support: Intelligent code completion, diagnostics, and navigation
- Flutter/Dart Development: Optimized for Flutter development with Dart LSP
- Modern UI: Clean interface with Telescope fuzzy finder and file explorer
- Smart Completion: Fast autocompletion with blink.cmp
- Syntax Highlighting: Tree-sitter powered syntax highlighting for 20+ languages
- Git Integration: Built-in Git workflow support
- Code Formatting: Automatic code formatting with conform.nvim
- Extensible: Easy to customize and extend
- Neovim 0.10+ (tested on 0.11.4)
- Git
- Node.js (for some language servers)
- Ripgrep (
rg
) for fast searching - fd for enhanced file finding (optional but recommended)
# Install Neovim
brew install neovim
# Install dependencies
brew install git node ripgrep fd
# For Flutter development
brew install --cask flutter
# Ubuntu/Debian
sudo apt update
sudo apt install neovim git nodejs npm ripgrep fd-find
# Arch Linux
sudo pacman -S neovim git nodejs npm ripgrep fd
- Backup existing config (if you have one):
mv ~/.config/nvim ~/.config/nvim.backup
- Clone this repository:
git clone https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.git ~/.config/nvim
- Start Neovim:
nvim
The configuration will automatically install all plugins on first launch.
- Dart/Flutter (primary focus)
- Lua (Neovim configuration)
- JavaScript/TypeScript
- Python
- Rust
- Go
- HTML/CSS/SCSS
- JSON/YAML
- Markdown
To add support for additional languages:
- Install the language server via Mason:
:MasonInstall <language-server-name>
- Add tree-sitter parser:
:TSInstall <language>
This configuration includes my personal key mappings for Flutter development and general productivity. Feel free to modify any mappings in lua/vim-options.lua
or individual plugin files to make the configuration truly your own.
- Use
<Space>
as the leader key for most custom mappings - Many plugins provide their own default mappings
- Run
:help
followed by a plugin name to see available commands and mappings
- lazy.nvim: Plugin manager
- kickstart.nvim: Base configuration
- telescope.nvim: Fuzzy finder
- blink.cmp: Autocompletion
- nvim-treesitter: Syntax highlighting
- nvim-lspconfig: LSP configuration
- mason.nvim: LSP installer
- conform.nvim: Code formatting
Add new plugins by creating a new file in lua/plugins/
:
-- lua/plugins/example.lua
return {
'author/plugin-name',
config = function()
-- Plugin configuration
end,
}
Core Neovim settings are in lua/vim-options.lua
. Edit this file to change:
- Editor options (tabs, spaces, line numbers)
- Key mappings
- General Neovim behavior
The current colorscheme is configured in lua/plugins/catppuccin.lua
. To switch themes:
- Add a new colorscheme plugin file in
lua/plugins/
- Configure it as your default theme
- Optionally remove or disable catppuccin
This configuration is optimized for Flutter development with:
- Dart LSP: Full language support with analysis server
- Flutter snippets: Code snippets for common Flutter patterns
- Hot reload integration: Quick restart capabilities
- Import management: Automatic import organization
:FlutterRun " Start Flutter app
:FlutterReload " Hot reload
:FlutterRestart " Hot restart
:FlutterQuit " Stop Flutter app
Run comprehensive health check:
:checkhealth
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This configuration is based on kickstart.nvim and follows the same MIT license.
- kickstart.nvim for the solid foundation
- The Neovim community for excellent plugins and documentation