We have various tools that can help you configure your setup without an IDE. For example, `flutter run` listens to SIGUSR1 to do a hot reload, `flutter analyze` has a flag to write the latest results to a file, etc.
If you're after code completion, vim-lsc plugin combined with dart_language_server should work.
I'm hoping someone with more experience could chime in.
For just Android, you don't need a Mac at all.
The Flutter project itself does it at https://github.com/flutter/flutter/blob/master/examples/flut.... You can then self-add to your TestFlight and check that way. Though you can't debug.
You can also get around it using just a Linux and an Android device. You can press 'o' after you flutter run to change the platform on the fly to get iOS scroll physics, page transitions etc etc. But again, testing on the devices your users will be using is more ideal.
[disclaimer: I'm on the Flutter team]