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)
command-line
mercurial
less
mmacaulay
quelle
quelle
ls --color=always | ls -R
undhg diff --config color.mode=ansi | less -R
Antworten:
Für mercurial sollten Sie die Pager-Erweiterung verwenden, anstatt explizit auf weniger zu leiten. Dies passt gut zu den farbigen Ausgabeoptionen anderer hg-Befehle.
quelle
Ich glaube , Sie verwenden müssen
--color=always
für ,ls
wenn Sie wollen , dass es Farben zu tun , auch wenn sie nicht zu gehenstdout
. Dann-r
auf denless
Befehl anwendenquelle
Tragen Sie in Ihre ~ / .hgrc ein:
quelle
quiet = True
Teil?LESS='eiFRSXQ'
, auch nach Erreichen von EOF zu beenden und die Groß- / Kleinschreibung bei der Suche zu ignorierenMachen:
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 always
für diehg diff
ganze Zeit.quelle
$ hg diff --color always | less -FRSXQ
für bessere weniger Optionen. Es wird stillschweigend beendet, wenn Diff zum Beispiel auf den Bildschirm passt.-F
ist, die Datei während der Produktion weiterzulesen-S
, keine Zeilenumbrüche zu machen,-X
etwas Unklares,-Q
das das Klingeln der Terminalklingel vermeidet.Wenn Sie die Pager-Erweiterung nicht für Mercurial verwenden möchten, können Sie den folgenden Befehl verwenden:
quelle
ls --color=auto
bedeutet, dass Sie eine Farbausgabe erhalten, wenn diese nicht an etwas weitergeleitet wird. Versuchen Sie esls --colour=auto | cat
und Sie werden sehen, was ich meine.Ich gehe davon aus, dass hg ähnliche Annahmen trifft.
quelle
https://www.mercurial-scm.org/wiki/Defaults
[Standard] diff = --color immer
quelle