Domyślnie mansłuży lessdo wyświetlania tekstu. Jak mogę to powiedzieć, aby wyświetlało wyjście na standardowe wyjście? Mój emulator terminala ma pasek przewijania i funkcję wyszukiwania i chcę ich używać zamiast klawiszy strzałek.
Domyślnie mansłuży lessdo wyświetlania tekstu. Jak mogę to powiedzieć, aby wyświetlało wyjście na standardowe wyjście? Mój emulator terminala ma pasek przewijania i funkcję wyszukiwania i chcę ich używać zamiast klawiszy strzałek.
Odpowiedzi:
Właściwie wykorzystuje to, co jest określone w zmiennej środowiskowej MANPAGERlub PAGER.
W zależności od manimplementacji i wersji może również istnieć przełącznik wiersza polecenia, aby określić pager.
W implementacji man-db wykorzystuję wszystkie poniższe sposoby działania:
MANPAGER=cat man man
PAGER=cat man man
MANOPT='-P cat' man man
man -P cat man
Aby ustawić go na stałe, po prostu dodaj go do ~/.bashrc(lub innego pliku inicjalizacji używanego przez twoją powłokę):
export MANPAGER=cat
Działa to również z niektórymi starszymi manimplementacjami, podczas gdy MANOPTjest specyficzne dla man-db:
export MANOPT='-P cat'
(Lepiej nie ustawiać w PAGERten sposób. Z tego korzysta także wiele innych aplikacji).
Może również istnieć globalny plik konfiguracyjny. man-db ma /etc/man_db.conflub /etc/manpath.config. Tam możesz ustawić:
DEFINE pager cat
Ale niestety jest to brane pod uwagę tylko wtedy, gdy ani MANPAGERani nie PAGERjest ustawione.
MANPAGER. Użyłem słowa „niestety”, ponieważ dotyczy to również zachowania PAGER, które jest ustawieniem ogólnym (używanym przez wiele narzędzi) i wolałbym, aby nie zastępowało określonego ustawienia (używanego tylko przez jedno narzędzie), nawet jeśli to jeden to poziom systemu.
PAGER=cat manalias man='PAGER=cat MANPAGER=cat man'
Po prostu potokuj wyjście mando cat?
man ls | cat # useful use of cat
manimplementacji, że 1) podnosi błąd, 2) wyświetla kody formatu troff w terminalu, 3) usuwa całe formatowanie, 4) działa zgodnie z oczekiwaniami.
manwydaje się używać zestawu stronicowania MANPAGERnawet wtedy, gdy wyjściem jest plik lub potok. A jeśli pager jest less, to wszystko jest dobrze, ponieważ lesszachowuje się tak, jak catgdy wyjście jest potokiem ... Ale jeśli użyjesz czegoś innego (takiego jak Vim, którego używam), to nie jest tak dobrze.
Inny kąt: podobny do odpowiedzi Tony'ego.
Możesz również przekierować dane wyjściowe man do pliku i przeglądać go za pomocą swojego ulubionego edytora tekstu, a nawet dodawać do niego zakładki, komentarze itp.
man bash > bashman.txt
Mam kopię strony podręcznika użytkownika bash, a także tylko sekcje dotyczące kontroli przepływu bash i flag bash zapisanych jako pliki tekstowe w moim katalogu bin, dzięki czemu mogę załadować je bezpośrednio do mojego edytora tekstowego (Kate) w celach informacyjnych, gdy jestem pisanie skryptów bash.
Ostrzeżenie: w zależności od systemu i strony podręcznika powyższe polecenie może spowodować formatowanie informacji i znaków kontrolnych w pliku.
Aby tego uniknąć, wykonaj czynności sugerowane w LESS='+/^TIPS' man man:
To get a plain text version of a man page, without backspaces and
underscores, try
# man foo | col -b > foo.mantxt
~/.bashrcmoże też owinąć eksportu w ramach warunkowego więc tylko ustawia pager czy to odpowiedni zacisk / emulator:if [ "x$TERM" = "xxterm" ]; then export MANPAGER=cat; fi; oczywiście zastąpxtermgo odpowiednim emulatorem.