Rozumiem, co GNU Info jest i jak go używać, ale co to jest za ? Dlaczego istnieje równolegle do stron podręcznika? Dlaczego nie napisać szczegółowych stron podręcznika zamiast udostępniać osobne narzędzie?
Plik texinfo może zrobić znacznie więcej makr groff.
jordanm
15
Ma jedną przewagę nad stronami podręcznika: „hiperłącza”. Reszta to wady, poczynając od Syndromu, który nie został wymyślony, zabawne powiązania klawiszy, kłopot z utrzymaniem katalogu i wiele innych.
Jens
4
Użyj, info --vi-keysaby skróty klawiszowe informacji były bardziej znane. Można także skorzystać lessz informacji, aby czuć się jak man: info --subnodes -o - $1 | less. Jednak tracisz trochę formatowanie tekstu w ten sposób.
1
Możesz też skierować swoją przeglądarkę na gnu.org/manual . (Korzystanie z Vimperatora / Vrome jest opcjonalne.)
nwk
Odpowiedzi:
63
GNU Info zostało zaprojektowane tak, aby oferować kompleksową dokumentację, hiperłącza i możliwe do wydrukowania w wielu formatach.
Strony podręcznika były dostępne i świetnie nadawały się do drukowania. Zostały one jednak zaprojektowane tak, aby każda strona podręcznika miała stosunkowo niewielki zestaw treści. Strona podręcznika może mieć dyskusję na temat pojedynczej funkcji C, takiej jak printf (3), lub opisywać polecenie ls (1).
To się psuje, gdy wchodzisz do większych systemów. Jak dopasowałbyś dokumentację Emacsa do stron podręcznika? Przykładem problemu jest strona podręcznika użytkownika Perla, która zawiera 174 oddzielne strony podręcznika użytkownika, które można przeczytać, aby uzyskać informacje. Jak to przeglądasz lub szukasz, aby dowiedzieć się, co oznacza &&?
Jako ulepszenie w stosunku do stron podręcznika, Info dał nam:
Możliwość posiadania jednego dokumentu dla dużego systemu, który zawiera wszystkie informacje o tym systemie. (w porównaniu do 174 stron podręcznika)
Możliwość wyszukiwania pełnotekstowego w całym dokumencie (v. Man -k, który sprawdza tylko słowa kluczowe)
Hiperłącza do różnych części tego samego lub różnych dokumentów (v. Zobacz też sekcję, która została przekształcona w hiperłącza przez niektóre, ale nie wszystkie przeglądarki stron podręcznika)
Indeks dokumentu, który można przeglądać lub wcisnąć „i” i wpisać termin, który przeszuka indeks i zabierze Cię we właściwe miejsce (v. Nic)
Liniowe przeglądanie dokumentów pojęciowych, pozwalające przeczytać poprzednią i następną sekcję, jeśli chcesz, za pomocą myszy lub naciśnięcia klawisza (v. Nic).
Czy to wciąż aktualne? W dzisiejszych czasach większość ludzi powiedziałaby „Ta dokumentacja nie należy do strony podręcznika” i umieściłaby ją w pliku PDF lub w formacie HTML. W rzeczywistości systemy pomocy w kilku systemach operacyjnych są oparte na HTML. Jednak kiedy powstał GNU Info (1986), HTML jeszcze nie istniał. Obecnie texinfo pozwala tworzyć pliki PDF, informacje i inne formaty, więc możesz z nich korzystać, jeśli chcesz.
man -K foo, z opcją wielkich liter, wykonuje globalne wyszukiwanie pełnotekstowe. Spróbuj man -K global-apropos- wyszukuje strony dla mansiebie, w języku angielskim i lokalnym.
Volker Siegel
1
W jaki sposób dowiadujesz się, co oznacza „&&”? ... patrzysz na indeks: „man perl”, stamtąd widzisz Omówienie, Poradniki, Podręcznik referencyjny, Materiały wewnętrzne, Różne (książki, źródła, licencje, dzienniki zmian (~ 40), dokumenty specyficzne dla języka + platformy. Z tych, dla „&&”, zajmuję się sekcją referencyjną i widzę składnię, dane i operatory, jako pierwsze 3 sekcje, jak większość podręczników ref. Języków. && wygląda jak operacja, więc patrzę na stronę podręcznika Perlop, a 2. ekran w dół wyświetla listę wszystkich operatorów. Porównaj to do wymyślenia klawiszy dla --vi-mode arg do 'info' ... powodzenia.
Astara
41
Powodem wynalezienia systemu Info jest konieczność, ale myślę, że „lenistwo, pycha i niecierpliwość” to równie dobre wytłumaczenie.
Celem projektu GNU było opracowanie swobodnie modyfikowalnego i dystrybuowanego systemu operacyjnego i narzędzi. Tradycyjny system uniksowy oparty był na systemie formatowania dokumentów nroff / troff firmy Bell Labs, który był wówczas komercyjnym (niewolnym) oprogramowaniem. Ostatecznie ten system został poddany inżynierii wstecznej i utworzono bezpłatną wymianę o nazwie groff, ale było to kilka lat po rozpoczęciu projektu GNU. Zatem użycie systemu man do dokumentacji GNU wymagałoby wcześniejszego zastąpienia troffa, co jest ogromnym przedsięwzięciem.
Tymczasem GNU Emacs był pierwszym dużym projektem GNU i wymagał obszernej dokumentacji. W obliczu prac nad wdrożeniem systemu GNU Richard Stallman rozejrzał się za istniejącym oprogramowaniem, które mógłby wykorzystać w swoim systemie. TeX już istniał i miał potężne możliwości formatowania dokumentów. W przeciwieństwie do nroff / troff, TeX był darmowy w użyciu i redystrybucji. Texinfo został stworzony jako system dokumentacji, aby wykorzystać moc TeXa w drukowanych instrukcjach i GNU Emacs do przetwarzania i odczytu dokumentacji online. Oryginalny procesor Texinfo i przeglądarka dokumentów Info zostały napisane w Lisp i działały w Emacsie. Samodzielne narzędzia Texinfo pojawiły się kilka lat później.
Jak podaje strona Wikipedii , TeXinfo został zaprojektowany jako oficjalna dokumentacja projektu GNU przez Richarda Stallmana. Jest to zestaw makr na TeX-ie i został zaprojektowany do pisania instrukcji obsługi oprogramowania. Myślę, że Stallman uznał strony podręcznika za nieodpowiednie do tego zadania. Dwie zalety, jakie Texinfo ma w stosunku do stron podręcznika, to hiperłącza, a po drugie, ze względu na łatwość konwersji z innych formatów.
DODATEK: Chociaż nie jest to ściśle związane z pytaniem, pamiętaj, że strony podręcznika nadal są uważane za standardowy system dokumentacji w wolnych systemach uniksopodobnych, takich jak te działające na jądrze Linuksa, a także różne smaki BSD. Na przykład szablony pakietów Debiana zachęcają do dodawania strony podręcznika dla dowolnych poleceń, a także sprawdzania strony podręcznika przez lintian. Texinfo wciąż nie jest szeroko stosowane poza projektem GNU.
+1, szczególnie w przypadku notatki o hipertekstie, który moim zdaniem był głównym powodem, dla którego chciałem odejść od (wówczas bardziej niż teraz) manformatu zorientowanego na wydruk.
tripleee
@ChristopherSchultz edytowane
Faheem Mitha
Jestem przyzwyczajony do książek na materiały referencyjne. Mogę je czytać od deski do deski. Jeśli podręczniki i książki nie nadają się do pisania dokumentacji, nigdy nie nauczono by komputerów ani języków. W trakcie uczenia się postępuj zgodnie z postępem od niskiej> wysokiej wiedzy z bardziej złożonymi tematami opartymi na prostszych. Książki są prawie tym, czego uczy się każde dziecko - kolejno prezentowane informacje. Łącza H służą do skoncentrowania się na przypadkowych tematach: jeśli jesteś ekspertem i mistrzem tematu - wiesz, czego chcesz, a linki szybko Cię tam zaprowadzą. W celach informacyjnych i do nauki linki są źle dopasowane.
Astara,
7
Z praktycznego zdaniem, infojest najbardziej szczegółowy z trzech poziomów dokumentacji referencyjnego:
Trzy poziomy zwykle rosną w szczegółach:
--helpjako powszechna opcja polecenia - krótkie podsumowanie użycia , man- klasyczne strony podręcznika man, szybkie odniesienie oraz info- bardziej szczegółowy, specyficzny dla GNU podręcznik - pełna, oficjalna dokumentacja .
Jeśli infostrona nie jest dostępna, strona podręcznika zwykle zawiera pełną dokumentację.
Zauważ, że strona man zawiera dokładnie takie same informacje, jak dane --helpwyjściowe wielu poleceń z GNU coreutils - na przykład ls;
Porównaj ls --helpi man lsprzekonaj się, że różnica polega tylko na formowaniu.
Domyślny informacji widz info.
Są bardziej wygodne alternatywy , takie jak dla terminala pinfo, dla GUI konqueror:
@ Mikeserv Nie znalazłem funkcji włączania odpowiedzi częściowej. ;)
Volker Siegel,
hmmm ... bardzo interesujące, z wyjątkiem tego, że zapominasz wspomnieć helpo poleceniu wbudowanych poleceń bash aproposi whatisjako człowiek z opcjami praktycznego wykorzystania.
Odnośnik z hiperłączem nie jest instrukcją ani książką. Wiki? może, ale instrukcje nigdy nie zawierają hiperłączy w świecie off-line. Pochodzą z referencjami (patrz rozdział 38), ale nie warto się z nich uczyć. Po niedawnym przeczytaniu nowszej książki w C ++, zgadzam się, że używa referencji do przodu i do tyłu, jeśli chcesz uzyskać więcej informacji na temat, który zostanie omówiony później. Po przeczytaniu książki odniesienia mogą być bardzo pomocne w znajdowaniu rzeczy. Ale dla kogoś nowego w złożonym programie? Za każdym razem wolę książkę niż linkowany HTML lub stronę informacyjną.
Astara,
Uwielbiam strony informacyjne. Są one bardziej podobne do samouczków niż strony podręcznika i dlatego są znacznie łatwiejsze dla początkujących. Spróbuj info sedi info grepporównaj z man sedi man grep. Strony podręcznika są bardziej techniczne i przez większość czasu brakuje przykładów. Istnieją wyjątki od tego, co właśnie opisałem, ale powiedziałbym, że dotyczy to większości poleceń.
Fernando Basso
3
1 - zaawansowana, ale lekka technologia
Strony podręcznika są płaskie.
info jest drzewem.
Oba pozostają oparte na tekście , więc można ich używać podczas opracowywania systemu niskiego poziomu (w przeciwieństwie do http, który wymaga pełnego interfejsu GUI i przeglądarki, zanim będzie można go użyć).
Jest to również przydatne, ponieważ Linux może działać na wielu maszynach o niskim zużyciu zasobów, na przykład można znaleźć rzeczy, które działają na moim Arduino z Atmel info.
(Historia: infojest podobna do gopher , jeśli o tym pamiętasz. To właśnie mieliśmy tuż przed przejściem do GUI OS, a świat eksplodował. Pamiętam, że gopher działał całkiem nieźle w poszukiwaniu informacji i był szybki i prosty. Łatwo go rozszerzać, w pełni tekstowo i szybko).
Strony podręcznika nie mogą zawierać obsługiwanych hiperłączy. (W tej technologii jest to po prostu niemożliwe).
infomoże i ma wiele obsługiwanych łączy między węzłami lub między węzłami, co znacznie ułatwia szybkie poruszanie się po dużych instrukcjach.
2 - zawiera treści nie znalezione na stronach podręcznika man
Wiele standardowych pakietów ma także pakiet siostrzany -doc . Często ta treść znajduje się tylko w środku info.
Te pakiety dokumentacji dodają broszury wewnątrz informacji, z sekcjami i podsekcjami. W infojęzyku lingo są one nazywane nodes, a węzły mogą zawierać inne nodesw strukturze drzewa.
Istnieją polecenia, aby wspinać się po drzewie, oto kilka przykładów:
w górę sekcji, np. od sekcji 2.1 do sekcji 2
następna sekcja (tj. przechodzenie wzdłuż końców gałęzi ze strony na stronę), np. z sekcji 2, do sekcji 2.1 i ( zakładając, że nie ma sekcji 2.2 ), dalej do sekcji 3
w prawo do sekcji, np. z sekcji 2 bezpośrednio do sekcji 3, pomijając sekcję 2.1
Jeśli czytasz i przewijasz wiersz po wierszu, odwiedzisz wszystkie sekcje każdej broszury.
Ważne polecenia
l - wróć - mała litera „L”, jak w l ast. To jest jak przycisk Wstecz w przeglądarce internetowej. - Wróć do ostatniego węzła widocznego w tym oknie (początkowo mamy tylko jedno okno). Wow, możemy również podzielić okno dokumentu na pół!
d - moi ludzie - Idź do głównego węzła „ d irectory”. - To jest szczyt drzewa INFO. Zawiera linki do rodzin:
t - moja rodzina - Przejdź do węzła t op tego dokumentu. - Ogólnie spis treści
u - mój rodzic - Idź ú P jeden poziom. np. przejdź z sekcji 2.1 do sekcji 2.
n - moje rodzeństwo - przejdź do węzła n ext na tym poziomie. np. sekcja 2 -> sekcja 3 (nie 2.1)
p - moje rodzeństwo - Przejdź do p węzła revious na tym poziomie. np. sekcja 3 -> sekcja 2
] - moje dzieci - Przejdź do następnego węzła w dokumencie, np. sekcja 2 -> sekcja 2.1
[ - moje dzieci - Przejdź do poprzedniego węzła w dokumencie, np. sekcja 2.1 -> sekcja 2
Nie bardzo też rozumiałem, dlaczego chciałbym korzystać z informacji. Wcześniej się nim zajmowałem i na początku uznałem to za oldschoolowy. Ponieważ jednak potrzebowałem więcej informacji na temat projektu autoconf i zasugerowano mi, że tam właśnie znajduje się ta dokumentacja, ostatnio rzuciłem okiem na inne.
Pierwszą rzeczą, którą musiałem zrobić, było wymyślenie lepszej nawigacji. Pomoc H była dla mnie prawie bezużyteczna. Tak było, dopóki nie zauważyłem, że mogę przewinąć w dół do tej pomocy, ale wtedy było zbyt wiele zamieszania.
Skopiowałem więc tę pomoc i wkleiłem ją w Gnote i zacząłem próbować zrozumieć, jak to infodziała.
Gdy dowiedziałem się więcej, przepisałem ich pomoc dla siebie. Chciałem wiedzieć, jaki jest ich pełny zakres poleceń i jak zostały podzielone na kategorie.
Zauważyłem, że wiele naciśnięć klawiszy zostało zduplikowanych, z 2 lub 3 sposobami wykonania danego polecenia. Zauważyłem również, że wszystko to wyglądało bardzo podobnie do emacsa.
Oto moja ściągawka poleceń informacyjnych :
HELP - info - commands
#####################################################################################################################################################
Short list - 'basic' Info command keys (see below for full list)
C-g Cancel the current operation.
H Close this help window. (toggle help window)
q Quit Info altogether.
h Invoke the Info tutorial.
Move in this node
Up Move up one line.
Down Move down one line.
PgUp Scroll backward one screenful. - also backspace
PgDn Scroll forward one screenful. - also space
Home Go to the beginning of this node.
End Go to the end of this node.
TAB Skip to the next hypertext link.
/ Search forward for a specified string.
} Search for next occurrence.
{ Search for previous occurrence.
Move to other nodes
RET Follow the hypertext link under the cursor.
1...9 Pick the first...ninth item in this node's menu.
0 Pick the last item in this node's menu.
l Last in history. Go back to the last node seen in this window (initially we only have one window). (?? history)
d Go to the main 'directory' node. my people
the Info main menu - "This is the top of the INFO tree."
t Go to the top node of this document. my family Generally the table of contents
u Go up one level. my parent e.g. go from Section 2.1, to Section 2.
n Go to the next node on this level. my siblings e.g. section 2 -> section 3 (not 2.1)
p Go to the previous node on this level.
] Go to the next node in the document. my children e.g. section 2 -> section 2.1
[ Go to the previous node in the document. (?siblings)
m <name> Pick a menu item specified by name.
f Follow a cross reference specified by name.
g Go to a node specified by name.
i Search for a specified string in the index (if there is an index), and select the node referenced by the first entry found.
I Synthesize menu of matching index entries. ???
#####################################################################################################################################################
Full list - of commands available in Info windows:
Notes:
M- (meta) is Alt; (also you can use an Esc prefix instead of meta -hwj)
M-C- means hold both Ctrl and Alt down at same time
* Basic commands (listed above)
HELP
* H (get-help-window) Toggle display of help message
* h (get-info-help-node) Visit Info node '(info)Help' (this gets: man info )
CANCEL
* C-g C-x C-g M-C-g (abort-key) Cancel current operation (?? esc)
* q C-c (quit) Quit using Info
C-x C-c (quit) Quit using Info
WINDOWS
C-l (redraw-display) Redraw the display
x C-x 0 (delete-window) Delete the current window
C-x 1 (keep-one-window) Delete all other windows (leaving 1)
C-x 2 (split-window) Split the current window (into 2)
C-x t (tile-windows) Divide the available screen space among the visible windows
C-x ^ (grow-window) Grow (or shrink) this window
C-x o (next-window) Select the next window (other)
C-x C-b (list-visited-nodes) Make a window containing a menu of all of the currently visited nodes
C-x w (toggle-wrap) Toggle the state of line wrapping in the current window
VIEW OTHER FILE
C-x C-f (view-file) Read the name of a file and select it
C-x C-v (view-file) Read the name of a file and select it
SCROLL
C-v (scroll-forward-page-only) Scroll forward in this window staying within node ('v' looks like a down arrow)
M-v (scroll-backward-page-only) Scroll backward in this window staying within node (meta-v is the reverse, or up arrow)
* PgDn SPC (scroll-forward) Scroll forward in this window (at end moving to next node??)
* PgUp DEL C-h (scroll-backward) Scroll backward in this window (at end moving to next node??) (DEL = Backspace or Del)
M-C-v ESC PgDn (scroll-other-window) Scroll the other window
ESC PgUp (scroll-other-window-backward) Scroll the other window backward
CURSOR MOVEMENT (within a 'node' / page)
Right C-f ( forward-char) Move forward a character
Left C-b (backward-char) Move backward a character
M-b (backward-word) Move backward a word
M-f ( forward-word) Move forward a word
C-a (beginning-of-line) Move to the start of the line
C-e (end-of-line) Move to the end of the line
* Up C-p (prev-line) Move up to the previous line
* Down C-n (next-line) Move down to the next line
M-r (move-to-window-line) Move the cursor to a specific line of the window
* Home b ESC < (beginning-of-node) Move to the start of this node
* End e ESC > (end-of-node) Move to the end of this node
SEARCHING
/ (search) Read a string and search for it
s (search) Read a string and search for it
? (search-backward) Read a string and search backward for it
R (toggle-regexp) Toggle the usage of regular expressions in searches
S (search-case-sensitively) Read a string and search for it case-sensitively
* } C-x n (search-next) Repeat last search in the same direction
* { C-x N (search-previous) Repeat last search in the reverse direction
C-s (isearch-forward) Search interactively for a string as you type it
C-r (isearch-backward) Search interactively for a string as you type it
M-/ (tree-search) Search this node and subnodes for a string.
M-} (tree-search-next) Go to next match in Info sub-tree
M-{ (tree-search-previous) Go to previous match in Info sub-tree
JUMP TO NODE CROSS REFERENCES (underlined links to nodes)
* TAB (move-to-next-xref) Move to the next cross reference
BackTab M-TAB (move-to-prev-xref) Move to the previous cross reference (Shift-tab)
SELECT A NODE (hyperlink)
* RET (select-reference-this-line) Select reference or menu item appearing on this line
* 1 .. 9 (menu-digit) Select this menu item (link) # in this node's menu (this page's menu)
* 0 (last-menu-item) Select the last menu item (link) in this node's menu (this page's menu)
< (first-node) Select the first node in this file
> (last-node) Select the last node in this file
* d (dir-node) Select the 'dir' node (in all files?) the Info main menu - "This is the top of the INFO tree."
* t (top-node) Select the 'Top' node in this file Generally the table of contents
* u ( up-node) Select the 'Up' node in this file i.e. go from Section 2.1, to Section 2.
* n (next-node) Select the Next node i.e. section 2.1 -> section 2.2
* p (prev-node) Select the Prev node
* g <name> (goto-node) Read a node name and select it
* m <item> (menu-item) Read a menu item and select its node ???
C-x b (select-visited-node) Select a node which has been previously visited in a visible window (c-x=Window, back)
MOVE TO ANOTHER NODE (in the tree)
* [ (global-prev-node) Move backwards or up through node structure (tree within this file)
* ] (global-next-node) Move forwards or down through node structure (tree within this file)
* l (history-node) last - Select the most recently selected node
GET NODE INFORMATION
= (display-file-info) Show full file name of node being displayed
O (goto-invocation-node) Find the node describing program invocation
READ IN NEW MENUS
G <menus> (menu-sequence) Read a list of menus starting from dir and follow them ???
INDEX
* i (index-search) Look up a string in the index for this file (Search for a specified string in the index
(if there is an index), and select the node referenced by the first entry found.
, (next-index-match) Go to the next matching index item from the last 'i' command
* I (virtual-index) List all matches of a string in the index
C-x f (all-files) Show all matching files
FOOTNOTES
* f (xref-item) Read a footnote or cross reference and select its node
r (xref-item) Read a footnote or cross reference and select its node
M-C-f (show-footnotes) Show the footnotes associated with this node in another window
NUMERIC
C-u (universal-argument) Start (or multiply by 4) the current numeric argument
M-- (add-digit-to-numeric-arg) Add this digit to the current numeric argument
M-0 .. M-9 (add-digit-to-numeric-arg) Add this digit to the current numeric argument
MISC
M-x (execute-command) Read a command name in the echo area and execute it ?? pwd and ls don't work
#####################################################################################################################################################
The following text commands can only be invoked via M-x (Alt-x -hwj):
This is a list of longer commands that can be typed, all prefixed with Alt-x:
M-x scroll-forward-set-window Scroll forward in this window and set default window size
M-x scroll-backward-set-window Scroll backward in this window and set default window size
M-x scroll-forward-page-only-set-window Scroll forward in this window staying within node and set default window size
M-x scroll-backward-page-only-set-window Scroll backward in this window staying within node and set default window size
M-x down-line Scroll down by lines
M-x up-line Scroll up by lines
M-x scroll-half-screen-down Scroll down by half screen size
M-x scroll-half-screen-up Scroll up by half screen size
M-x prev-window Select the previous xwindow
M-x set-screen-height <number> Set the height of the displayed window
M-x find-menu Move to the start of this node's menu
M-x visit-menu Visit as many menu items at once as possible
M-x man <name of man page> Read a manpage reference and select it
M-x print-node Pipe the contents of this node through INFO_PRINT_COMMAND
M-x clear-search Clear displayed search matches
M-x describe-key <key combo> Print documentation for KEY (one line of documentation)
M-x where-is Show what to type to execute a given command
M-x describe-command Read the name of an Info command and describe it
M-x index-apropos Grovel all known info file's indices for a string and build a menu (grep widely, and make a menu of what is found)
M-x describe-variable Explain the use of a variable
M-x set-variable Set the value of an Info variable
M-x info-version Display version of Info being run
#####################################################################################################################################################
Commands available in the 'echo' area (i.e. at bottom of screen):
(M- (meta) = Fn (not alt) -hwj)
C-l (redraw-display) Redraw the display
C-g Esc (echo-area-abort) Cancel or quit operation
M-C-g (echo-area-abort) Cancel or quit operation
MOVE
C-a Home (echo-area-beg-of-line) Move to the start of this line
C-e End (echo-area-end-of-line) Move to the end of this line
C-b Left (echo-area-backward) Move backward a character
C-f Right (echo-area-forward) Move forward a character
M-b (echo-area-backward-word) Move backward a word
M-f (echo-area-forward-word) Move forward a word
COMMAND LINE COMPLETIONS
M-? ? (echo-area-possible-completions) List possible completions
M-C-v (echo-area-scroll-completions-window) Scroll the completions window
TAB SPC (echo-area-complete) Insert completion
RET LFD (echo-area-newline) Accept (or force completion of) this line
DELETE/YANK
C-d (echo-area-delete) Delete the character under the cursor
C-h DEL (echo-area-rubout) Delete the character behind the cursor
M-d (echo-area-kill-word) Kill the word following the cursor
M-DEL (echo-area-backward-kill-word) Kill the word preceding the cursor
C-k (echo-area-kill-line) Kill to the end of the line
C-x DEL (echo-area-backward-kill-line) Kill to the beginning of the line
C-y (echo-area-yank) Yank back the contents of the last kill
M-y (echo-area-yank-pop) Yank back a previous kill
INSERT
C-q (echo-area-quoted-insert) Insert next character verbatim
M-TAB (echo-area-tab-insert) Insert a TAB character
TRANSPOSE
C-t (echo-area-transpose-chars) Transpose characters at point (and move ahead by one)
NUMERIC ARGUMENTS ???
C-u (universal-argument) Start (or multiply by 4) the current numeric argument
M-- (add-digit-to-numeric-arg) Add this digit to the current numeric argument
M-0 .. M-9 (add-digit-to-numeric-arg) Add this digit to the current numeric argument
C-x o (next-window) Select the next window
info --vi-keys
aby skróty klawiszowe informacji były bardziej znane. Można także skorzystaćless
z informacji, aby czuć się jakman
:info --subnodes -o - $1 | less
. Jednak tracisz trochę formatowanie tekstu w ten sposób.Odpowiedzi:
GNU Info zostało zaprojektowane tak, aby oferować kompleksową dokumentację, hiperłącza i możliwe do wydrukowania w wielu formatach.
Strony podręcznika były dostępne i świetnie nadawały się do drukowania. Zostały one jednak zaprojektowane tak, aby każda strona podręcznika miała stosunkowo niewielki zestaw treści. Strona podręcznika może mieć dyskusję na temat pojedynczej funkcji C, takiej jak printf (3), lub opisywać polecenie ls (1).
To się psuje, gdy wchodzisz do większych systemów. Jak dopasowałbyś dokumentację Emacsa do stron podręcznika? Przykładem problemu jest strona podręcznika użytkownika Perla, która zawiera 174 oddzielne strony podręcznika użytkownika, które można przeczytać, aby uzyskać informacje. Jak to przeglądasz lub szukasz, aby dowiedzieć się, co oznacza &&?
Jako ulepszenie w stosunku do stron podręcznika, Info dał nam:
Czy to wciąż aktualne? W dzisiejszych czasach większość ludzi powiedziałaby „Ta dokumentacja nie należy do strony podręcznika” i umieściłaby ją w pliku PDF lub w formacie HTML. W rzeczywistości systemy pomocy w kilku systemach operacyjnych są oparte na HTML. Jednak kiedy powstał GNU Info (1986), HTML jeszcze nie istniał. Obecnie texinfo pozwala tworzyć pliki PDF, informacje i inne formaty, więc możesz z nich korzystać, jeśli chcesz.
Właśnie dlatego wynaleziono GNU Info.
źródło
man -K foo
, z opcją wielkich liter, wykonuje globalne wyszukiwanie pełnotekstowe. Spróbujman -K global-apropos
- wyszukuje strony dlaman
siebie, w języku angielskim i lokalnym.Powodem wynalezienia systemu Info jest konieczność, ale myślę, że „lenistwo, pycha i niecierpliwość” to równie dobre wytłumaczenie.
Celem projektu GNU było opracowanie swobodnie modyfikowalnego i dystrybuowanego systemu operacyjnego i narzędzi. Tradycyjny system uniksowy oparty był na systemie formatowania dokumentów nroff / troff firmy Bell Labs, który był wówczas komercyjnym (niewolnym) oprogramowaniem. Ostatecznie ten system został poddany inżynierii wstecznej i utworzono bezpłatną wymianę o nazwie groff, ale było to kilka lat po rozpoczęciu projektu GNU. Zatem użycie systemu man do dokumentacji GNU wymagałoby wcześniejszego zastąpienia troffa, co jest ogromnym przedsięwzięciem.
Tymczasem GNU Emacs był pierwszym dużym projektem GNU i wymagał obszernej dokumentacji. W obliczu prac nad wdrożeniem systemu GNU Richard Stallman rozejrzał się za istniejącym oprogramowaniem, które mógłby wykorzystać w swoim systemie. TeX już istniał i miał potężne możliwości formatowania dokumentów. W przeciwieństwie do nroff / troff, TeX był darmowy w użyciu i redystrybucji. Texinfo został stworzony jako system dokumentacji, aby wykorzystać moc TeXa w drukowanych instrukcjach i GNU Emacs do przetwarzania i odczytu dokumentacji online. Oryginalny procesor Texinfo i przeglądarka dokumentów Info zostały napisane w Lisp i działały w Emacsie. Samodzielne narzędzia Texinfo pojawiły się kilka lat później.
źródło
Jak podaje strona Wikipedii , TeXinfo został zaprojektowany jako oficjalna dokumentacja projektu GNU przez Richarda Stallmana. Jest to zestaw makr na TeX-ie i został zaprojektowany do pisania instrukcji obsługi oprogramowania. Myślę, że Stallman uznał strony podręcznika za nieodpowiednie do tego zadania. Dwie zalety, jakie Texinfo ma w stosunku do stron podręcznika, to hiperłącza, a po drugie, ze względu na łatwość konwersji z innych formatów.
DODATEK: Chociaż nie jest to ściśle związane z pytaniem, pamiętaj, że strony podręcznika nadal są uważane za standardowy system dokumentacji w wolnych systemach uniksopodobnych, takich jak te działające na jądrze Linuksa, a także różne smaki BSD. Na przykład szablony pakietów Debiana zachęcają do dodawania strony podręcznika dla dowolnych poleceń, a także sprawdzania strony podręcznika przez lintian. Texinfo wciąż nie jest szeroko stosowane poza projektem GNU.
źródło
man
formatu zorientowanego na wydruk.Z praktycznego zdaniem,
info
jest najbardziej szczegółowy z trzech poziomów dokumentacji referencyjnego:Trzy poziomy zwykle rosną w szczegółach:
--help
jako powszechna opcja polecenia - krótkie podsumowanie użycia ,man
- klasyczne strony podręcznika man, szybkie odniesienie orazinfo
- bardziej szczegółowy, specyficzny dla GNU podręcznik - pełna, oficjalna dokumentacja .Jeśli
info
strona nie jest dostępna, strona podręcznika zwykle zawiera pełną dokumentację.Zauważ, że strona man zawiera dokładnie takie same informacje, jak dane
--help
wyjściowe wielu poleceń z GNU coreutils - na przykładls
;Porównaj
ls --help
iman ls
przekonaj się, że różnica polega tylko na formowaniu.Domyślny informacji widz
info
.Są bardziej wygodne alternatywy , takie jak dla terminala
pinfo
, dla GUIkonqueror
:pinfo ls
konqueror info:ls
źródło
help
o poleceniu wbudowanych poleceń bashapropos
iwhatis
jako człowiek z opcjami praktycznego wykorzystania.info sed
iinfo grep
porównaj zman sed
iman grep
. Strony podręcznika są bardziej techniczne i przez większość czasu brakuje przykładów. Istnieją wyjątki od tego, co właśnie opisałem, ale powiedziałbym, że dotyczy to większości poleceń.1 - zaawansowana, ale lekka technologia
Strony podręcznika są płaskie.
info
jest drzewem.Oba pozostają oparte na tekście , więc można ich używać podczas opracowywania systemu niskiego poziomu (w przeciwieństwie do http, który wymaga pełnego interfejsu GUI i przeglądarki, zanim będzie można go użyć).
Jest to również przydatne, ponieważ Linux może działać na wielu maszynach o niskim zużyciu zasobów, na przykład można znaleźć rzeczy, które działają na moim Arduino z Atmel
info
.(Historia:
info
jest podobna do gopher , jeśli o tym pamiętasz. To właśnie mieliśmy tuż przed przejściem do GUI OS, a świat eksplodował. Pamiętam, że gopher działał całkiem nieźle w poszukiwaniu informacji i był szybki i prosty. Łatwo go rozszerzać, w pełni tekstowo i szybko).Strony podręcznika nie mogą zawierać obsługiwanych hiperłączy. (W tej technologii jest to po prostu niemożliwe).
info
może i ma wiele obsługiwanych łączy między węzłami lub między węzłami, co znacznie ułatwia szybkie poruszanie się po dużych instrukcjach.2 - zawiera treści nie znalezione na stronach podręcznika man
Wiele standardowych pakietów ma także pakiet siostrzany -doc . Często ta treść znajduje się tylko w środku
info
.Te pakiety dokumentacji dodają broszury wewnątrz informacji, z sekcjami i podsekcjami. W
info
języku lingo są one nazywanenodes
, a węzły mogą zawierać innenodes
w strukturze drzewa.Istnieją polecenia, aby wspinać się po drzewie, oto kilka przykładów:
Jeśli czytasz i przewijasz wiersz po wierszu, odwiedzisz wszystkie sekcje każdej broszury.
Ważne polecenia
l - wróć - mała litera „L”, jak w l ast. To jest jak przycisk Wstecz w przeglądarce internetowej. - Wróć do ostatniego węzła widocznego w tym oknie (początkowo mamy tylko jedno okno). Wow, możemy również podzielić okno dokumentu na pół!
d - moi ludzie - Idź do głównego węzła „ d irectory”. - To jest szczyt drzewa INFO. Zawiera linki do rodzin:
t - moja rodzina - Przejdź do węzła t op tego dokumentu. - Ogólnie spis treści
u - mój rodzic - Idź ú P jeden poziom. np. przejdź z sekcji 2.1 do sekcji 2.
n - moje rodzeństwo - przejdź do węzła n ext na tym poziomie. np. sekcja 2 -> sekcja 3 (nie 2.1)
p - moje rodzeństwo - Przejdź do p węzła revious na tym poziomie. np. sekcja 3 -> sekcja 2
] - moje dzieci - Przejdź do następnego węzła w dokumencie, np. sekcja 2 -> sekcja 2.1
[ - moje dzieci - Przejdź do poprzedniego węzła w dokumencie, np. sekcja 2.1 -> sekcja 2
Nie bardzo też rozumiałem, dlaczego chciałbym korzystać z informacji. Wcześniej się nim zajmowałem i na początku uznałem to za oldschoolowy. Ponieważ jednak potrzebowałem więcej informacji na temat projektu autoconf i zasugerowano mi, że tam właśnie znajduje się ta dokumentacja, ostatnio rzuciłem okiem na inne.
Pierwszą rzeczą, którą musiałem zrobić, było wymyślenie lepszej nawigacji. Pomoc H była dla mnie prawie bezużyteczna. Tak było, dopóki nie zauważyłem, że mogę przewinąć w dół do tej pomocy, ale wtedy było zbyt wiele zamieszania.
Skopiowałem więc tę pomoc i wkleiłem ją w Gnote i zacząłem próbować zrozumieć, jak to
info
działa.Gdy dowiedziałem się więcej, przepisałem ich pomoc dla siebie. Chciałem wiedzieć, jaki jest ich pełny zakres poleceń i jak zostały podzielone na kategorie.
Zauważyłem, że wiele naciśnięć klawiszy zostało zduplikowanych, z 2 lub 3 sposobami wykonania danego polecenia. Zauważyłem również, że wszystko to wyglądało bardzo podobnie do emacsa.
Oto moja ściągawka poleceń informacyjnych :
źródło