It's a demo which I'm sure appeals to emacs users, who are the target, but I couldn't imagine using it as a non-emacs user. I previously tried learning emacs to use OrgMode, and gave up after a couple of days when I failed to master even basic text editing skills.
Generally, each time you press a key that is part of a sequence, you get a pop-up explaining what further keys are available. So for instance, I opened magit (M-x magit-status) on a project and pressed ? (for help):
https://i.imgur.com/c5cmmpB.png
The popup lists the keys I can use on magit-status page, and if you know git it's pretty obvious where to go in most cases.
Also, at any time you can press ? and then one of the key listed in the popup to get a detailed description and/or an appropriate manpage.
There are a few that go against this. "x", for example. But it really becomes almost conversational.
Edit: corrected spelling of mnenomic. :) Not convinced it is correct word, oddly...
I just keep thinking there is another word that is even more applicable than mnemonic. Guessing I'm just confusing myself.
[1] https://emacsair.me/2017/09/01/magit-walk-through/#start [2] https://emacsair.me/2017/09/01/the-magical-git-interface/#st...
A reason why it might actually be an advantage that the interface is "text based" is that the thing the tool interacts with is also text [3]. The primary difference to git is that the "output" is "actionable", the primary difference to GUIs is that every feature of git can be exposed quite naturally.
[3] And a major advantage of that is that the barrier between writing the code and thinking of it in terms of change sets starts to break down.
I first visited their docs: https://magit.vc/manual/magit.html#Introduction
And saw that it's over 100 pages (printed).
It is powerful, in that it exposes everything of git. However, I doubt most people use most of that. I've found few, for example, know all the flags you can pass log. Magit actually helps fill them with tab completion on path names and such.
Just read the getting started guide, and you are set for most use cases.
I'm just not sure how to actually address that. The big doc is good to have. It is a shame folks land immediately on it.
Staging/unstaging/reverting (specially when you don't want to do that for a whole file but for a chunk) in magit however is so far ahead of every other git interface I've seen that it's not even funny.
Can't edit my parent comment though now :/
A year later after discovering Kraken, we've now migrated to it and the developer experience has been great.