2016-01-14 28 views
2

有沒有辦法將git配置爲僅在其超過終端大小(或至少特定行數)時纔將其輸出管道化爲紙張?我認爲這很煩人,例如一個6行比較顯示在尋呼機 - 隱藏任何以前的輸出,並要求我明確按「q」退出。如何僅在必要時對git輸出進行分頁

+0

指定一個行爲如此的尋呼機。 –

回答

2

在大多數系統中,less是默認的傳呼,Git使用,您可以配置更少的行爲像你描述:

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

-F或--quit,如果一屏如果整個文件可以顯示在第一個屏幕上,則會導致自動退出。

-X或--no-init禁止向終端發送termcap初始化和取消初始化字符串。如果去初始化字符串做了一些不必要的事情,如 清除屏幕,有時候這是需要的 。

請參閱this answer瞭解配置更少的更多選項。

而且,特別是與問候到diff命令可以使用:

git --no-pager diff 
1

您可以通過設置變量PAGER配置您的尋呼機,並需要一個尋呼機任何程序將使用它。 less有一個選項-F正是這樣做。將export PAGER="less -F"添加到您的~/.bashrc將使此永久。

我個人使用less -FXRS;有關更多詳細信息,請參閱手冊頁。

0

您描述的行爲是默認行爲。 Git開始less,如果未設置$LESS,則Git將其設置爲FRX(請參閱man git-config)。

如果您沒有看到此行爲,那麼很可能有人(某些發行版默認爲此操作)已爲您設置$LESS。你可以在你的shell的配置文件中取消它,或者使用其他答案之一。