退出后如何让 git pager 清理屏幕输出?

ggu*_*son 34 terminal git less

寻呼机 less 不会像我使用 git 时那样清除屏幕。

我一直使用 less 并且退出后通常不会在终端中留下输出,但是当通过 git 执行 less 时,它会将输出留在终端中。我 100% 确定 git 在我的系统上使用较少。

git 有什么问题,我该如何解决?pager = less在 ~/.gitconfig 没有帮助。$PAGER 也设置为 less。

ggu*_*son 39

解决方案是设置变量 LESS。Git 默认为less FRSX.

export LESS=R
Run Code Online (Sandbox Code Playgroud)

或者,您可以在调用 pager 时修改变量 LESS:

git config --global core.pager 'less -+$LESS -R'
Run Code Online (Sandbox Code Playgroud)

请参阅man git-config 中core.pager部分

  • 只删除X选项就足够了,该选项是根据less(1)的手册防止恢复终端。 (3认同)

小智 11

要清除屏幕,但保持其他行为不变,您可以执行以下操作

git config --global core.pager 'less -+X'
Run Code Online (Sandbox Code Playgroud)

这将禁用该-X选项。

  • 您还需要禁用 'F' 标志,因为如果缓冲区很小,less 将自动关闭,导致您相信没有输出。所以命令应该是`git config --global core.pager 'less -+X -+F'`。 (2认同)