So nutzen wir man whatever
Verbrauch und andere Informationen in Bezug auf dem erhalten whatever
Befehl, wenn der entsprechende Abschnitt von Informationen gefunden wird, würde Ich mag das beenden man
Befehl mit der Info auf dem Bildschirm nach links. So kann ich den nächsten Befehl mit dem Schiedsrichter oben eingeben. Der man
Befehl beendet jedoch den gesamten Bildschirm, um den alten Bildschirm wiederherzustellen vim
. Gibt es einen Weg, dies zu erreichen?
24
Antworten:
Ich glaube, es geht nicht so sehr um sich
man
selbst, sondern um den Pager Ihrer Wahl (PAGER
Umgebungsvariable) in Kombination mit dem verwendeten Terminal.Ich vermute, Ihr Pager ist wahrscheinlich
less
(typischer Standard-Pager heutzutage und passt zur Beschreibung).less
Es gibt eine Option-X
, mit der Sie ein Verhalten erzielen können, das dem entspricht, was Sie suchen.ZB
PAGER="less -X" man man
kann es zum Testen verwendet werden. Wenn Sie dieses Verhalten bevorzugen, sollten Sie es möglicherweisePAGER
dauerhaft auf diesen Wert einstellen .quelle
LESS=-X
, um Änderungen zu vermeidenPAGER
(Ich vertraue nicht zu 100% darauf, dass es in allen Programmen mit einemWenn Sie weniger als Ihren Pager verwenden (was sehr häufig vorkommt), müssen Sie keine Änderungen an Ihrem Pager vornehmen. Führen Sie einfach die E / A-Umleitung durch:
man <whatever you want to man> | cat -
Dadurch wird eine Kopie an das Terminal gesendet, sodass Sie bei Bedarf nach oben scrollen können.
quelle
-
bedeutet Standard in,cat
geht aber davon aus, dassDa nicht nur
less
andere Textanwendungen, sondern auch anderevim
Textanwendungen das gleiche äußerst ärgerliche Merkmal aufweisen, besteht meine Aufgabe darin, dem Terminal einfach die Möglichkeit zu nehmen, die beteiligten Befehle aus derterminfo
Datenbank zu unterstützen.Diese Befehle sind
smcup
undrmcup
, die das Einschalten und eine Bewegung ermöglichen, bei der dercup
Befehl (Cursorposition) erlaubt war.Hier ist eine Shell-Funktion, mit der ich die Aufgabe automatisiert habe. Sie funktioniert zumindest mit Solaris und wahrscheinlich den meisten Linux-Distributionen:
Wenn Ihr Terminaleintrag nicht auf zurückgreift
xterm
, sollten Sie ihnxterm
im Skript durch den richtigen Terminalnamen ersetzen .quelle
Sie können die Ausgabe an den
cat
Befehl weiterleitenoder verwenden Sie es anstelle des Standard-Pagers, wie in diesem Beispiel, das man auf sich selbst ruft:
quelle
Ohne den Pager zu modifizieren, eine Lösung mit Pipes , die in den meisten Umgebungen funktionieren kann:
Beispiele für
man ls
man ls | cat
man ls | more
man ls | grep somestring
quelle
Es ist 2016, öffne einfach ein zweites Terminal oder einen Tab oder ein Fenster oder lies den Mann online.
quelle
Auch auf meinen Servern (FreeBSD) installiere ich X und xfce. Dann reserviere ich einen großen Puffer (z. B. 10 000 Zeilen) für die Terminalemulatoren, damit ich die Manpage in einer von ihnen vollständig herausscrollen und eine separate Terminalinstanz verwenden kann, um den Befehl zusammenzustellen. Funktioniert ein Vergnügen.
quelle