git log / show等替换终端屏幕

Nul*_*ptr 7 git terminal git-log oh-my-zsh

我最近开始zsh在iTerm2上使用(oh-my-zsh,无需自定义)。但是,我在git log或中遇到了麻烦git show

例如,以前,git log结果只是终端的一部分,就像ls -l结果一样。戒烟后git logq键,结果被保留在终端屏幕。我能够轻松地选择一些哈希ID。

但是,当前的问题是git log(或git show)结果替换了屏幕。因此,退出后git log,终端将完全删除所有git结果并返回到原始屏幕。这种行为就像vim

即使使用bashMac的默认终端应用程序,此行为也相同。这不是问题--no-pager

任何帮助将不胜感激。

Von*_*onC 9

您可以尝试:

git config --global --replace-all core.pager "less -F -X"
Run Code Online (Sandbox Code Playgroud)

从“如何防止git diff使用分页器?”中:

如果将-F选项传递给less,则如果内容少于一个屏幕,退出该选项,但是,重置屏幕后,您最终看不到内容,该-X选项就消除了该行为


小智 9

oh-my-zsh less使用-R标志执行,您可能会运行unset LESS回退到默认行为。

  • 我更喜欢这种方法。刚刚升级到 Catalina,整个“新页面”的事情一直困扰着我!:D (2认同)
  • 结合这两个答案,您还可以设置 `LESS=-RFX` (2认同)