A ViM clone made from scratch