The reason is b/c vim predates GUIs. Yes, as in all of them:-D. (Or rather, its predecessor vi did and vim unlike others very much remained true to its origins)
Even now, there are many places e.g. when doing server maintenance or accessing a compute cluster via SSH, sometimes you do not have a handy GUI environment accessible, at which point your choices become extremely limited, and it helps that vim has been installed on every Unix-i/Linux-ish machine since the 80s.
GUIs are superior, ofc, when they work. On a daily basis I even use a GUI for vim - MacVim (for Windows there used to be Cream but I am very out of date there), and there is always gVim. I could use something else but I am familiar with vim and it is EXTREMELY powerful - e.g. I could indent 100,000 lines in the middle of a file without having to manually select all of them at once first, or better still only do the indentation based on matching a pattern.
It is very advanced, and thus not for everyone, and even those of us that use it often prefer the GUI way for simple tasks like select a contiguous block of 5 lines, but it offers the benefit that it works in the widest possible number of scenarios - e.g. more than nano. emacs does too, except its commands are so configurable that the X-windows GUI number 1, X-windows GUI number 2, and command-line versions all use entirely different shortcuts, so a cheat sheet would not help. vim offers consistency that, afaik, is absolutely unmatched anywhere.
Even when Emacs had two GUI versions, the default keys were pretty much the same between them, as far as I recall, excepting features missing from one or the other. For a very long time now, it’s all been reconciled as GNU Emacs, anyhow, whether CLI or XWin GUI, or even on a Mac or (shudder) MS Windows. I just use my local running Emacs, with my preferred configuration, to edit files anywhere, such as inside a running container on a remote server in AWS, so it’s pretty consistent for me.
Thanks for the update - I so rarely use emacs that I might be guilty of misinformation here, as in what may have been true two decades ago is not any longer. I’ll try to remember that.:-)
The reason is b/c vim predates GUIs. Yes, as in all of them:-D. (Or rather, its predecessor vi did and vim unlike others very much remained true to its origins)
Even now, there are many places e.g. when doing server maintenance or accessing a compute cluster via SSH, sometimes you do not have a handy GUI environment accessible, at which point your choices become extremely limited, and it helps that vim has been installed on every Unix-i/Linux-ish machine since the 80s.
GUIs are superior, ofc, when they work. On a daily basis I even use a GUI for vim - MacVim (for Windows there used to be Cream but I am very out of date there), and there is always gVim. I could use something else but I am familiar with vim and it is EXTREMELY powerful - e.g. I could indent 100,000 lines in the middle of a file without having to manually select all of them at once first, or better still only do the indentation based on matching a pattern.
It is very advanced, and thus not for everyone, and even those of us that use it often prefer the GUI way for simple tasks like select a contiguous block of 5 lines, but it offers the benefit that it works in the widest possible number of scenarios - e.g. more than nano. emacs does too, except its commands are so configurable that the X-windows GUI number 1, X-windows GUI number 2, and command-line versions all use entirely different shortcuts, so a cheat sheet would not help. vim offers consistency that, afaik, is absolutely unmatched anywhere.
Now you know:-).
Even when Emacs had two GUI versions, the default keys were pretty much the same between them, as far as I recall, excepting features missing from one or the other. For a very long time now, it’s all been reconciled as GNU Emacs, anyhow, whether CLI or XWin GUI, or even on a Mac or (shudder) MS Windows. I just use my local running Emacs, with my preferred configuration, to edit files anywhere, such as inside a running container on a remote server in AWS, so it’s pretty consistent for me.
Thanks for the update - I so rarely use emacs that I might be guilty of misinformation here, as in what may have been true two decades ago is not any longer. I’ll try to remember that.:-)