I went into the article expecting some nonsense about how I should be using vscode or whatever, but this was just about how having vim as the default editor is far better than having vi.
As my beard greys, I find that a reasonable take.
Glass terminal means with a screen, so any point on the screen could be changed at any time. Screen means a CRT, and that means specifically text-only and single-colour.
But before microcomputers, before a mass market in software that individual people could get and use on their own computers. Vi was from the end of the era of computers that cost as much as a house and so which you had to share.
So, terminals with screens were becoming common enough that an editor designed for them caught on.
But it was before microcomputers, where the computer was so closely coupled with the screen and keyboard that soon they were built into the same casing.
Screen + keyboard + computer in one unit == Commodore PET.
Keyboard + computer in 1 = Apple II
Keyboard, screen, and computer all sold together: TSR-80
All 1977, the year after vi appeared.
Computers with their own keyboards, or in their own keyboards, led to keyboards designed alongside the computer's OS.
Before then terminals were printers with typewriters: instead of just printing, the keyboard sent codes to the computer, and the computer sent them to the printer. Replace printer with screen, this still happened.
A mass market in software for individuals led to UI conventions and keyboard improvements.
Typewriters only have Shift and Tab. But as glass terminals went mainstream, then microcomputers which came with their own dedicated keyboards, they sprouted lots more keys.
Vi is from the early stage: it expects "Esc" and there's a combo for that.
What came right after it was Ctrl and Alt... and at first they went a bit crazy and there was Meta and Hyper and so on too.
To this day, the meaning of "meta" has not been agreed. Emacs and relatives mean one thing, KDE and relatives mean a different key.
Along with these keys, and a way to represent them as bits in a byte, nicknamed after a very young Niklaus Wirth -- "Bucky bits".
(I am guessing this is from him having European teeth not as even and straight as American kids who if they were from families rich enough to send them to university, all had braces.)
Along with all those keys came arrow keys and forwards and backwards delete keys, and rows of F-keys.
And it shows because vi doesn't use all this. It uses letters and Ctrl and nothing much else.
Once all the keys were they, software started to use them. Result, a Cambrian explosion in UI diversity. That's the era Emacs is from.
Then, next, came a great extinction event, as most of the dozens of weird 1980s computer makers went broke, and the industry standardised on CP/M replaced by MS-DOS, and PC clones, plus off to one side a few makers of GUI computers: Apple, Atari with the ST, Commodore with the Amiga, Acorn with the Archimedes.
And a matching great extinction event in UI design, as IBM-lauout keyboard became the standard and GUIs standardised software UI. DOS standardised UIs on CUA as it fought to stop Windows taking over.
It failed. Windows uses CUA. GUIs and CUA killed modal editors and weird UIs.
The Unix world stayed on minicomputers and their single-user descendants, workstations. It avoided all this standardisation. Keyboards stayed weird, UIs remained chaotic.
That's why vi is still weird, and so is Emacs in totally different ways.
The sad thing is this:
Those standardised UI are good ones backed by millions in R&D spend. They are better UIs than vi -- any vi.
Vi users like the rich keyboard controls, and won't move. But CUA editors have equally rich keyboard UI and if you know it you can drive all GUI apps with the same UI. This is massively useful. You can drive the whole OS and all its apps at the speed and control and power of a Vim user who's been practising for a decade.
And it hasn't gone away because this is also the UI that all blind and visually-impaired users use, and those with serious motor coordination problems.
But the Linux shell came straight out of minicomputers and workstations and never got standardised like this.
This is about Vi though and that's certainly more rare. For me that's only used over a rare ssh with vim not available but vi present
I've been mostly using emacs past 30 years ie. about the time when system memory wasn't any more constraint which while single user was about 8MB at least. But I did earn my living before that about 7 years mostly using vi as most usable editor in the system and that 8MB was luxury most of that time.
But even emacs IMHO was and is vastly superior, vi still had it niche fast small edits and especially before log based transactional filesystems. After power outage or bad brownout event system crash there was great chance you got to fixing filesystem with fsck (which did often take lot of time) and worst cases finally debugfs trying to fiddle bits that you get fsck fixing rest.
Bringing system up with old system could be tedious. Before you get system enough up single user mode and just root fs mounted you had to resort you way forward using those modest tools you had there. It was really great if vi did work, but it too required sometimes more memory than you had before swap was active. If not, then ed was your friend, ex is just vi without visual mode.
For a long time vi was also able to edit very large files. It did not require reading whole file in memory before it allowed editing as for example emacs did (or mmap's it memory later).
These days I use vi for quick edits like someone above mentioned and like it more than any later replacement (nano etc) if emacs is not there, not worth installing it for just quick change or when can't install on (embedded) or someone else's system for any reason.
Vi is often available also *bsd based appliances which I've been using like Junos, Netscalers, etc.
In short, IDE vim support does not measure up to the experience of using the real thing.
WTF, why isn't my terminal responding
Because its nice to sound it out .. "colon .. exit" ..
What else should I use?
The exception is when you go do some work at server using a commercial unix and that is not how it's set up (in fact they don't even know about vim)
sigh but ok that story is dated and that behavior was already dated at that time
I'm struggling to think of the last time I saw a commercial unix -- we still had solaris on some new machines until about 2006 - the last I remember was the x4500 with ZFS.
Our sun sysadmin contractor (whose full time job it was to look after about 10 solaris machines) was a big fan of ksh at the time.
But some companies are even slower to migrate
Anyway I don't know how the builtin shell was called, maybe simply sh but it was also a big no no for me
(though admittedly, with a somewhat unfortunate default config, at least for modern environments)
It has been my editor of choice over vim for many years now, and I'm super productive on it (though at this point, partly this stems from me having developed my own set of custom macros and helper utilities over the years).
Literally second paragraph.
Now: Which React Yoga Bun TypeScript Tailwind Node vomit is better for shipping 250k unchecked LOC? Florp Code or Blorp Codex?
We mourn our craft.
Surely you're being sarcastic... aren't you?
Aren't you?!
"ssh username@ip and configure logs to be persisted for only 1 week."
Its major downfall is the commands are hardly intuitive, but I forced myself to learn it by doing everything in Vim (including shopping lists) and it now feels comfortable.
Then you have situations where you have no choice. I work for a company with over 100,000 servers and they only install Vim and disallow us installing anything else.
Not that we would have time; we’re in and out of each server in five minutes then on to the next ticket.
And I'm surprised this usually comes as a surprise to people, given nano provides the ability for both internal (i.e. macros) and external scripts to manipulate its buffer. In principle you could even run non-interactive vim commands through nano if you really wanted to.
It doesn't hurt to know some basic vi/vim commands though, as you will mostly encounter them pre-installed on even the most exotic distribution.
I could never understand why anyone would use nano with its bs shortcuts, making basic text editing (in contrast to basic linear text writing, which even a non-modal editor like nano can do decently) into a complete *.
This is dumb. Sure, some people don't get modal editing. Others don't get how you could live without. It is almost as if people work differently and have different preferences.