2012-09-10 280 views
27

我使用less作爲我的git尋呼機。總是使用尋呼機的git diff

如果git diff輸出在一個頁面上可讀,我的git將輸出打印到屏幕上。 有時候我打字太快,打字Ctrl+D(下半頁),這會殺死我的終端。即使輸出非常小,是否有可以啓用尋呼機git diff的選項?

不起作用:

  • git -p diff
  • git --paginate diff
  • git設置:pager.diff = true

回答

38

這是由-F--quit-if-one-screen)選項控制較少。

如果$LESS$GIT_PAGER環境變量沒有指定,Git默認使用的選項爲FRSX。要改變它,請指定core.pager選項並將其設置爲RSX:混帳的

git config --global core.pager 'less -+F' 

舊版本使用推薦自己的文檔中的以下內容:

git config --global core.pager 'less -+$LESS -RSX' 
+0

混帳不使用默認FRSX 。我懷疑你正從環境變量'LESS'或'GIT_PAGER'獲得這些默認值,這表明另一個(更簡單)的解決方案。也就是說,確保'F'不出現在'LESS'或'GIT_PAGER'中。如果git在PAGER和GIT_PAGER未設置時使用默認值,那會讓我感到意外,但也許我錯了。文檔? –

+1

@WilliamPursell:Git文檔最近已經更新,以更加向後兼容的方式禁用選項。我的代碼直接從(舊)手冊頁複製 - 我已經更新了它。該文檔還寫道»如果未設置,Git將LESS變量設置爲FSRX« – knittl

+0

@ knittl您能否提供對該文檔的引用?謝謝 – Leonmax