Setup Neovim + LazyVim + Flutter Tools (for Flutter Devs)

This guide walks you through:
- Installing Neovim
- Setting up LazyVim
- Installing
flutter-tools.nvim - Using it for Flutter development
🧱 1. Install Neovim
Make sure you have Neovim (latest)
macOS
brew install neovim
Ubuntu/Debian
sudo apt update
sudo apt install neovim
Windows (with Scoop)
scoop install neovim
⚙️ 2. Setup LazyVim
LazyVim is a modern, opinionated Neovim setup.
Step-by-step:
# Backup your current config
mv ~/.config/nvim ~/.config/nvim.bak
# Clone LazyVim starter template
git clone https://github.com/LazyVim/starter ~/.config/nvim
# Install required tools
nvim
When you open Neovim for the first time, it will install plugins automatically.
📦 3. Install flutter-tools.nvim
Add the following plugin to LazyVim:
Edit your plugins
Create the file:
mkdir -p ~/.config/nvim/lua/plugins
nvim ~/.config/nvim/lua/plugins/flutter-tools.lua
Paste this config:
return {
"akinsho/flutter-tools.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"stevearc/dressing.nvim", -- Optional: UI enhancements
},
config = function()
require("flutter-tools").setup {
widget_guides = { enabled = true },
closing_tags = {
highlight = "Comment", -- highlight for closing tag
prefix = "// ", -- character to use for close tag e.g. > //
enabled = true
},
dev_log = {
enabled = true,
open_cmd = "tabedit", -- or "vsplit"
},
}
end,
}
Install the plugin
Open Neovim and run:
:Lazy
Press
lto update plugins
🧪 4. How to Use flutter-tools.nvim
Commands
:FlutterRun– Launch Flutter app (emulator must be running):FlutterDevices– Switch device:FlutterReload– Hot reload:FlutterRestart– Hot restart:FlutterDetach– Detach Flutter process:FlutterQuit– Quit Flutter run:FlutterLogClear– Clear dev logs
Auto LSP (Dart) Setup
flutter-tools.nvim auto-configures dartls (Dart language server), so you’ll get:
- Autocompletion
- Diagnostics
- Jump to definition
- Hover docs
✅ Bonus: Enable LSP Keybindings
LazyVim already includes LSP keymaps like:
gd– Go to definitiongr– ReferencesK– Hover docs<leader>rn– Rename<leader>ca– Code action
🧠 Tips
- Use fzf-lua or Telescope for file and symbol navigation
- Enable format on save in LazyVim (
:LspFormat) - Add more plugins via
~/.config/nvim/lua/plugins/
🐞 Troubleshooting
- Make sure
flutteris in your$PATH - Make sure an emulator or device is running
- Use
:checkhealthto diagnose issues
📚 References
Feel free to clone My Setup Config:
- Category
- Development
- Tags
- flutterneovimtoolssetup
- Reading Time
- 8 min read