Implementing a full vi clone seems like a nightmare — the POSIX specification makes me lose hope in humanity :) For instance, what does :delep parse to? I would never have guessed that it was the :delete command with the "p" flag (because :delete p deletes into "p).