- Published on
๐ Setup Neovim + LazyVim + Flutter Tools (for Flutter Devs)
- Authors

- Name
- Haris Setiyono

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: