It’s a lot better than the TSO EDIT command. When I started, we had EDIT, a.k.a. the TSO line editor. It was much better than punch cards.When I started using Unixes (about 29 years ago), I came from mainframe experience (on MVS that's ISPF and clones like Wylbur and Newlib, and on VM Xedit, which were all full-screen editors using the 3277 hardware) and from VMS (meaning edt and eve). I initially used vi for a few weeks, but the experience was nasty.
When SPF came out, all the programmers clamored for it, but management thought they just wanted it because it was a fun new toy. Then one of the programmers cobbled up a rudimentary full-screen editor, and everyone started using it. When management saw how much productivity improved, they were eager to buy SPF for us.
Vi definitely has a learning curve. (I think the names of the EMACS are more intuitive, but EMACS feels too heavy for me.). I have been using vi for about 20 years, and I like that it is available on every Unix or Linux system. I find it pretty comfortable for editing config files and coding. For documentation, I am more comfortable with LibreOffice Writer, even though vi has some pretty cool commands like move to the next (or previous) word, sentence, or paragraph. It is also nice sometimes being able to execute a command from within vi and have the result inserted in the document.
For editing LaTeX, I prefer the editor that is built in to TeXWorks. (It is possible to configure it to use vi, if you want to.)
Vi can do syntax highlighting, but things like autocomplete, like VSCode does is beyond its capabilities. (You can actually run VSCode on *nix systems, but since it is Microsoft code, I would rather not.) I have been experimenting with Geany. I may switch to that for my programming editor. It seems nice.
One issue I struggle with is the feeling that real UNIX people are fluent in vi. I don’t hold anyone else to that standard, but sometimes when I am finding I prefer other editors, I feel like In am wimping out.