There's a little BASIC resurgance now. I've been having fun with this
https://github.com/ReuvenSwirsky/erlbasic "Erlang BASIC" which implements a mini-computer style time sharing BASIC system in Erlang. There's a beta of it online now, running a more advanced version than the branch on GitHub I’ve been using.
I'll see if I can port this "Vi" to this flavor of BASIC.