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.
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:-).