Standardowo komendy wykonywanie w Git Bash “ucinają” długie linie, na przykład:
git diff
Wynika to z tego, że domyślnie tekst jest stronicowany za pomocą “pagera” o nazwie LESS. To dzięki niemu nie jesteśmy zalewani nieograniczoną ilością tekstu, tylko dostajemy możliwość zatrzymania się po jednej stronie i kontynuowania za pomocą spacji.
Dobra wiadomość jest taka, że możemy to kontrolować. Tylko trzeba o tym wiedzieć:). Możemy na przykład całkowicie usunąć stronicowanie dla jakiejś komendy:
git_pager='' git diff
Teraz bash nie zatrzyma się po zapełnieniu strony tylko wszystko zostanie na nas wyrzygane bez przerwy.
Preferuję po prostu dodanie odpowiedniej flagi do domyślnego pagera:
git_pager='less -r' git diff
Teraz nadal po zapełnieniu strony tekst przestanie się lać i będziemy mogli wznowić proces za pomocą spacji, ale przełącznik “-r” włącza “line wrapping”:
Pomocne? Pomocne.
Tak, wiem, że to standardowe operacje bashowe i może nie ma się czym podniecać, ale jak się człowiek czegoś nauczy to i napisać się o tym chce;).
Mały bonus:
Zamiast zwykłego “diff” opalcie “diff –word-diff –color-words”. Zrobi się bardziej przejrzyście:).
Można też pisać krótsze linie, ale kto by się przejmował takimi pierdołami. :D
Można też używać strzałek do nawigacji (lewo – prawo).
Ja osobiście nie lubię zawijania wierszy :)
O dzięki, rozwiązałeś mój problem. Używam poshgit-a i wkurzało złe formatowanie log-a np. mam taki alias:
[alias]
lol = log –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset’
W PS niby ucina linię +/- na szerokość konsoli, ale skleja ją z następną. Teraz już wiem co za to odpowiada (chyba nieśmiertelny problem z CRLF) i przełączyłem się na zawijanie – tak jest o niebo lepiej.