在 oh-my-zsh 管道中输入“git log --oneline”到“less”

在 oh-my-zsh 管道中输入“git log --oneline”到“less”

我刚刚切换到Oh My Zsh我正在使用阿维特主题。

当我输入时,git log --oneline我的输出似乎被传送到less。无论我使用什么主题,它都会这样做。

当我使用bashshell 时,它从不清除屏幕来输出那些行。

我该如何设置它,以便它不会清除屏幕来输出行,而是在我输入命令后只输出行?

以下是供参考的屏幕截图:

在此处输入图片描述

答案1

您可以定义一个分页器,它git默认使用以下方式输出

  1. $GIT_PAGER或环境$PAGER变量
  2. git 配置条目core.pager

可以使用 git 命令行选项暂时禁用分页器--no-pager。如何使其永久禁用取决于上述两种可能性:

  1. 找到 shell 配置文件中定义环境变量的位置,然后删除该行$GIT_PAGER$PAGER

  2. 跑步git config --global core.pager ''

答案2

oh-my-zsh使用 (repaint)运行less命令-R。您可以通过添加以下行来禁用此行为在最后你的~/.zshrc

unset LESS;

这设置-R~/.oh-my-zsh/lib/misc.zsh

来源:https://stackoverflow.com/a/49267711/1050554

答案3

也许更好的解决方案:

git config --global --replace-all core.pager "less -F -X"

如何防止 git diff 使用分页器?

答案4

编辑文件~/.zshrc并添加

PAGER=

然后,保存文件并执行source ~/.zshrc

相关内容