Using ensime for language awareness along with evil mode to retain familiar vim keybinds may be a nice balance. I’ve just started trying it out, and don’t have a good sense of whether the features are things that I’ll keep using or if I just like them right now because “oooh look what I can do now” but it may be worth evaluating if you’re a scala coder who feels dirty using gui’s.
For small scala projects I tend to use vim. But for larger projects, I can’t live without eclipse features such as on-the-fly error checking, organise imports, rename, and so on.
Moreover, if you use the vrwapper plugin, you get almost all the benefits of vim inside eclipse.