有没有办法配置git,只有当它超出终端大小(或至少是特定行数)时才将其输出管道输出到纸张?我认为这很令人讨厌,例如寻呼机中显示6行差异 - 隐藏任何先前的输出,并要求我明确按“q”退出。
答案 0 :(得分:6)
在大多数系统上,less
是Git使用的默认寻呼机,您可以配置较少的行为,就像您描述的那样:
git config --global core.pager "less -X -F"
-F或--quit-if-one-screen 如果整个文件可以显示在第一个屏幕上,则会导致自动退出。
-X或--no-init 禁止将termcap初始化和取消初始化字符串发送到终端。这有时是可取的 如果取消初始化字符串做了不必要的事情,比如 清除屏幕。
有关配置较少的更多选项,请参阅this answer。
此外,特别是关于diff
命令,您可以使用:
git --no-pager diff
答案 1 :(得分:1)
您可以通过设置PAGER
变量来配置寻呼机,任何需要寻呼机的程序都会使用它。 less
有一个选项-F
就是这样做的。将export PAGER="less -F"
添加到~/.bashrc
会使此永久保留。
我个人使用less -FXRS
;有关更多详细信息,请参阅手册页。
答案 2 :(得分:0)
您描述的行为是默认行为。 Git启动<form action="/search.php" method="get">
<div class="form-group">
<span class="col-md-1 col-md-offset-1 text-center"><i class="fa fa-envelope-o bigicon"></i></span>
<div class="col-md-8">
<input id="form" name="form" type="text" placeholder="Search" class="form-control" >
</div>
<div class="col-md-12 text-center">
<?php
// check if the parameter is set.
if (isset($_GET['form'])) {
echo '<p><a href="search.php?id='.urlencode($_GET['form']).'"><button type="submit" class="btn btn-secondary">Search</button></a><br />';
}
?>
</div>
</div>
</form>
,如果未设置less
,Git会将其设置为$LESS
(请参阅FRX
)。
如果您没有看到此行为,那么很可能有人(某些发行版默认执行此操作)已为您设置man git-config
。您可以在shell的配置文件中取消设置,也可以使用其他答案之一。