Frage

ich jetzt versuchen auch, die Prozentzeichen zu zeigen, wenn Sie laufen, beispielsweise der Befehl

man emacs

Wenn Sie es ausführen, erhalten Sie 'Byte 3300' zum Beispiel.

Alex Antwort schlägt ich, dass wir eine eigene Shell-Funktion von

machen müssen
man "$1"| col -b > /tmp/manual
less /tmp/manual

Dabei steht $ 1 bezieht sich auf den ersten Parameter.


Das neue Problem ist bei dem Thread . Dank Yuliy für den Kern bewegen!

War es hilfreich?

Lösung

Lösung

Eine weniger manuelle Version von knitatoms' Antwort mit Alex Marteilli Antwort kombiniert funktioniert ganz gut. die +Gg Option gelangen über seinen Pager Option less

Zum Beispiel versuchen

man -P 'less -s -M +Gg' man

Dies kann permanent erfolgen, indem

export MANPAGER='less -s -M +Gg'

in einer Ihrer Shell-Konfigurationsdateien (oben Syntax ist für Bash und ZSH). Nun, zum Beispiel, zeigt man man den prozentualen Anteil, wie Sie gesucht!

Warnung

Sie sollten nicht legt das +Gg in der LESS Variable! Zum Beispiel, Tun

export LESS='-M +Gg'

wird zu Problemen führen, wenn sehr große Dateien zu lesen. Zum Beispiel:

yes | LESS='-M +Gg' less

nicht sehr gut funktionieren ...

Erklärung

Wie andere Antworten erklärt haben, ist das Problem, dass less nicht sagen kann, wie viele Prozent in die Datei sind Sie, bis er weiß, wie lange die Datei ist, und es ist standardmäßig bis zum Ende der Datei liest nicht beim Lesen aus einem Rohr.

Aus dem OPTIONS Abschnitt man less:

+      If  a command line option begins with +, the remainder of that
       option is taken to be an initial command to less.   For  exam‐
       ple, +G tells less to start at the end of the file rather than
       the beginning, and +/xyz tells it to start at the first occur‐
       rence of "xyz" in the file.  As a special case, +<number> acts
       like +<number>g; that is, it starts the display at the  speci‐
       fied  line  number (however, see the caveat under the "g" com‐
       mand above).  If the option starts with ++, the  initial  com‐
       mand  applies  to  every file being viewed, not just the first
       one.  The + command described previously may also be  used  to
       set (or change) an initial command for every file.

Die g bedeutet "zum Anfang der Datei".

Von den man man:

-P pager, --pager=pager
       Specify which output pager to use.  By default, man uses pager
       -s.  This option overrides the $MANPAGER environment variable,
       which in turn overrides the $PAGER environment  variable.   It
       is not used in conjunction with -f or -k.

       The value may be a simple command name or a command with argu‐
       ments, and may use shell quoting (backslashes, single  quotes,
       or  double  quotes).  It may not use pipes to connect multiple
       commands; if you need that, use a wrapper  script,  which  may
       take  the file to display either as an argument or on standard
       input.

Andere Tipps

export LESS="-m"

Generell kann die LESS Umgebungsvariable Optionen enthalten äquivalent zu Befehlszeilen-Flags explizit passieren könnte, wenn less laufen - hier die -m Option, die es erzählt reicher aufzufordern (einschließlich der Prozentsatz, wie Sie gefragt). Sie können auch durch die jeweils mit einem $ endet innerhalb dieser einzelnen Umgebungsvariable mehr als eine Option übergeben. Für viel mehr Informationen finden Sie unter weniger der manpage .

Bearbeiten : Es ist natürlich möglich (je nachdem, wie Sie verwenden weniger, wenn Sie zB Rohrleitungen, um es anstatt es auf einem Aufruf der Datei sind), dass weniger nicht wissen die Gesamtgröße Anzeige erscheint es, in diesem Fall natürlich nicht die% zeigen können - in diesem Fall ist es mit dem, was wenig Informationen aufgefordert wird, zum Beispiel hat, wie viel Text hat sich gezeigt, bisher. Zum Beispiel ist man less diese Weise durch Rohrleitungen verwendet werden.

Also, wenn Ihr spezifischer Bedarf besteht, die% in man zu sehen (und nicht, wenn less direkt auf eine Datei aufrufen) ein „alternatives Pager“ (Umgebungsvariable MANPAGER oder Schalter -P auf der man Kommandozeile) verwenden müssen, die Skript ist ein einfacher, dass man die Ausgabe in eine temporären Datei speichert und verwendet dann less auf den letzteren. (Das kann man eigene „Einfärben“ verlieren, wenn Sie noch weiter spielen und tiefer Tricks, etc, etc - in ähnlicher Weise könnten Sie die „Vorformatierung Seiten“ Option von man verwenden und dekomprimieren, eine solche vorformatierte Seite einem tempfile, auf dem less laufen, etc, aber das beginnt ein etwas komplexes „einfaches Skript“ zu werden; -).

Unter Linux ich an das Ende des Mannes Seite gehen Sie einfach mit Umschalttaste + G dann zum Anfang zurückkehren mit g . (Sie können auch zu Ihrer vorherigen Position zurück mit ' ' ).

Weniger hat dann genügend Informationen, um den Prozentsatz, wie weit durch die Datei anzuzeigen Sie sind. (Möglicherweise müssen -M geben Sie die lange Aufforderung zu erhalten.)

Es ist ein bisschen wie ein Hack, aber nur zwei Tastendrücken. Nicht sicher, ob dies auf O / X funktioniert.

Hinzufügen zu Alex Martelli‘Antwort:

Beachten Sie, dass Sie auch eine beliebigen Befehlszeilenparameter auf weniger zur Laufzeit übergeben können, indem es nur die Eingabe (einschließlich der -), gefolgt von Enter-Taste. So können Sie einfach eingeben

-m<Enter>

in eine weniger läuft die lange Aufforderung zu wechseln.

Dies ist besonders nützlich für die Optionen, die zur Laufzeit geändert werden müssen, z.B. -S (Linie Falten on / off).

Mit einer Live-less Laufzeit I -M verwendet.

Das ist "-M Enter " an der : prompt mit weniger läuft.

Mit wirklich großem Puffer musste ich auch zu Ende gehen zu „entdecken“ ihrer Größe. Ende und zurück Home .


Hinweis: ich als Kommentar gepostet hätte href="https://stackoverflow.com/a/18427567/1695680"> @sleske 's Antwort auf <kbd>Keyboard<kbd> Tags unterstützen, Kommentare.

Ich habe dies in meiner Umgebung. Es wird <filename> - Lines X-Y of Z am Boden oder zumindest so viel von dieser Information drucken, wie es ist.

export LESS='-P?f%f - .?ltLine?lbs. %lt?lb-%lb.?L of %L.:?pt%pt\%:?btByte %bt:-...'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top