Ich optimiere den Pager von Git, aber ich habe einige Probleme damit.
Was ich will ist:
- Immer farbige Ausgabe
- Scrollen mit Touchpad oder Maus
- Beenden Sie den Bildschirm
Und meine aktuelle Konfiguration ist:
$ git config --global core.pager
less -+F -+X -+S
Dies macht alles außer dem letzten.
Wenn ich jedoch entferne -+F
, erfolgt bei einem Bildschirm keine Ausgabe. Wenn ich auch entferne -+X
, ist die Ausgabe zurück, aber ich kann nicht per Touchpad hinein scrollen less
.
Gibt es eine Problemumgehung, die alle oben genannten Anforderungen erfüllt?
-F
(beenden, wenn ein Bildschirm angezeigt wird), mache ich das immer in Kombination mit-X
(Deaktivieren von Termcap Init und De-Init), aber wie Sie sagen, würde das Scrollen mit der Maus nicht zulassen. (Ich bezweifle, dass Scrollen überhaupt möglich ist-X
.) Ich habe den Fragentitel geändert, kann ihn aber jederzeit zurücksetzen, wenn Sie der Meinung sind, dass er zu viel Bedeutung verliert. :)Antworten:
AKTUALISIEREN
tl; dr Lösung: Upgrade auf weniger als 530
Von http://www.greenwoodsoftware.com/less/news.530.html :
Mit diesem Fix müssen wir uns also nicht einmal darum kümmern , ob
-X
wir es alleine verwenden sollen,less -F
sondern kümmern uns nur darum.PS. Einige andere weniger Konfigurationen, die ich benutze:
Am Ende schrieb ich selbst einen Wrapper.
BSD / OSX-Benutzer sollten manuell installieren
gnu-sed
. Der erstaunliche reguläre Ausdruck, mit dem Farbcodes entfernt werden können, stammt von /programming//a/18000433/2487227Ich habe dieses Skript in
/usr/local/bin/pager
und dann gespeichertgit config --global core.pager /usr/local/bin/pager
Die Behandlung für Zwangsstörungen, Hurra!quelle
fold
sollte damit umgehen ... aber ja, Fehler vielleicht ... könnten Sie uns bitte ein Beispiel geben?fold
versteht Tabs nicht wirklich. Möglicherweise können Sie es mit reparierenexpand
. Damit werden eingebettete Escape-Sequenzen (die im Kontext von häufig angefordert werden) immer noch nicht behandeltgit
.fold
umbrochene Linien nicht mit Leerzeichen angepasst wurden, sondern lediglich der nächstgelegene Punkt zum Hacken gefunden wurde. Das Erscheinungsbild wird also irreführend sein.Ich verwende den folgenden Wrapper als Pager. Es ist nicht so schick wie der andere hier gezeigte Wrapper (weil es immer
less -S
dazu dient, lange Zeilen abzuschneiden), aber es ist verdammt einfach. Scheint ziemlich gut mit iTerm2 zu funktionieren.quelle