Before vi, there were line editors like ed and edit which resemble EDLIN in MSDOS. Compared to ed or edit, vi is more efficient for editing. Back in the old days, computers were expensive, costing tens of thousands of dollars for machines that had only 64KB of RAM, so cheaper non-programmable dumb terminals were more common. Some terminals were essentially dot matrix printers with a keyboard attached to them, communicating at 110 baud, or about 11 characters per second, like a typewriter, so you could not do full screen editing on them, so you had to use ed or edit. That is probably one of the reasons why the C language is so concise, using single character tokens for a lot of its syntax. With ed or edit, you had to use substitution commands to replace some text with revised text rather than editing text in-place. Video display terminals, such as the VT100, that allowed full-screen editing with vi saved a lot of paper and allowed for editing text in-place. Graphical user interfaces and mouse input devices did not exist when vi was created, and not all terminals had arrow keys or page up and page down keys for easy navigation. One good thing about vi is that it is available on almost every Unix version and variant due to historical reasons.