is "vi" worth learning in 2022?

People will be saying the same in spaceyear 3049.

It will still outlive whatever text editor is called "modern" today. I can even see this thread outliving a lot of today's text editors.
Fortunately there's no realistic situation that actually requires it except people working on a 80x25 hardware terminal. Anything with curses can do better.
 
For the record - there are more people today making stone tips for arrows than there were in the actual stone age.
Be careful about what is obsolete or will be on the decline, no matter what it is.
 
I would never use any Unix system that didn't have vi on it. It's a bare minimum and necessary editor that everyone I know, from my company hires to SGI and Pixar and more, uses on a daily basis for dealing with system related things.
 
I would never use any Unix system that didn't have vi on it. It's a bare minimum and necessary editor that everyone I know, from my company hires to SGI and Pixar and more, uses on a daily basis for dealing with system related things.
It would be because vi is in POSIX spec.

So still worth learning even on 2026 (at least how exit from it sanely), as vi is the only "screen editor" listed in Utilities part of Shell & Utilities volume.
 
I would never use any Unix system that didn't have vi on it.

Ya - that's a deal breaker for me as well.

A lot of Unix/Linux/etc systems don't have X windows or any kind of GUI installed on them - those systems are "bare bones" and running different configurations. So you should plan to use a Unix/Linux standard editor like vi(1) at a minimum.

vi(1) might be really old... but it's (ALWAYS) installed and available and really that's what matters.
 
My main beef is the colon key as escape sequence.

I guess they did not have the ESC key back in the day and needed another way to escape?
The ESC is used to exit out of things. So you when you're in append or insert mode you need ESC to get out of that. Likewise if you've typed : to enter in a command, you need some other method of exiting out that doesn't involve either an enter, space or visible character.
 
I forgot about the editing modes. That too is rough on a new guy. Once you memorize keystrokes it becomes trivial.

I find cu 's escape sequence quite maddening too.
Shift+Tilda+Dot
 
I forgot about the editing modes. That too is rough on a new guy. Once you memorize keystrokes it becomes trivial.

I find cu 's escape sequence quite maddening too.
Shift+Tilda+Dot
TBF, you're not really wrong about needing : to enter a mode where you can exit the software. IIRC, some more modern forks and recreations of vi do default to showing a screen with some information about things like that.
 
This was written for me and all the other new users:

The command you should enter as soon as you start editing is:

:set verbose showmode

This will make the editor give you verbose error messages and display the
current mode at the bottom of the screen.
 
Much like tcsh and csh? Only a config file defines different behavior?

No ed in there?? Only view and ex?
vi and ex is actually hardlinked same binary that behaves differently with which name it's invoked (would be using argv[0] considering historical techniques, but not read the current source code).
 
Back
Top