1) Am I correct?
Yes.
2) a) I dislike defaulting to using a pager
I think you're a part of a minority in this case -- when you work with Git in a shell, having to append " | mypetpager" onto the end of each Git command producing a lengthy output quickly becomes tedious up to a point of creating specific aliases etc. And Git's awareness of the interactivity of the user's terminal does not ends here: if it detects the prospective output would fit into a single screenful, it does not pipe it through less, so when Git is used *interactively,* it's behaviour is just natural -- you have paging exactly when you would need it.
2) b) (partly because I dislike "less" in particular).
I'm not sure what's wrong with less, really: it supports searching in both directions, has control over line wrapping, supports ANSI color codes and even a mode analogous to tail -f
-- the latter feature is not applicable here but I'm trying to show that this tool is of general use to a typical command-line-savvy power user.
Also I think less
is considered no less standard than cat
on a typical contemporary Unix-like system so lots of power users just have finger memory for it, like they do for their text editor of choice.
In either case, alternatives exist (I'm able to recall most
off the top of my mind).