Używamy więc, man whatever
aby uzyskać informacje o użyciu i inne informacje dotyczące whatever
polecenia, gdy zostanie znaleziona odpowiednia sekcja informacji, chciałbym zakończyć man
polecenie z informacją pozostawioną na ekranie. Mogę więc wpisać następne polecenie z sędzią powyżej. Ale man
polecenie zamyka cały ekran, aby odzyskać stary ekran podobny do vim
. Czy istnieje sposób na osiągnięcie tego?
24
Odpowiedzi:
Uważam, że nie chodzi tu tyle o
man
samą siebie, co raczej o wybrany pager (PAGER
zmienna środowiskowa) w połączeniu z używanym terminalem.Domyślam się, że twój pager jest prawdopodobnie
less
(typowy domyślny pager obecnie i pasuje do opisu).less
ma opcję,-X
która może zapewnić ci zachowanie zgodne z tym, czego szukasz.Np.
PAGER="less -X" man man
Można go użyć do przetestowania, a jeśli uznasz, że takie zachowanie jest lepsze, możesz rozważyć ustawieniePAGER
tej wartości na stałe.źródło
LESS=-X
, aby uniknąć konieczności zmianyPAGER
(nie ufam w 100%, że zadziała we wszystkich programach z taką przestrzenią, chociaż działa na ludzi.)Jeśli korzystasz z mniejszej ilości stronicowania (co jest bardzo powszechne), nie musisz zajmować się modyfikowaniem pagera, po prostu przekieruj I / O:
man <whatever you want to man> | cat -
Spowoduje to wydrukowanie kopii na terminalu, aby można było przewinąć w górę, gdy jej potrzebujesz.
źródło
-
oznacza standard, alecat
zakłada, że tak czy inaczejPonieważ nie tylko
less
inne aplikacje tekstowe, takie jak ta,vim
wykazują tę samą irytującą funkcję, to po prostu usuwam zdolność terminalu do obsługi danych poleceń zterminfo
bazy danych.Te polecenia są
smcup
irmcup
, które zostały zaprojektowane, aby umożliwić włączanie i ruch, w którymcup
polecenie (pozycja kursora) było dozwolone.Oto funkcja powłoki, której użyłem do automatyzacji zadania, działa ona przynajmniej w systemie Solaris i prawdopodobnie w większości dystrybucji Linuksa:
Jeśli pozycja terminala nie jest zastępcza
xterm
, powinieneś zastąpićxterm
właściwą nazwą terminala w skrypcie.źródło
Możesz przesłać dane wyjściowe do
cat
polecenialub użyj go zamiast domyślnego pagera, jak w tym przykładzie, który wywołuje człowieka na sobie:
źródło
Bez modyfikacji pagera, rozwiązanie z rurami, które może działać w większości środowisk:
Przykłady dla
man ls
man ls | cat
man ls | more
man ls | grep somestring
źródło
jest 2016, wystarczy otworzyć drugi terminal, kartę lub okno albo przeczytać człowieka online ..
źródło
Nawet na moich serwerach (FreeBSD) instaluję X i Xfce. Następnie przydzielam duży bufor (np. 10 000 wierszy) dla emulatorów terminali, dzięki czemu mogę w pełni przewinąć stronę podręcznika w jednym z nich i użyć osobnej instancji terminala do złożenia polecenia. Działa uczta.
źródło