- 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 definition
- grโ References
- Kโ 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: