Mercurial. Farbausgabe auf weniger übertragen


35

Betriebssystem: Mac OS 10.6.2

Ich möchte in der Lage sein, die Farbausgabe zu sehen, wenn bestimmte Befehle durch weniger geleitet werden.

Zwei Beispiele:

Ich habe ls Alias ​​zu ls --color=auto, also möchte ich in der Lage sein, Farbe zu sehen, wenn ich das tue:

ls -l | less

Ich habe auch die Farberweiterung in Mercurial aktiviert, daher möchte ich die Farbausgabe von:

hg diff | less

und

hg st | less

Nach einigem googeln scheint es, als ob einige Versionen von weniger entweder -r oder -R unterstützen, damit dies funktioniert, aber für mich keine Würfel. Ich kann in der Manpage nichts sehen, was so aussieht, wie ich es brauche. (-r oder -R scheinen die richtigen Optionen zu sein, aber sie scheinen auch nicht zu funktionieren)


1
Es sieht so aus, als ob die Farberweiterung immer deaktiviert ist, wenn eine Pipe ausgeführt wird. Probieren Sie diese Befehle aus, um zu sehen, was ich meine: ls --color=always | ls -Rundhg diff --config color.mode=ansi | less -R
Harvey

Antworten:



13

Ich glaube , Sie verwenden müssen --color=alwaysfür , lswenn Sie wollen , dass es Farben zu tun , auch wenn sie nicht zu gehen stdout. Dann -rauf den lessBefehl anwenden

ls --color=always -l | less -r

12

Tragen Sie in Ihre ~ / .hgrc ein:

[extensions]
color =
pager =

[pager]
pager = LESS='FRSXQ' less
quiet = True
attend = outgoing,incoming,diff,status,log,qdiff,blame,annotate,pdiff,glog

Warum das quiet = TrueTeil?
einpoklum - wieder Monica

Nett! Ich empfehle LESS='eiFRSXQ', auch nach Erreichen von EOF zu beenden und die Groß- / Kleinschreibung bei der Suche zu ignorieren
Sebastian

11

Machen:

$ hg diff --color always | less -R

Ich würde alias "weniger -R" zu weniger. Ich bin mir nicht sicher , ob es einen Weg gibt Standardoptionen Mercurial Befehle zu liefern , so dass Sie nicht haben , zu erinnern , geben --color alwaysfür die hg diffganze Zeit.


1
Oder verwenden Sie $ hg diff --color always | less -FRSXQfür bessere weniger Optionen. Es wird stillschweigend beendet, wenn Diff zum Beispiel auf den Bildschirm passt.
Jpbochi

1
Sie können LESS = "- R" alternativ zum Aliasing "less" selbst einrichten.
bläulich

-Fist, die Datei während der Produktion weiterzulesen -S, keine Zeilenumbrüche zu machen, -Xetwas Unklares, -Qdas das Klingeln der Terminalklingel vermeidet.
Evgeni Sergeev


0

ls --color=autobedeutet, dass Sie eine Farbausgabe erhalten, wenn diese nicht an etwas weitergeleitet wird. Versuchen Sie es ls --colour=auto | catund Sie werden sehen, was ich meine.

Ich gehe davon aus, dass hg ähnliche Annahmen trifft.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.