Hi, I am not sure if this is of interest, but as a complete Command Line Interface Newbie I had some very scary moments while working my way through chapter 2 of pro-git. This would usually be when opening an editor that I had never been to before and had no idea how to leave. I know it is impossible to explain the whole functionality of vim and the git logging editor, but can we at least add a little hint as to how to get out of the respective situation?
Someone who has never used vim would NEVER guess to type Esc:wq to leave the editor.
Equally it might be worth mentioning that if git log goes into paging mode, you can press q to go back to your trusted terminal.
A third occasion is when trying to commit without attaching a message in the same command line - how do I enter a message after the event and leave the editor gracefully.
None of these things will be mysteries to CLI pros but it might still be worth helping the newbies out.
Just my 2 cents,
These are very valid concerns and also come up in the real life classes. This should definitely be addressed. I'm thinking about making that a formal part of the "flow" of either the book or the associated tutorial we are building (slowly) over at http://teach.github.com
Please feel free to fork the sources of the book, write an introduction to the tools and to send a pull-request.
Newbies shouldn't use vim, but nano (and I'm a happy vim user). You still need to explain it, but it's much easier. The gist would be:
You might still need to explain how to exit from unusual default editors (either vim or emacs).
You still need to explain paging mode, that is less: there is no significantly easier alternative, but less is also much easier to learn (you need just the q command and the standard movement commands, arrows, PgUp, PgDown).
(I'm not familiar enough with the book, although I heard good things on it, but I guess this is still useful).
I added a warning and some basic instructions for changing your editor to the second edition, hopefully this will help a bit. Quitting out of the pager is a really good point. I'll see what I can come up with.