vi is a screen-oriented text editor originally created for the BSD Unix system. Created by Bill Joy, it introduced modal editing and became the standard Unix editor, influencing text editors for decades.
Origins
Bill Joy created vi in 1976 as the visual interface to his ex line editor. Running on early terminals with limited bandwidth, vi’s modal approach minimized keystrokes needed for common operations.
Modal Editing
vi’s key innovation is modal editing:
- Normal mode: Navigation and commands
- Insert mode: Typing text
- Command mode: File operations
This separation allows powerful editing with minimal hand movement.
Key Features
vi introduced editing concepts:
- Movement without arrow keys (h, j, k, l)
- Text objects (words, sentences, paragraphs)
- Composable commands (verb + object)
- Powerful search and replace
Legacy
vi’s influence is enormous:
- Vim (Vi IMproved) extends vi with modern features
- Neovim modernizes Vim further
- vi keybindings available in most editors/IDEs
- Modal editing influenced countless tools
- Standard on virtually every Unix system