1. Zip is not always available, it is a proprietary standard, considered evil, etc. If you are unlucky your *x will drop a statically compiled [un]zip in /opt, the worst fate possible.
2. vi does not work the same everywhere, ed does, that is why ed is the Standard Editor.