Vim commands for Flutter, including hot-reload-on-save and more.
Usage documentation can be found both in this README, as well
as via calling :h flutter.
vim-flutter is a Vimscript-only plugin, and makes heavy
use of Vim8's async jobs. It can be installed with a
package manager like
vim-plug
, for example.
Though this package doesn't depend on it, having
dart-vim-plugin
available is recommended, for a betterexperience.
You may also consider combining
package:dart_language_server
with a Language Server Protocol client, like
ale.
Plug 'dart-lang/dart-vim-plugin'
Plug 'thosakwe/vim-flutter'
" Run :PlugInstall to install the plugin.Ultimately, installation is up to you.
g:flutter_command- The Flutter executable path/name; defaults to'flutter'.g:flutter_hot_reload_on_save- Whether to auto hot-reload whendartfiles are saved; defaults to1.
:FlutterRun <args>- callsflutter run <args>:FlutterHotReload- triggers a hot reload on the current Flutter process:FlutterHotRestart- triggers a hot restart on the current Flutter process:FlutterQuit- quits the current Flutter process:FlutterDevices- opens a new buffer, and writes the output offlutter devicesto it:FlutterSplit- opens Flutter output in a horizontal split
The following are self-explanatory:
:FlutterVSplit:FlutterTab
A convenient feature to have when working with Flutter is
to automatically hot-reload an app once a file is saved.
By default, whenever a dart file is saved, if and only if
a Flutter process is running, it will be hot-reloaded.
You can disable this by setting g:hot_reload_on_save=0,
before vim-flutter is loaded.
Plug 'thosakwe/vim-flutter'
" Some of these key choices were arbitrary;
" it's just an example.
nnoremap <leader>fa :FlutterRun<cr>
nnoremap <leader>fq :FlutterQuit<cr>
nnoremap <leader>fr :FlutterHotReload<cr>
nnoremap <leader>fR :FlutterHotRestart<cr>