Jak podążać za linkami na stronach podręcznika systemu Linux?
91
Czy istnieje sposób na skorzystanie z linków wymienionych na stronie podręcznika? Na przykład, oto strona podręcznika dla ps; jak uzyskać dostęp do linku oznaczonego na czerwono?
Widzę też to, man is an interface to the on-line reference manualsco (jeśli się nie mylę) oznacza, że powinno pobierać wszystkie informacje z jakiejś strony internetowej, prawda? Czyli ktoś ma pojęcie, co to jest link http: //?
its_me
10
Tutaj „on-line” oznacza „na komputerze” (w przeciwieństwie do „na papierze”), a nie „w Internecie”.
Gilles
1
„On-Line”: Być może pamiętasz gry przygodowe na PC wydane przez firmę (wówczas) Sierra On-Line. strony podręcznika: Najlepszym sposobem przeglądania stron podręcznika jest użycie edytora. W ten sposób nawigacja, wyszukiwanie (itp.) Tekst będzie tak płynny, że od dawna każdy skrót jest w pamięci mięśni. Powiedzmy, że pracujesz nad projektem programistycznym - możesz skopiować ze stron podręcznika do swojego kodu. Nic innego jak bezproblemowa interakcja. Sprawdź to i mój komentarz do odpowiedzi @Gilles .
Emanuel Berg
Odpowiedzi:
51
Strony podręcznika sięgają do Unix First Edition . Chociaż wynaleziono hipertekst , wciąż był w powijakach; Internet był oddalony o dwie dekady, a podręcznik był rzeczywiście drukowaną książką, często z jednym poleceniem na stronę, jeśli pasowały (dlatego nazywano je stronami).
Od tego czasu format strony podręcznika ewoluował nieco, ale większość stron nie jest tak naprawdę zaprojektowana pod kątem hipertekstu, a domyślny manprogram go nie obsługuje (jest to zwykła przeglądarka tekstu z hackami do obsługi podstawowego formatowania). Istnieją jednak strony człowiek oglądania programów, które odtworzyć niektóre hiperłączy, głównie linki do innych stron podręcznika, które są tradycyjnie napisany w formie man(1)gdzie manto nazwa strony człowieka i 1jest numer sekcji :
tkman , przeglądarka stron man z GUI z hiperłączami
man2html , konwerter człowieka na HTML (plus przeglądarka internetowa do odczytu wyniku)
Możesz przeglądać strony podręcznika kilku systemów operacyjnych, przekonwertowane na HTML przez man2htmllub podobne narzędzia, w wielu witrynach online, na przykład:
Jakiś czas po tym, jak strony podręcznika stały się ustalonym formatem dokumentacji dla Uniksa i jakiś czas przed wynalezieniem sieci, projekt GNU wprowadził format dokumentacji informacji , bardziej zaawansowany niż człowiek, przy jednoczesnym trzymaniu się prostych znaczników zaprojektowanych dla terminali tekstowych. Główną innowacją informacji w porównaniu do człowieka było posiadanie wielostronicowej dokumentacji z linkami do innych stron. Info jest nadal preferowanym formatem dokumentacji dla projektów GNU, chociaż większość stron Info jest generowanych ze źródła Texinfo (lub czasami innych formatów), które mogą również generować HTML. Gdy istnieje dokumentacja informacyjna programu, często jest to główna instrukcja, podczas gdy strony podręcznika zawierają tylko podstawowe informacje o argumentach wiersza poleceń.
Świetna odpowiedź! Warto również wspomnieć, że w Emacsie istnieje inny tryb dla stron podręcznika, który (przynajmniej ja) uzyskuje tylko M-x man(i C-h v mode-namejest Man): przynajmniej w jednym aspekcie jest lepszy niż, WoManponieważ wyświetla tabele ( zrzut ekranu ). Oczywiście jest również hiperlinkiem.
Emanuel Berg
1
Interfejs użytkownika programu informacyjnego wydaje się po prostu zły i sprzeczny z intuicją. Nie widziałem, żeby ktoś tego używał.
Pavel Šimerda
@ PavelŠimerda> Interfejs użytkownika programu informacyjnego wydaje się po prostu zły i sprzeczny z intuicją. <Emm, w porównaniu do czego? Do mniej (1) (który jest domyślnym pageriem dla man (1) w GNU) - ta rzecz, w której musisz sobie przypomnieć, jak przewijać wstecz , ponieważ <backspace> nie jest związany (a <pgup> może w ogóle nie działać) ? W bten sposób kluczem podstawowym jest . Dla użytkownika, który paradygmat interfejsu może być intuicyjny?
Dmitrij Aleksandrow
@ PavelŠimerda> Nie widziałem nikogo, kto tego używa. <Zawsze używaj info (1) do czytania stron podręcznika kiedy dostałem zablokowane w terminalu tekstowym do dokładnego powodu, że w przeciwieństwie do mniej (1) to nie konwertować głupie page(N)linki do hiperłączy. Byłem dość zaskoczony, że nie zostało wspomniane w odpowiedzi Gillesa w tej jakości.
Dmitrij Aleksandrow
37
Przede wszystkim nie jest to link. To tylko podkreślenie. Strony podręcznika to tylko dokumenty tekstowe z odrobiną prostego formatowania, które terminal może obsłużyć. Podkreślenie jest tylko atrakcją, nie ma w tym „linku”.
Normalne manpolecenie to tylko formatator tekstu. W rzeczywistości manpolecenie nawet nie wyświetla tekstu, manpo prostu formatuje informacje zapisane w pliku strony man [1] i wysyła sformatowane dane wyjściowe do innego programu (zwykle less), który wyświetla sformatowane dane wyjściowe na ekranie. Te programy wyświetlające nie mają pojęcia łączy.
Istnieją pewne specjalne czytniki dokumentacji, które mogą być w stanie spojrzeć na takie formatowanie i zgadywać, że takie wyróżnienie może wskazywać, że istnieje powiązana strona podręcznika man, którą można podciągnąć i utworzyć link, ale nie wiem które robią. Być może pinfo?
Jeśli chcesz formatować jak w Internecie za pomocą hiperłączy, możesz znaleźć prawie każdą stronę man UNIX online z dodanymi linkami. Spróbuj wpisać man [anything]google, a prawie na pewno dostaniesz jedną z pierwszych kilku trafień.
W przypadku twojego przykładu, wizualne podświetlenie jest wskazówką, że jest to kolejna nazwa programu, która ma własną stronę podręcznika, którą możesz łatwo wyciągnąć. Spróbować man 1 top. Liczba 1 wskazuje sekcję stron podręcznika, na które należy zajrzeć. Zobacz to pytanie, aby uzyskać wyjaśnienie części: Co oznaczają liczby na stronie podręcznika?
[1] Jeśli otworzysz manplik strony w edytorze tekstu, zobaczysz surową manstronę, która nie jest sformatowana do łatwego czytania. Nieprzetworzona manstrona jest napisana w języku znaczników o nazwie troff. Więcej informacji na trofftemat pisania manstrony znajduje się na stronie: https://liw.fi/manpages/ .
Każdy pomysł, dlaczego tak jest man 1 top? Powinno to być coś podobnego, ps 1 topponieważ znalazłem link na stronie podręcznika użytkownika ps. „Man 1 top” nie ma dla mnie sensu. Proszę o wyjaśnienie.
its_me
Istnieją również zasoby, które sprawiają, że strony podręcznika man są dostępne w Internecie, a odnośniki są zastępowane przez href, które można kliknąć.
Gabe.
1
Jeśli chcesz podążać za top(1)„linkiem”, musisz otworzyć topstronę podręcznika z 1. części. Aby uzyskać więcej informacji o sekcjach, patrz man (1). ps 1 topnie ma żadnego sensu, ponieważ po prostu uruchomisz pspolecenie z dziwnymi parametrami.
rvs
2
@Aahan to top 1 man, ponieważ chcesz zobaczyć stronę podręcznika dla polecenia top w pierwszej sekcji stron podręcznika online. Odnośnik do góry (1) oznacza właśnie to, że do góry w pierwszej części stron podręcznika. Aby to zobaczyć, wpisz „man 1 top” w wierszu polecenia. Zobacz „człowiek mężczyzna”
gabe.
1
@Aaran: „Sekcje podręcznika obejmują różne tematy. Sekcja 1 to polecenia użytkownika (to, co wpisujesz po znaku zachęty), sekcja 2 to wywołania systemowe itd. Niektóre ciągi znaków pojawiają się w więcej niż jednej sekcji. Na komputerze pracuję teraz readlinkpojawia się w sekcjach 1 i 2 oraz printfw sekcjach 1 i 3. Jeśli po prostu wpiszesz man command, man spróbuje sekcje w kolejności numerycznej i wyświetli pierwsze znalezione, lub możesz być konkretny man # command, co musisz zrobić, aby uzyskać dokumentację dla readlinkwywołania systemowego
dmckee,
12
To jest bardzo późna odpowiedź, ale użyj w3mman. w3mman to ręczny pager systemowy autorstwa w3m.
Możesz spróbować, instalując pakiet w3m. Wierzę, że ten pakiet jest zarejestrowany w repozytoriach oprogramowania większości głównych dystrybucji Linux / UNIX i Cygwin.
Późna odpowiedź, która dodaje pewną odpowiedź na pytanie, o którym jeszcze nie wspomniano, nigdy nie stanowi problemu! Witamy w Unix i Linux StackExchange!
Bernhard
w3mmanjest również dostarczany z domyślną w3minstalacją Macports . To wspaniale :) Dzięki!
sampablokuper
8
Pozwól, że spróbuję bardziej zinterpretować twoje pytanie w tym sensie, że staram się podążać za tobą. Prawdopodobnie chciałbyś mieć kombinację klawiszy na manstronie, która prowadzi bezpośrednio do podkreślonych poleceń, o których czytasz. Nie trzeba więc instalować czegoś innego, nie otwierać innej konsoli i zapomnieć na przykład o dokładnej składni.
Najprostszym rozwiązaniem jest wykrzyknik (jeśli używasz lessdo wyświetlania stron podręcznika) i chcesz przejść do podkreślonego top:
!man top
Lub
!man 1 top
Będziesz musiał zamknąć je wszystkie, naciskając qwiele razy. Zauważ też, że to nie zadziała, jeśli LESSSECURE=1zostanie ustawione jako zmienna środowiskowa, która uruchomi się lessw trybie bezpiecznym i nie pozwoli na użycie !. Powie ci coś w rodzaju „Polecenie niedostępne”.
Specjalnie dla Ubuntu istnieje Yelp. Jest instalowany domyślnie i domyślnie jest w stanie wyświetlać strony podręcznika, chociaż wywołanie w tym celu nie jest tym samym, co manpolecenie; Alias lub funkcja powłoki może działać wokół tego ostatniego punktu (zależy od powłoki).
yelp 'man:exit'
Domyślnie będzie to sekcja w sposób, którego nie znam. Przypomnienie: aby uzyskać listę rozdziałów na temat podręcznika, użyj whatis, jak w whatis exit.
Aby poprosić Yelp o wyświetlenie strony podręcznika z określonej sekcji, powiedzmy 2, wykonaj:
yelp 'man:exit(2)'
Problemy: yelp ma błędy i bądź przygotowany na otrzymanie wielu błędów wyjściowych podczas wywoływania go z wiersza poleceń. Tam również alias lub niestandardowa funkcja powłoki może pomóc w przekierowaniu wszystkich błędów/dev/null
function man(){
for arg in "$@"; do
vim -c 'execute "normal! :let no_man_maps = 1\<cr>:runtime ftplugin/man.vim\<cr>:Man '"${arg}"'\<cr>:wincmd o\<cr>"'
done
}
man vimna przykład podczas pisania otworzy się ta strona podręcznika w vim
jeśli man man vimna przykład wpiszesz , najpierw otworzy maninstrukcję, a po wyjściu z vima, otworzy viminstrukcję
kiedy naciśniesz K(to kapitał k), gdy znajdziesz się na innej stronie podręcznika u dołu ( sekcja ZOBACZ TAKŻE ), przejdziesz do tej instrukcji (niestety wewnątrz mniej pagera - let no_man_maps = 1dzieje się tak dlatego, że mamy ; jeśli nie masz zrób to, wtedy vim zmusi qdo bycia :qi nie będziesz w stanie łatwo zapisać makra, a vim może zachowywać się chwiejnie na inne sposoby).
wyjście z drugiej wprowadzonej instrukcji spowoduje powrót do poprzedniej instrukcji, którą przeglądałeś
dostajesz bardzo ładne podświetlanie składni, ponieważ załadowałeś ftplugin / man.vim, a ft jest (automatycznie) ustawiony na man.
możesz kopiować i wklejać, swobodnie nawigować w vimie, a nawet modyfikować bufor i :w ~/usefulfile. Możesz robić wszystko, co normalnie robisz w vimie, w tym makra nagrywania, szarpać do schowka za pomocą "+y(jeśli masz +clipboard) itp.
Uważam, że jest to o wiele ładniejsze niż mniej .
Jedynym drobnym problemem, który znalazłem (który nadal istnieje, jeśli używasz mniej jako pager) jest to, że chcesz mieć wiele instrukcji otwartych w jednej sesji vim. Naprawdę nie widzę sposobu, aby to zrobić.
Kilka uwag:
jeśli spróbujesz zapisać bufor, otrzymasz E382: Cannot write, 'buftype' option is set
Podoba mi się, że nie można zapisać, ponieważ zapobiega to przypadkowemu zapisaniu
nadal możesz zapisać jak :w /tmp/man.man
jeśli zapiszesz go z .manrozszerzeniem, otwarcie go ustawi mandla ciebie typ pliku
jeśli nie zapiszesz go z .manrozszerzeniem, możesz po prostu ustawić ft man, uruchamiając:set ft=man
jeśli na przykład potrzebujesz zrobić coś podczas otwierania stron podręcznika użytkownika autocmd VimEnter *.~ echom 'hooray, we are using vim for man pages!'.
W moim vimrc umieściłem następujące elementy, dzięki czemu mogę nacisnąć, Kaby spróbować otworzyć instrukcję, a następnie nacisnąć, Gaby wrócić do poprzedniej instrukcji:
augroup man
autocmd!
autocmd VimEnter *.~ nnoremap B :execute "normal! `Z"<cr>
autocmd VimEnter *.~ nnoremap <buffer> K :execute "normal! mZyiw:Man \<lt>c-r>\"\<lt>cr>"<cr>
augroup END
włamać się 2
umieść to w swoim ~ / .bashrc lub ~ / .zshrc
function man(){
declare -a args
for arg in "$@"; do
command man "$arg" > "/tmp/${arg}.man"
args+=("/tmp/${arg}.man")
done
vim "${args[@]}"
}
To rozwiązuje problem włamania 1 i mniejszej twarzy (teraz możesz przeglądać wiele instrukcji w jednym buforze), ale jest mniej elegancki.
Uwagi:
WAŻNE jeśli chcesz hack2 do pracy, wówczas należy umieścić :let no_man_maps = 1w twojej ~/.vimrc. Wynika to z tego, że vim będzie pozyskiwał źródła .../vim80/man.vimi qzostanie do nich przymusowo mapowany :q.
w grę wchodzi więcej sprzątania (teraz zapisujesz każdą instrukcję w /tmp/*.man )
możesz jednak teraz przeglądać wiele stron podręcznika w jednej sesji, jak wspomniano powyżej
jednak jeśli naciśniesz K, nadal otworzysz nową sesję vim
jeśli chcesz, możesz powiązać autocmd (używając autocmd takiego jak powyższy), aby zrobić coś takiego autocmd VimEnter man.~ nnoremap <buffer> K :execute "normal! Byt(:silent !man \<c-r>\" > /tmp/\<c-r>\".man\<cr>:edit /tmp/\<c-r>\".man\<cr>"lub coś szalonego takiego ( nieprzetestowane )
Opcja wydaje się rozpoznana w systemie Ubuntu 12.04, ale się nie udaje.
Hibou57,
OK, pakiet groffmusi zostać zainstalowany. groffKomenda może być tam, gdy pakiet o tej samej nazwie nie jest (komenda wyposażony groff-base, a nie pełnego groffpakietu). Robię man --html="surf file%c//%s" <command>i jest w porządku. Hipertekst jest jednak bardzo ograniczony: - /.
man is an interface to the on-line reference manuals
co (jeśli się nie mylę) oznacza, że powinno pobierać wszystkie informacje z jakiejś strony internetowej, prawda? Czyli ktoś ma pojęcie, co to jest link http: //?Odpowiedzi:
Strony podręcznika sięgają do Unix First Edition . Chociaż wynaleziono hipertekst , wciąż był w powijakach; Internet był oddalony o dwie dekady, a podręcznik był rzeczywiście drukowaną książką, często z jednym poleceniem na stronę, jeśli pasowały (dlatego nazywano je stronami).
Od tego czasu format strony podręcznika ewoluował nieco, ale większość stron nie jest tak naprawdę zaprojektowana pod kątem hipertekstu, a domyślny
man
program go nie obsługuje (jest to zwykła przeglądarka tekstu z hackami do obsługi podstawowego formatowania). Istnieją jednak strony człowiek oglądania programów, które odtworzyć niektóre hiperłączy, głównie linki do innych stron podręcznika, które są tradycyjnie napisany w formieman(1)
gdzieman
to nazwa strony człowieka i1
jest numer sekcji :Możesz przeglądać strony podręcznika kilku systemów operacyjnych, przekonwertowane na HTML przez
man2html
lub podobne narzędzia, w wielu witrynach online, na przykład:Jakiś czas po tym, jak strony podręcznika stały się ustalonym formatem dokumentacji dla Uniksa i jakiś czas przed wynalezieniem sieci, projekt GNU wprowadził format dokumentacji informacji , bardziej zaawansowany niż człowiek, przy jednoczesnym trzymaniu się prostych znaczników zaprojektowanych dla terminali tekstowych. Główną innowacją informacji w porównaniu do człowieka było posiadanie wielostronicowej dokumentacji z linkami do innych stron. Info jest nadal preferowanym formatem dokumentacji dla projektów GNU, chociaż większość stron Info jest generowanych ze źródła Texinfo (lub czasami innych formatów), które mogą również generować HTML. Gdy istnieje dokumentacja informacyjna programu, często jest to główna instrukcja, podczas gdy strony podręcznika zawierają tylko podstawowe informacje o argumentach wiersza poleceń.
źródło
M-x man
(iC-h v mode-name
jestMan
): przynajmniej w jednym aspekcie jest lepszy niż,WoMan
ponieważ wyświetla tabele ( zrzut ekranu ). Oczywiście jest również hiperlinkiem.b
ten sposób kluczem podstawowym jest . Dla użytkownika, który paradygmat interfejsu może być intuicyjny?page(N)
linki do hiperłączy. Byłem dość zaskoczony, że nie zostało wspomniane w odpowiedzi Gillesa w tej jakości.Przede wszystkim nie jest to link. To tylko podkreślenie. Strony podręcznika to tylko dokumenty tekstowe z odrobiną prostego formatowania, które terminal może obsłużyć. Podkreślenie jest tylko atrakcją, nie ma w tym „linku”.
Normalne
man
polecenie to tylko formatator tekstu. W rzeczywistościman
polecenie nawet nie wyświetla tekstu,man
po prostu formatuje informacje zapisane w pliku strony man [1] i wysyła sformatowane dane wyjściowe do innego programu (zwykleless
), który wyświetla sformatowane dane wyjściowe na ekranie. Te programy wyświetlające nie mają pojęcia łączy.Istnieją pewne specjalne czytniki dokumentacji, które mogą być w stanie spojrzeć na takie formatowanie i zgadywać, że takie wyróżnienie może wskazywać, że istnieje powiązana strona podręcznika man, którą można podciągnąć i utworzyć link, ale nie wiem które robią. Być może
pinfo
?Jeśli chcesz formatować jak w Internecie za pomocą hiperłączy, możesz znaleźć prawie każdą stronę man UNIX online z dodanymi linkami. Spróbuj wpisać
man [anything]
google, a prawie na pewno dostaniesz jedną z pierwszych kilku trafień.W przypadku twojego przykładu, wizualne podświetlenie jest wskazówką, że jest to kolejna nazwa programu, która ma własną stronę podręcznika, którą możesz łatwo wyciągnąć. Spróbować
man 1 top
. Liczba 1 wskazuje sekcję stron podręcznika, na które należy zajrzeć. Zobacz to pytanie, aby uzyskać wyjaśnienie części: Co oznaczają liczby na stronie podręcznika?[1] Jeśli otworzysz
man
plik strony w edytorze tekstu, zobaczysz surowąman
stronę, która nie jest sformatowana do łatwego czytania. Nieprzetworzonaman
strona jest napisana w języku znaczników o nazwietroff
. Więcej informacji natroff
temat pisaniaman
strony znajduje się na stronie: https://liw.fi/manpages/ .źródło
man 1 top
? Powinno to być coś podobnego,ps 1 top
ponieważ znalazłem link na stronie podręcznika użytkownikaps
. „Man 1 top” nie ma dla mnie sensu. Proszę o wyjaśnienie.top(1)
„linkiem”, musisz otworzyćtop
stronę podręcznika z 1. części. Aby uzyskać więcej informacji o sekcjach, patrz man (1).ps 1 top
nie ma żadnego sensu, ponieważ po prostu uruchomiszps
polecenie z dziwnymi parametrami.readlink
pojawia się w sekcjach 1 i 2 orazprintf
w sekcjach 1 i 3. Jeśli po prostu wpiszeszman command
, man spróbuje sekcje w kolejności numerycznej i wyświetli pierwsze znalezione, lub możesz być konkretnyman # command
, co musisz zrobić, aby uzyskać dokumentację dlareadlink
wywołania systemowegoTo jest bardzo późna odpowiedź, ale użyj w3mman. w3mman to ręczny pager systemowy autorstwa w3m.
https://linux.die.net/man/1/w3mman
Możesz spróbować, instalując pakiet w3m. Wierzę, że ten pakiet jest zarejestrowany w repozytoriach oprogramowania większości głównych dystrybucji Linux / UNIX i Cygwin.
źródło
w3mman
jest również dostarczany z domyślnąw3m
instalacją Macports . To wspaniale :) Dzięki!Pozwól, że spróbuję bardziej zinterpretować twoje pytanie w tym sensie, że staram się podążać za tobą. Prawdopodobnie chciałbyś mieć kombinację klawiszy na
man
stronie, która prowadzi bezpośrednio do podkreślonych poleceń, o których czytasz. Nie trzeba więc instalować czegoś innego, nie otwierać innej konsoli i zapomnieć na przykład o dokładnej składni.Najprostszym rozwiązaniem jest wykrzyknik (jeśli używasz
less
do wyświetlania stron podręcznika) i chcesz przejść do podkreślonegotop
:Lub
Będziesz musiał zamknąć je wszystkie, naciskając
q
wiele razy. Zauważ też, że to nie zadziała, jeśliLESSSECURE=1
zostanie ustawione jako zmienna środowiskowa, która uruchomi sięless
w trybie bezpiecznym i nie pozwoli na użycie!
. Powie ci coś w rodzaju „Polecenie niedostępne”.źródło
Chociaż w3mman jest rozwiązaniem umożliwiającym śledzenie linków, nie używa całego ekranu (przynajmniej w Ubuntu 12.10)
Wolę używać:
dodaj ostatnią komendę do ~ / .bash_aliases lub podobnego skryptu startowego, aby uzyskać ją w każdej sesji.
-P w3m dlatego pierwsza przeglądarka hman jest ryś lub sensible-browser ale wolę w3m
hman to narzędzie dołączone do html2man. Zobacz to
Jeśli wyjście z potwierdzeniem jest dla ciebie denerwujące, to dla mnie skorzystaj z tego
źródło
Specjalnie dla Ubuntu istnieje Yelp. Jest instalowany domyślnie i domyślnie jest w stanie wyświetlać strony podręcznika, chociaż wywołanie w tym celu nie jest tym samym, co
man
polecenie; Alias lub funkcja powłoki może działać wokół tego ostatniego punktu (zależy od powłoki).Domyślnie będzie to sekcja w sposób, którego nie znam. Przypomnienie: aby uzyskać listę rozdziałów na temat podręcznika, użyj
whatis
, jak wwhatis exit
.Aby poprosić Yelp o wyświetlenie strony podręcznika z określonej sekcji, powiedzmy 2, wykonaj:
Problemy: yelp ma błędy i bądź przygotowany na otrzymanie wielu błędów wyjściowych podczas wywoływania go z wiersza poleceń. Tam również alias lub niestandardowa funkcja powłoki może pomóc w przekierowaniu wszystkich błędów
/dev/null
źródło
Jak powiedzieli, nie został do tego zaprojektowany.
Możesz użyć,
info man
a następnie nacisnąć Enter, gdy znajdziesz się w sekcji ZOBACZ TAKŻE na swoim produkcie.źródło
Mam (kilka) włamań.
włamać się 1
Umieść to w swoim ~ / .bashrc lub ~ / .zshrc
Zrzut ekranu..
Asciinema ..
https://asciinema.org/a/130131
Teraz..
man vim
na przykład podczas pisania otworzy się ta strona podręcznika w vimman man vim
na przykład wpiszesz , najpierw otworzyman
instrukcję, a po wyjściu z vima, otworzyvim
instrukcjękiedy naciśniesz K(to kapitał
k
), gdy znajdziesz się na innej stronie podręcznika u dołu ( sekcja ZOBACZ TAKŻE ), przejdziesz do tej instrukcji (niestety wewnątrz mniej pagera -let no_man_maps = 1
dzieje się tak dlatego, że mamy ; jeśli nie masz zrób to, wtedy vim zmusiq
do bycia:q
i nie będziesz w stanie łatwo zapisać makra, a vim może zachowywać się chwiejnie na inne sposoby).dostajesz bardzo ładne podświetlanie składni, ponieważ załadowałeś ftplugin / man.vim, a ft jest (automatycznie) ustawiony na
man
.możesz kopiować i wklejać, swobodnie nawigować w vimie, a nawet modyfikować bufor i
:w ~/usefulfile
. Możesz robić wszystko, co normalnie robisz w vimie, w tym makra nagrywania, szarpać do schowka za pomocą"+y
(jeśli masz+clipboard
) itp.Uważam, że jest to o wiele ładniejsze niż mniej .
Jedynym drobnym problemem, który znalazłem (który nadal istnieje, jeśli używasz mniej jako pager) jest to, że chcesz mieć wiele instrukcji otwartych w jednej sesji vim. Naprawdę nie widzę sposobu, aby to zrobić.
Kilka uwag:
jeśli spróbujesz zapisać bufor, otrzymasz
E382: Cannot write, 'buftype' option is set
nadal możesz zapisać jak
:w /tmp/man.man
.man
rozszerzeniem, otwarcie go ustawiman
dla ciebie typ pliku.man
rozszerzeniem, możesz po prostu ustawić ftman
, uruchamiając:set ft=man
jeśli na przykład potrzebujesz zrobić coś podczas otwierania stron podręcznika użytkownika
autocmd VimEnter *.~ echom 'hooray, we are using vim for man pages!'
.W moim vimrc umieściłem następujące elementy, dzięki czemu mogę nacisnąć, Kaby spróbować otworzyć instrukcję, a następnie nacisnąć, Gaby wrócić do poprzedniej instrukcji:
włamać się 2
umieść to w swoim ~ / .bashrc lub ~ / .zshrc
Zrzut ekranu..
Asciinema ..
https://asciinema.org/a/9Q6Si90Pi46cDVUknxFxfIwsv
To rozwiązuje problem włamania 1 i mniejszej twarzy (teraz możesz przeglądać wiele instrukcji w jednym buforze), ale jest mniej elegancki.
Uwagi:
WAŻNE jeśli chcesz hack2 do pracy, wówczas należy umieścić
:let no_man_maps = 1
w twojej~/.vimrc
. Wynika to z tego, że vim będzie pozyskiwał źródła.../vim80/man.vim
iq
zostanie do nich przymusowo mapowany:q
.w grę wchodzi więcej sprzątania (teraz zapisujesz każdą instrukcję w /tmp/*.man )
możesz jednak teraz przeglądać wiele stron podręcznika w jednej sesji, jak wspomniano powyżej
jednak jeśli naciśniesz K, nadal otworzysz nową sesję vim
autocmd VimEnter man.~ nnoremap <buffer> K :execute "normal! Byt(:silent !man \<c-r>\" > /tmp/\<c-r>\".man\<cr>:edit /tmp/\<c-r>\".man\<cr>"
lub coś szalonego takiego ( nieprzetestowane )źródło
Byłem w stanie użyć tego
--html
argumentuman
, aby otworzyć go w przeglądarce zdefiniowanej przez zmienną środowiskową $ BROWSER, więc:Używam Fedory. Nie jestem pewien, czy to działa w przypadku Twojej dystrybucji, przetestuj i zgłoś w komentarzach.
źródło
groff
musi zostać zainstalowany.groff
Komenda może być tam, gdy pakiet o tej samej nazwie nie jest (komenda wyposażonygroff-base
, a nie pełnegogroff
pakietu). Robięman --html="surf file%c//%s" <command>
i jest w porządku. Hipertekst jest jednak bardzo ograniczony: - /.