For a lot of people, vi is the editor they meet in a tense moment: a remote server opens, a file needs a quick fix, and the only thing available is a bare terminal. That first encounter is often awkward. The screen looks spare, the controls feel unfamiliar, and the usual habits from other editors do not work the way you expect. Yet that is also why vi keeps showing up. It is small, dependable, and already present on many Unix-like systems, which makes it useful in places where convenience tools are not guaranteed.
The main strength of vi is not that it feels friendly at first. It is that it rewards a different kind of attention. Instead of treating every keystroke as text, vi separates moving around a file from changing it. That idea can feel strange at the start, but once it clicks, editing becomes efficient in a very direct way. You stop reaching for the mouse, stop hunting through menus, and start working with a handful of commands that can move, delete, copy, and replace text quickly. A person who edits logs, configuration files, or scripts every day often cares more about that speed than about a polished interface.
There is also a practical reason vi survives: it is reliable when the environment is limited. A minimal recovery shell, a locked-down server, or an old system image may not have a graphical editor installed, but vi is often there. That matters more than people admit. If you administer machines, work over SSH, or need to repair something in a hurry, the ability to open vi and make a clean change can save time and frustration. It is not the editor you reach for when you want a long writing session, but it is the one you want when the job is simple and the clock is not.
Many beginners give up because they think vi is trying to be obscure. In reality, it is built around a compact set of ideas. Movement commands like h, j, k, and l may look arbitrary until they become muscle memory. Once that happens, editing starts to feel less like typing and more like directing the text. A single command can change a whole word, a line, or a block without forcing you to select everything by hand. The learning curve is real, but it is not random. What looks harsh at the beginning is often just consistency that has not yet become familiar.
That said, vi is not the right answer for every task. If you are drafting a long document, collaborating in a feature-rich environment, or relying on visual feedback and plugins, a modern editor may be the better fit. vi shines when the work is focused and the setup is lean. It is a tool for people who value control over decoration and who do not mind investing a little time up front to gain speed later. That trade-off is the reason many experienced users keep it close even after they move on to other editors for most of their daily work.
What makes vi worth learning today is not nostalgia. It is the confidence it gives you in awkward situations. If a configuration file breaks after an update, if a remote machine has only the most basic tools, or if you need to make one careful edit without opening a whole desktop environment, vi is enough. That kind of competence is easy to overlook until you need it. Then it becomes the editor you are glad you bothered to learn.