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 nazywane nodes
, a węzły mogą zawierać inne nodes
w 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 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 :
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