I don't use it much, but VSCode's vim plugin seems pretty good these days. I know everyone has a different subset of vim commands they consider essential, but everything I use regularly seems to work: change list, '/' for incremental search, f, marks, macros, split windows etc.
Actually, I may have just talked myself into using VSCode over MacVim...