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.
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.
~/.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.MANPAGER
. Użyłem słowa „niestety”, ponieważ dotyczy to również zachowaniaPAGER
, 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
docat
?źródło
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 stronicowaniaMANPAGER
nawet wtedy, gdy wyjściem jest plik lub potok. A jeśli pager jestless
, to wszystko jest dobrze, ponieważless
zachowuje się tak, jakcat
gdy wyjście jest potokiem ... Ale jeśli użyjesz czegoś innego (takiego jak Vim, którego używam), to nie jest tak dobrze.Wypróbuj te polecenia, aby wygenerować dane wyjściowe man bez pagera.
man ls | cat
(wygenerowana stała szerokość)man -P cat ls
(wygenerowana zmienna szerokość)Byłem na systemie GNU Linux
źródło
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.
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
:źródło