如何强制 git 的寻呼机换行?
How to force git's pager to wrap long lines?
在我使用 git 的大多数机器上,git diff
和 git show
等命令输出中的长行被换行。
不过,在一台机器上,长行会被截断,我必须使用左右箭头键水平滚动屏幕。我一点也不喜欢这种行为,我需要改变它。
我假设这是 git 的寻呼机中的一个配置变量,或者什么的。有人知道这是什么吗?
我看过 this inverse question 但我无法从中推断出我的问题的答案。
更新:我的印象是 git 有自己的内置寻呼机。然而,对 ps
的实验表明,在它正常工作(确实换行)的机器上有一个程序 /usr/bin/pager
运行,而在它“损坏”的机器上(即,需要水平滚动),运行 寻呼机是 less
。所以也许这是一个 less
问题,而不是 git
问题。
罪魁祸首似乎是 less
并且源代码分发中 less
的默认设置是换行,这听起来像是您继承了 shell已明确配置。
首先,您可以通过在提示符下输入 -S
来切换它。
检查是否存在 LESS
环境变量,以及它是否包含包含 'S' 的值(有关完整选项集,请参阅 https://man7.org/linux/man-pages/man1/less.1.html#OPTIONS)。如果是这样,您需要对其进行调整,使 +S
与 -S
相反。
在我的 Mac 上,这个有效:
export LESS=+S
其他有趣的选项是 -C
,它从顶部重新绘制而不是向上滚动(个人喜好),-N
给出行号,-Q
使 less
完全沉默。
在我使用 git 的大多数机器上,git diff
和 git show
等命令输出中的长行被换行。
不过,在一台机器上,长行会被截断,我必须使用左右箭头键水平滚动屏幕。我一点也不喜欢这种行为,我需要改变它。
我假设这是 git 的寻呼机中的一个配置变量,或者什么的。有人知道这是什么吗?
我看过 this inverse question 但我无法从中推断出我的问题的答案。
更新:我的印象是 git 有自己的内置寻呼机。然而,对 ps
的实验表明,在它正常工作(确实换行)的机器上有一个程序 /usr/bin/pager
运行,而在它“损坏”的机器上(即,需要水平滚动),运行 寻呼机是 less
。所以也许这是一个 less
问题,而不是 git
问题。
罪魁祸首似乎是 less
并且源代码分发中 less
的默认设置是换行,这听起来像是您继承了 shell已明确配置。
首先,您可以通过在提示符下输入 -S
来切换它。
检查是否存在 LESS
环境变量,以及它是否包含包含 'S' 的值(有关完整选项集,请参阅 https://man7.org/linux/man-pages/man1/less.1.html#OPTIONS)。如果是这样,您需要对其进行调整,使 +S
与 -S
相反。
在我的 Mac 上,这个有效:
export LESS=+S
其他有趣的选项是 -C
,它从顶部重新绘制而不是向上滚动(个人喜好),-N
给出行号,-Q
使 less
完全沉默。