is it more powerful than a fully fledged, mouse enabled, menu filled, graphical text editor?
Simply put, a whole order of magnitude more powerful. You cannot compare them it's not even funny.
Now before this goes in a major troll-fest, some things to ponder:
vi is old
vi is an old arcane piece of software that has become ubiquitous in modern computing. However it's a bit outdated. Starting the late 80s and all throughout the 90s, a lot of vi-clones projects appeared to modernize the software. The most successful clone (but far from being the only one) is called
Vim. This is the one I'll be referring to hereafter.
vi is not obviously better
vi(m) happens to be one of these software that are far better than others, however it is not
obviously better. It happens that some people use it for months and still cannot see what the big deal is. The problem is that Vim won't let you save a huge amount of time on one single annoying task. It will however let you save a few milliseconds on tasks you repeat thousands of times a day. This is why the superiority of the editor is very subtle (yet very real).
vi is modal
The main idea behind vi, and the source of its genius, is a technique called "modal" editing. Understanding and embracing the modal mindset is the secret behind successfully adopting the editor. What does modal mean?
On the GUI editors you mention, pressing the "a" key will always have the same effect: Insert character "a" at the current position of the cursor. If you're lucky, you get some modifiers like CTRL or ALT to use the key for some command.
vi works differently. You can either be in "insert" mode (similar to the described above) or in "command" mode. In command mode, keys are actually shortcuts to text-manipulating functions, like "delete", "paste", "repeat (last action)", "change", "replace", ... These actions (
commands) can be coupled with
targets (I cannot remember the correct appelation), to form complex commands like "move the following paragraph to the top of the file", "replace the two following words with a new one", ... This may not seem much, but think about this: every time you had to press the arrow keys more than twice in a row on your GUI editor, there's a better and more optimal way to do it.
Vim has support for even more powerful commands called macros, which are basically an entry way for programmable shortcuts, (very easy to use). And it comes with a powerful scripting language embedded called Vimscript.
vi is keyboard only
That's not completely true. Vim has gained support for the mouse for years now. However, vi was developed before the mouse ever existed, and can perfectly live without a mouse plugged in. As a matter of facts, most users do not use the mouse at all. The reason is simple: Mouses are slow.
If you are convinced that the power of vi consists of reducing a few milliseconds off every action you do, then you'll quickly realize how much time you lose moving your wrists from the keyboard to the mouse. Keyboard only setups are the first step towards real speed. Do you ever see hackers in Hollywood movies interrupt their flow of typing to select something with the mouse?
One more interesting piece of trivia: vi uses the keys 'h', 'j', 'k', 'l' instead of the arrow keys for cursor movements. The historical reason why it did this was because ... arrow keys were not invented yet (yes, vi is
that old!). As a side effet, you don't move your wrists all the way to the arrow keys, and keep them in a single position at all time. You wouldn't believe how much time that saves you until you actually try it.
vi is expert-friendly
This is probably the main weakness of the editor, the reason why it's not more widely adopted. Newcomers have a very hard time with vi, especially if they come from the GUI editors world. A lot of efforts have been put into making the transition as easy as possible, with tutorials, exercises and cheat sheets. However, when it comes to muscle memory, you cannot take shortcuts. From my experience, it takes around a couple of months to notice the first improvements. It also takes a LOT of frustration to get through the first week.
Bottom line, if you want to learn it, you have to commit to it.
vi is famous
It's been around since forever, it can be found anywhere today, and you can find a ton of litterature about it. I'll leave you with my latest favorite Vim story:
Vim Creep.