vim re-imagined in javascript