Domyślnie man
służy less
do 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 man
służy less
do 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 MANPAGER
lub PAGER
.
W zależności od man
implementacji 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 man
implementacjami, podczas gdy MANOPT
jest specyficzne dla man-db:
export MANOPT='-P cat'
(Lepiej nie ustawiać w PAGER
ten sposób. Z tego korzysta także wiele innych aplikacji).
Może również istnieć globalny plik konfiguracyjny. man-db ma /etc/man_db.conf
lub /etc/manpath.config
. Tam możesz ustawić:
DEFINE pager cat
Ale niestety jest to brane pod uwagę tylko wtedy, gdy ani MANPAGER
ani nie PAGER
jest 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 man
alias man='PAGER=cat MANPAGER=cat man'
Po prostu potokuj wyjście man
do cat
?
man ls | cat # useful use of cat
man
implementacji, że 1) podnosi błąd, 2) wyświetla kody formatu troff w terminalu, 3) usuwa całe formatowanie, 4) działa zgodnie z oczekiwaniami.
man
wydaje się używać zestawu stronicowania MANPAGER
nawet wtedy, gdy wyjściem jest plik lub potok. A jeśli pager jest less
, to wszystko jest dobrze, ponieważ less
zachowuje się tak, jak cat
gdy 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
~/.bashrc
moż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ąpxterm
go odpowiednim emulatorem.