在 OS X 终端中,当less
它自己或被其他程序(如 )调用时man
,它的输出不会在我们退出后写入 ttyless
。例如,如果我们运行less README
,我们将被临时定向到一个屏幕,其中包含类似
SO rocks.
README (END)
按下 后q
, 的输出less
会消失,我们最终会得到类似
$less README
$ # shell waiting for input
但是,如果less
被调用git
(在我的情况下,寻呼机git
设置为),情况并非如此。的输出总是在退出后写入 tty。例如,如果我们运行,如果日志很短,甚至不会被调用;如果日志长于一个屏幕,那么我们将像往常一样暂时被引导到输出屏幕:less -r
less
git log --oneline
less
less
0000000 set the pager of git to less
......
1111111 what's wrong with git?
(END)
在按下 之后q
,整个内容都会写入 tty,所以我们最终会得到类似
$git log --oneline # OMG!!!
0000000 set the pager of git to less
...... (the entire log)
1111111 what's wrong with git?
$ # shell waiting for input
那么有可能改变这种行为吗?我的意思是,是否可以进行配置git
,使其始终将输出传输到 less(无论输出是长还是短),并且在less
退出后在 tty 中什么都没有?谢谢。