/
info-stnd.texi
2594 lines (2159 loc) · 91.5 KB
/
info-stnd.texi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\input texinfo.tex @c -*-texinfo-*-
@c We must \input texinfo.tex instead of texinfo, otherwise make
@c distcheck in the Texinfo distribution fails, because the texinfo Info
@c file is made first, and texi2dvi must include . first in the path.
@comment %**start of header
@setfilename info-stnd.info
@include version-stnd.texi
@settitle Stand-alone GNU Info @value{VERSION}
@syncodeindex vr cp
@syncodeindex fn cp
@syncodeindex ky cp
@comment %**end of header
@copying
This manual is for Stand-alone GNU Info (version @value{VERSION},
@value{UPDATED}), a program for viewing documents in Info format
(usually created from Texinfo source files).
Copyright @copyright{} 1992, 1993, 1996, 1997, 1998, 1999,
2001-2023 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled
``GNU Free Documentation License'' in the Texinfo manual.
@end quotation
This document is part of a collection distributed under the GNU Free
Documentation License. If you want to distribute this document
separately from the collection, you can do so by adding a copy of the
license to the document, as described in section 6 of the license.
@end copying
@dircategory Texinfo documentation system
@direntry
* info stand-alone: (info-stnd). Read Info documents without Emacs.
@end direntry
@titlepage
@title Stand-alone GNU Info
@subtitle for version @value{VERSION}, @value{UPDATED}
@author Brian J. Fox
@author and Texinfo maintainers
@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage
@contents
@node Top
@top Stand-alone GNU Info
This documentation describes the stand-alone Info reader which you can
use to read Info documentation.
If you are new to the Info reader, then you can get started by typing
@samp{H} for a list of basic key bindings. You can read through the
rest of this manual by typing @key{SPC} and @key{DEL} (or @key{Space}
and @key{Backspace}) to move forwards and backwards in it.
@node Stand-alone Info
@nodedescription What is Info?
@chapter Stand-alone Info
The @dfn{Info} program described here is a stand-alone program, part
of the Texinfo distribution, which is used to view Info files on a
text terminal. @dfn{Info files} are typically the result of
processing Texinfo files with the program @code{texi2any} (also in the
Texinfo distribution).
Texinfo itself (@pxref{Top,,, texinfo, Texinfo}) is a documentation
system that uses a single source file to produce both on-line
information and printed output. You can typeset and print the files
that you read in Info.
@cindex Emacs Info reader
@cindex Info files, reading in Emacs
GNU Emacs also provides an Info reader (just type @code{@kbd{M-x} info}
in Emacs). Emacs Info and stand-alone Info have nearly identical user
interfaces, although customization and other details are different
(this manual explains the stand-alone Info reader). The Emacs Info
reader supports the X Window System and other such bitmapped
interfaces, not just plain ASCII, so if you want a prettier display
for Info files, you should try it. You can use Emacs Info without
using Emacs for anything else. (Type @kbd{C-x C-c} to exit; this also
works in the stand-alone Info reader.) @xref{Top,,, info, Info} for a
tutorial and more background information about the Info system, as well
as information about the Info reader that is part of GNU Emacs,
@cindex bugs, reporting
Please report bugs in this stand-alone Info program to
@email{bug-texinfo@@gnu.org}. Bugs in the Emacs Info reader should be
sent to @email{bug-gnu-emacs@@gnu.org}.
@node Node Commands
@nodedescription Commands for selecting a new node.
@chapter Selecting a Node
@cindex nodes, selection of
The most basic node commands are @samp{n}, @samp{p}, and @samp{u}.
These move you around the node structure of the file:
@table @asis
@item @kbd{n} (@code{next-node})
@kindex n
@findex next-node
Select the `Next' node.
@item @kbd{p} (@code{prev-node})
@kindex p
@findex prev-node
Select the `Prev' node.
@item @kbd{u} (@code{up-node})
@kindex u
@findex up-node
Select the `Up' node.
@end table
The top line of each Info node contains @dfn{pointers} which describe
where the next, previous, and up nodes are.
The nodes in an Info file are conventionally arranged in a hierarchical
structure; for example, the `Next' pointer in a section of a chapter
takes you to the next section in the same chapter, while the `Up' pointer
takes you to the higher-level node for the chapter as a whole.
You can select a node that you have already viewed
by using the @samp{l} command---this stands for ``last'':
@table @asis
@item @kbd{l} (@code{history-node})
@kindex l
@findex history-node
Move backwards through the history of visited nodes for this
window. The current node is discarded from the history.
This is useful when you follow a reference to another node
to read about a related issue, and would like then to resume
reading at the same place where you started.
@end table
@noindent
Two additional commands, @samp{t} and @samp{d}, select special nodes:
@table @asis
@item @kbd{t} (@code{top-node})
@kindex t
@findex top-node
Select the node @samp{Top} in the current Info file.
@item @kbd{d} (@code{dir-node})
@kindex d
@findex dir-node
Select the directory node (i.e., the node @samp{(dir)}). This contains
a menu referencing all the available Info files that are installed on your
system.
@end table
@findex execute-command
In the command descriptions in this manual,
the @kbd{M-x} command names are displayed in parentheses.
@kbd{M-x} is itself a command (@code{execute-command})
letting you run a command by name. For example, you could
select the next node with @kbd{M-x next-node}.
@kbd{C-@var{x}} means press the @key{Ctrl} key and
the key @var{x}. @kbd{M-@var{x}} means press the @key{Meta} key
and the key @var{x}. (@key{Meta} is usually labeled as @key{Alt}).
@key{SPC} is the space bar. The other keys are usually called by
the names printed on them. This notation to describe keystrokes is
the same as that used within the Emacs manual (@pxref{User Input,,,
emacs, The GNU Emacs Manual}).
Many Info commands can take a @dfn{numeric argument};
see @ref{Miscellaneous Commands, @code{universal-argument}} to find
out how to supply one.
@node More Node Commands
@nodedescription Further commands for changing the node.
@chapter Further Commands for Selecting a Node
This chapter describes some other commands which select a different node.
@table @asis
@item @kbd{<} (@code{first-node})
@kindex <
@findex first-node
Selects the first node which appears in this file. This node is most
often @samp{Top}, but it does not have to be. With a numeric argument
@var{N}, select the @var{N}th node (the first node is node 1). An
argument of zero is the same as the argument of 1.
@item @kbd{>} (@code{last-node})
@kindex >
@findex last-node
Select the last node which appears in this file. With a numeric argument
@var{N}, select the @var{N}th node (the first node is node 1). An
argument of zero is the same as no argument, i.e., it selects the last
node.
@item @kbd{]} (@code{global-next-node})
@kindex ]
@findex global-next-node
Move forward through the node structure. If the node that you are
currently viewing has a menu, select the first menu item. Otherwise,
if this node has a @samp{Next} pointer, follow it. If there is no menu
and no @samp{Next} pointer, then follow @samp{Up} pointers until there
is a @samp{Next} pointer, and then follow it.
@item @kbd{[} (@code{global-prev-node})
@kindex [
@findex global-prev-node
Move backward through the node structure. If the node that you are
currently viewing has a @samp{Prev} pointer, that node is selected.
Otherwise, if the node has an @samp{Up} pointer, that node is selected,
and if it has a menu, the last item in the menu is selected.
You can get the same behavior as @code{global-next-node} and
@code{global-prev-node} while simply scrolling through the file with
@key{SPC} and @key{DEL} (@pxref{scroll-behavior}).
@anchor{goto-node}
@item @kbd{g} (@code{goto-node})
@kindex g
@findex goto-node
Read the name of a node and select it. If the desired node resides in
some other file, you must type the node as it appears in that Info file,
and include the name of the other file. For example,
@example
@code{g(emacs)Buffers}
@end example
@noindent
finds the node @samp{Buffers} in the Info file @file{emacs}.
While reading the node name, completion (@pxref{The Echo Area,
completion}) is only done for the nodes which reside in one of the Info
files that were loaded in the current Info session.
@anchor{goto-invocation}
@item @kbd{O} (@code{goto-invocation})
@kindex O
@findex goto-invocation
@cindex finding the Invocation node
Read the name of a program and look for a node in the current Info file
which describes the invocation and the command-line options for that
program. The default program name is derived from the name of the
current Info file. This command does the same as the
@samp{--show-options} command-line option (@pxref{--show-options}), but
it also allows to specify the program name; this is important for those
manuals which describe several programs.
If you need to find the Invocation node of a program that is documented
in another Info file, you need to visit that file before invoking
@samp{O}. For example, if you are reading the Emacs manual and want to
see the command-line options of the @code{texi2any} program, type @kbd{g
(texinfo) @key{RET}} and then @kbd{O texi2any @key{RET}}. If you don't
know what Info file documents the command, or if invoking @samp{O}
doesn't display the right node, go to the @samp{(dir)} node (using the
@samp{d} command) and invoke @samp{O} from there.
@item @kbd{G} (@code{menu-sequence})
@kindex G
@findex menu-sequence
@cindex menu, following, from inside Info
Read a sequence of menu entries and follow it. Info prompts for a
sequence of menu items separated by commas. (Since commas are not
allowed in a node name, they are a natural choice for a delimiter in a
list of menu items.) Info then looks up the first item in the menu of
the node @samp{(dir)} (if the @samp{(dir)} node cannot be found, Info
uses @samp{Top}). If such an entry is found, Info goes to the node it
points to and looks up the second item in the menu of that node, etc.
In other words, you can specify a complete path which descends through
the menu hierarchy of a particular Info file starting at the
@samp{(dir)} node. This has the same effect as if you typed the menu
item sequence on Info's command line, see @ref{command-line menu items,,
Info command-line arguments processing}. For example,
@example
@kbd{G Texinfo,Overview,Reporting Bugs @key{RET}}
@end example
@noindent
displays the node @samp{Reporting Bugs} in the Texinfo manual. (You
don't actually need to type the menu items in their full length, or in
their exact letter-case. However, if you do type the menu items
exactly, Info will find it faster.)
If any of the menu items you type are not found, Info stops at the last
entry it did find and reports an error.
@item @kbd{C-x C-f} (@code{view-file})
@kindex C-x C-f
@findex view-file
Read the name of a file and selects the entire file. The command
@example
@code{C-x C-f @var{filename}}
@end example
is equivalent to typing
@example
@code{g(@var{filename})*}
@end example
@item @kbd{C-x C-b} (@code{list-visited-nodes})
@kindex C-x C-b
@findex list-visited-nodes
Make a window containing a menu of all of the currently visited nodes.
This window becomes the selected window, and you may use the standard
Info commands within it.
@item @kbd{C-x @kbd{b}} (@code{select-visited-node})
@kindex C-x b
@findex select-visited-node
Select a node which has been previously visited in a visible window.
This is similar to @samp{C-x C-b} followed by @samp{m}, but no window is
created.
@item @code{@kbd{M-x} man}
@findex man
@cindex man pages, displaying
Read the name of a man page to load and display. This uses the @command{man}
command on your system to retrieve the contents of the requested man page.
See also @ref{--raw-escapes}.
@end table
@node Cursor Commands
@nodedescription Commands which move the cursor within a node.
@chapter Moving the Cursor
@cindex cursor, moving
@cindex moving the cursor
GNU Info has several commands which allow you to move the cursor about
the screen.
With a numeric argument, the motion commands
are simply executed that many times; for example, a numeric argument
of 4 given to @code{next-line} causes the cursor to move down 4 lines.
With a negative numeric argument, the motion is reversed; an argument
of @minus{}4 given to the @code{next-line} command would cause the
cursor to move @emph{up} 4 lines.
@table @asis
@item @kbd{C-n} (@code{next-line})
@itemx @key{DOWN} (an arrow key)
@kindex C-n
@kindex DOWN (an arrow key)
@findex next-line
Move the cursor down to the next line.
@item @kbd{C-p} (@code{prev-line})
@itemx @key{UP} (an arrow key)
@kindex C-p
@kindex UP (an arrow key)
@findex prev-line
Move the cursor up to the previous line.
@item @kbd{C-a} (@code{beginning-of-line})
@kindex C-a, in Info windows
@findex beginning-of-line
Move the cursor to the start of the current line.
@item @kbd{C-e} (@code{end-of-line})
@kindex C-e, in Info windows
@findex end-of-line
Move the cursor to the end of the current line.
@item @kbd{C-f} (@code{forward-char})
@itemx @key{RIGHT} (an arrow key)
@kindex C-f, in Info windows
@kindex RIGHT (an arrow key)
@findex forward-char
Move the cursor forward a character.
@item @kbd{C-b} (@code{backward-char})
@itemx @key{LEFT} (an arrow key)
@kindex C-b, in Info windows
@kindex LEFT (an arrow key)
@findex backward-char
Move the cursor backward a character.
@item @kbd{M-f} (@code{forward-word})
@kindex M-f, in Info windows
@findex forward-word
Move the cursor forward a word.
@item @kbd{M-b} (@code{backward-word})
@kindex M-b, in Info windows
@findex backward-word
Move the cursor backward a word.
@item @kbd{M-<} (@code{beginning-of-node})
@itemx @kbd{b}
@kindex b, in Info windows
@kindex M-<
@findex beginning-of-node
Move the cursor to the start of the current node.
@item @kbd{M->} (@code{end-of-node})
@itemx @kbd{e}
@kindex M->
@kindex e, in Info windows
@findex end-of-node
Move the cursor to the end of the current node.
@item @kbd{M-r} (@code{move-to-window-line})
@kindex M-r
@findex move-to-window-line
Move the cursor to a specific line of the window. Without a numeric
argument, @code{M-r} moves the cursor to the start of the line in the
center of the window. With a numeric argument of @var{n}, @code{M-r}
moves the cursor to the start of the @var{n}th line in the window.
@end table
@node Scrolling Commands
@nodedescription Commands for reading the text within a node.
@chapter Moving Text Within a Window
@cindex scrolling
Sometimes you are looking at a screenful of text, and only part of the
current paragraph you are reading is visible on the screen. The
commands detailed in this section are used to shift which part of the
current node is visible on the screen.
@table @asis
@item @key{SPC} (@code{scroll-forward})
@kindex SPC, in Info windows
@itemx @key{NEXT}
@kindex NEXT
@findex scroll-forward
Shift the text in this window up. That is, show more of the node which
is currently below the bottom of the window. With a numeric argument,
show that many more lines at the bottom of the window; a numeric
argument of 4 would shift all of the text in the window up 4 lines
(discarding the top 4 lines), and show you four new lines at the bottom
of the window. Without a numeric argument, @key{SPC} takes the bottom
two lines of the window and places them at the top of the window,
redisplaying almost a completely new screenful of lines. If you are at
the end of a node, @key{SPC} takes you to the ``next'' node, so that you can
read an entire manual from start to finish by repeating @key{SPC}.
@kindex PageDown
The @key{NEXT} key is known as the @key{PageDown} key on some
keyboards.
@item @kbd{C-v} (@code{scroll-forward-page-only})
@kindex C-v
@findex scroll-forward-page-only
Shift the text in this window up. This is identical to the @key{SPC}
operation above, except that it never scrolls beyond the end of the
current node.
@item @code{@kbd{M-x} scroll-forward-page-only-set-window}
@findex scroll-forward-page-only-set-window
Scroll forward, like with @kbd{C-v}, but if a numeric argument is
specified, it becomes the default scroll size for subsequent
@code{scroll-forward} and @code{scroll-backward} commands and their
ilk.
@item @key{DEL} (@code{scroll-backward})
@kindex DEL, in Info windows
@item @key{PREVIOUS}
@kindex PREVIOUS
@findex scroll-backward
Shift the text in this window down. The inverse of
@code{scroll-forward}.
If you are at the start of a node, @key{DEL} takes you to the
``previous'' node, so that you can read an entire manual from finish to
start by repeating @key{DEL}. The default scroll size can be changed by
invoking the (@code{scroll-backward-page-only-set-window}) command with
a numeric argument.
@kindex BS (backspace)
If your keyboard lacks the @key{DEL} key, look for a key called
@key{BS}, or @samp{Backspace}, sometimes designated with an arrow which
points to the left, which should perform the same function.
@kindex PageUp
The @key{PREVIOUS} key is the @key{PageUp} key on many keyboards. Emacs
refers to it by the name @key{PRIOR}.
@item @kbd{M-v} (@code{scroll-backward-page-only})
@kindex M-v
@findex scroll-backward-page-only
Shift the text in this window down. The inverse of
@code{scroll-forward-page-only}. Does not scroll beyond the start of
the current node. The default scroll size can be changed by invoking
the @code{scroll-backward-page-only-set-window} command with a numeric
argument.
@item @code{@kbd{M-x} scroll-backward-page-only-set-window}
@findex scroll-backward-page-only-set-window
Scroll backward, like with @kbd{M-v}, but if a numeric argument is
specified, it becomes the default scroll size for subsequent
@code{scroll-forward} and @code{scroll-backward} commands.
@item @code{@kbd{M-x} down-line}
@findex down-line
Scroll forward by one line. With a numeric argument, scroll forward
that many lines.
@item @code{@kbd{M-x} up-line}
@findex up-line
Scroll backward one line. With a numeric argument, scroll backward that
many lines.
@item @code{@kbd{M-x} scroll-half-screen-down}
@findex scroll-half-screen-down
Scroll forward by half of the screen size. With a numeric argument,
scroll that many lines. If an argument is specified, it becomes the new
default number of lines to scroll for subsequent
@code{scroll-half-screen-down} and @code{scroll-half-screen-up} commands.
@item @code{@kbd{M-x} scroll-half-screen-up}
@findex scroll-half-screen-up
Scroll back by half of the screen size. With a numeric argument,
scroll that many lines. If an argument is specified, it becomes the new
default number of lines to scroll for subsequent
@code{scroll-half-screen-down} and @code{scroll-half-screen-up}
commands.
@end table
@cindex scrolling through node structure
The @code{scroll-forward} and @code{scroll-backward} commands can also
move forward and backward through the node structure of the file. If
you press @key{SPC} while viewing the end of a node, or @key{DEL} while
viewing the beginning of a node, what happens is controlled by the
variable @code{scroll-behavior} (@pxref{scroll-behavior}).
The @code{scroll-forward-page-only} and @code{scroll-backward-page-only}
commands never scroll beyond the current node.
@node Searching Commands
@nodedescription Commands for searching an Info file.
@chapter Searching an Info File
@cindex searching
GNU Info allows you to search for a sequence of characters throughout an
entire Info file. Here are the commands to do this:
@table @asis
@item @kbd{s} (@code{search})
@itemx @kbd{/}
@kindex s
@kindex /
@findex search
@cindex regular expression search
Read a string in the echo area and search for it, either as a regular
expression (by default) or a literal string. If the string includes
upper-case characters, the Info file is searched case-sensitively;
otherwise Info ignores the letter case. With a numeric argument of
@var{N}, search for @var{N}th occurrence of the string. Negative
arguments search backwards.
@item @kbd{?} (@code{search-backward})
@kindex ?
@findex search-backward
Read a string in the echo area and search backward through the Info file
for that string. If the string includes upper-case characters, the Info
file is searched case-sensitively; otherwise Info ignores the letter
case. With a numeric argument of @var{N}, search for @var{N}th
occurrence of the string. Negative arguments search forward.
@anchor{repeated-search}
@item @kbd{C-x @kbd{n}} (@code{search-next})
@itemx @kbd{@}}
@kindex C-x n
@kindex @}
@findex search-next
@cindex repeated search
Search forwards for the string used for the last search command.
Case sensitivity and use of regular expressions are kept the same. With
a numeric argument of @var{n}, search for @var{n}th next occurrence.
By default, the search starts at the position immediately following
the cursor. However, if the variable @code{search-skip-screen}
(@pxref{Variables,, @code{search-skip-screen}}) is set, it starts at
the beginning of the next page, thereby skipping all visibly displayed
lines.
@item @kbd{C-x @kbd{N}} (@code{search-previous})
@itemx @kbd{@{}
@kindex C-x N
@kindex @{
@findex search-previous
Just like @code{search-next}, but in reverse. You can use
@code{search-next} and @code{search-previous} together to move forward
and backward through matches. @code{search-previous} usually goes to
the place in the file that was displayed before an immediately preceding
@code{search-next}, and vice versa.@footnote{This sometimes doesn't
happen when @code{search-skip-screen} is @code{On}, and the search goes
across nodes.}
@item @kbd{R} (@code{toggle-regexp})
@kindex R
@findex toggle-regexp
Toggle between using regular expressions and literal strings for
searching. Info uses so-called `extended' regular expression syntax
(@pxref{Regular Expressions,,, grep, GNU Grep}).
@item @kbd{S} (@code{search-case-sensitively})
@kindex S
@findex search-case-sensitively
@cindex search, case-sensitive
@cindex case-sensitive search
Read a string in the echo area and search for it case-sensitively, even
if the string includes only lower-case letters. With a numeric argument
of @var{N}, search for @var{N}th occurrence of the string. Negative
arguments search backwards.
@item @kbd{C-s} (@code{isearch-forward})
@kindex C-s
@findex isearch-forward
@cindex incremental search
Interactively search forward through the Info file for a string as you
type it. If the string includes upper-case characters, the search is
case-sensitive; otherwise Info ignores the letter case.
@item @kbd{C-r} (@code{isearch-backward})
@kindex C-r
@findex isearch-backward
Interactively search backward through the Info file for a string as
you type it. If the string includes upper-case characters, the search
is case-sensitive; otherwise Info ignores the letter case.
@item @kbd{M-/} (@code{tree-search})
@findex tree-search
Recursively search this node and any subnodes listed in menus for a
string.
@item @kbd{M-@}} (@code{tree-search-next})
@itemx @kbd{M-@{} (@code{tree-search-previous})
@findex tree-search-next
@findex tree-search-previous
Go forwards and backwards through the matches for an active tree search.
@end table
The most basic searching command is @samp{s} or @samp{/}
(@code{search}). The @samp{s} command prompts you for a string in the
echo area, and then searches the remainder of the Info file for an
occurrence of that string. If the string is found, the node containing
it is selected, and the cursor is left positioned at the start of the
found string. Subsequent @samp{s} commands show you the default search
string; pressing @key{RET} instead of typing a new string will use the
default search string.
@dfn{Incremental searching} is similar to basic searching, but the
string is looked up while you are typing it, instead of waiting until
the entire search string has been specified.
The tree search can be used from the @code{dir} node to search through
all Info files installed on the system. It can also be used to search
through a particular chapter of a manual when you are not interested in
matches in other chapters.
@vindex highlight-searches
@findex clear-search
If the @code{highlight-searches} variable is set, matches from search
commands will be highlighted. @xref{Variables,, @code{highlight-searches}}.
Use the @code{@kbd{M-x} clear-search} command to clear any search highlights.
@cindex search, and case-sensitivity
@cindex case-sensitivity, and search
Both incremental and non-incremental search by default ignore the case
of letters when comparing the Info file text with the search string.
However, an uppercase letter in the search string makes the search
case-sensitive. You can force a case-sensitive non-incremental search,
even for a string that includes only lower-case letters, by using the
@samp{S} command (@code{search-case-sensitively}). The @samp{n} and
@samp{N} commands operate case-sensitively if the last search command
was @samp{S}.
Normally, the search pattern should not be shorter than some
predefined limit. By default, this limit is set to 1 character.
@xref{min-search-length} for more information on this.
@node Index Commands
@nodedescription Commands for looking up in indices.
@chapter Index Commands
@cindex index
@cindex indices
@cindex indexes
GNU Info has commands to search through the indices of an Info file,
which helps you find areas within an Info file which discuss a
particular topic.
@table @asis
@item @kbd{i} (@code{index-search})
@kindex i
@findex index-search
@cindex index, searching
@cindex searching, in the indices
Look up a string in the indices for this Info file, and select a node
to which the found index entry points.
@item @kbd{I} (@code{virtual-index})
@kindex I
@findex virtual-index
@cindex index, virtual
Look up a string in the indices for this Info file, and show all the
matches in a new virtual node, synthesized on the fly.
@item @kbd{,} (@code{next-index-match})
@kindex ,
@findex next-index-match
Move to the node containing the next matching index item from the last
@samp{i} command.
@item @code{@kbd{M-x} index-apropos}
@findex index-apropos
Grovel the indices of all the known Info files on your system for a
string, and build a menu of the possible matches.
@end table
The most efficient means of finding something quickly in a manual is
the @samp{i} command (@code{index-search}). This command prompts for
a string, and then looks for that string in all the indices of the
current Info manual. If it finds a matching index entry, it displays
the node to which that entry refers and prints the full text of the
entry in the echo area. You can press @samp{,}
(@code{next-index-match}) to find more matches. A good Info manual
has all of its important concepts indexed, so the @samp{i} command
lets you use a manual as a reference.
If you don't know what manual documents something, try the @kbd{M-x
index-apropos} command. It prompts for a string and then looks up
that string in all the indices of all the Info documents installed on
your system. It can also be invoked from the command line; see
@ref{--apropos}.
@node Xref Commands
@nodedescription Commands for selecting cross-references.
@chapter Selecting Cross-references
We have already discussed the @samp{Next}, @samp{Prev}, and @samp{Up}
pointers which appear at the top of a node, referring you to a
different node.
In addition, a node may contain a @dfn{menu}, as well as
@dfn{cross-references} (@dfn{xrefs} for short) interspersed through
the text of the node. Cross-references may possibly refer to a node in
another Info file.
@node Parts of an Xref
@nodedescription What a cross-reference is made of.
@section Parts of an Xref
Here is a sample menu entry showing the parts of a cross-reference:
@example
* Foo Label: Foo Target. More information about Foo.
@end example
@noindent
The reference has two parts: the first part is called the
@dfn{label}; it is the name that you can use to refer to the
cross-reference, and the second is the @dfn{target}; it is the full
name of the node that the cross-reference points to. The target is
separated from the label by a single colon @samp{:}; first the
label appears, and then the target.
The @samp{.} ends the name of the target. The @samp{.} is
not part of the target; it serves only to let Info know where the target
name ends.
A shorthand way of specifying references allows two adjacent colons to
stand for a target name which is the same as the label name:
@example
* Foo Commands:: Commands pertaining to Foo.
@end example
In the above example, the name of the target is the same as the name of
the label, in this case @code{Foo Commands}.
You will normally see two types of cross-reference while viewing nodes:
@dfn{menu} references, and @dfn{note} references. Menu references
appear within a node's menu; they begin with a @samp{*} at the beginning
of a line, and continue with a label, a target, and a comment which
describes what the contents of the node pointed to contains.
Note references appear within the body of the node text; they begin with
@code{*Note}, and continue with a label and a target.
Like @samp{Next}, @samp{Prev}, and @samp{Up} pointers, cross-references
can point to any valid node. They are used to refer you to a place
where more detailed information can be found on a particular subject.
Here is a cross-reference which points to a node within the Texinfo
documentation: @xref{Cross References,, Cross-refrences, texinfo, the Texinfo
Manual}, for more information on creating your own Texinfo
cross-references.
@node Selecting Xrefs
@nodedescription Commands for selecting menu or note items.
@section Selecting Xrefs
The following table lists the Info commands which operate on menu items.
@table @asis
@item @kbd{1} (@code{menu-digit})
@itemx @kbd{2} @dots{} @kbd{9}
@itemx @kbd{M-1}, vi-like operation
@itemx @kbd{M-2} @dots{} @kbd{M-9}, vi-like operation
@cindex 1 @dots{} 9, in Info windows
@cindex M-1 @dots{} M-9, vi-like operation
@kindex 1 @dots{} 9, in Info windows
@kindex M-1 @dots{} M-9, vi-like operation
@findex menu-digit
Within an Info window, pressing a single digit, (such as @samp{1}),
selects that menu item, and places its node in the current window.
For convenience, there is one exception; pressing @samp{0} selects the
@emph{last} item in the node's menu. When @samp{--vi-keys} is in
effect, digits set the numeric argument, so these commands are remapped
to their @samp{M-} varieties. For example, to select the last menu
item, press @kbd{M-0}.
@item @kbd{0} (@code{last-menu-item})
@itemx @kbd{M-0}, vi-like operation
@kindex 0, in Info windows
@kindex M-0, vi-like operation
@findex last-menu-item
Select the last item in the current node's menu.
@item @kbd{m} (@code{menu-item})
@kindex m
@findex menu-item
Reads the name of a menu item in the echo area and selects its node.
Completion is available while reading the menu label. @xref{The Echo
Area, completion}.
@item @code{@kbd{M-x} find-menu}
@findex find-menu
Move the cursor to the start of this node's menu.
@end table
This table lists the Info commands which operate on cross-references.
@table @asis
@item @kbd{f} (@code{xref-item})
@itemx @kbd{r}
@kindex f
@kindex r
@findex xref-item
Reads the name of a note cross-reference in the echo area and selects
its node. Completion is available while reading the cross-reference
label. @xref{The Echo Area, completion}.
@end table
Finally, the next few commands operate on menu or note references alike:
@table @asis
@item @key{TAB} (@code{move-to-next-xref})
@kindex TAB, in Info windows
@findex move-to-next-xref
Move the cursor to the start of the next nearest menu item or note
reference in this node. You can then use @key{RET}
(@code{select-reference-this-line}) to select the menu or note reference.
@item @kbd{M-@key{TAB}} (@code{move-to-prev-xref})
@itemx @kbd{BackTab}
@kindex M-TAB, in Info windows
@findex move-to-prev-xref
Move the cursor the start of the nearest previous menu item or note
reference in this node.
@kindex Shift-TAB, in Info windows
@kindex BackTab, in Info windows
The @kbd{BackTab} key can be produced on some terminals with
@kbd{Shift-@key{TAB}}.
@item @key{RET} (@code{select-reference-this-line})
@kindex RET, in Info windows
@findex select-reference-this-line
Select the menu item or note reference appearing on this line.
@end table
@node Window Commands
@nodedescription Commands which manipulate multiple windows.
@chapter Manipulating Multiple Windows
@cindex windows, manipulating
A @dfn{window} is a place to show the text of a node. Windows have a
view area where the text of the node is displayed, and an associated
@dfn{mode line}, which briefly describes the node being viewed.
GNU Info supports multiple windows appearing in a single screen; each
window is separated from the next by its mode line. At any time, there
is only one @dfn{active} window, that is, the window in which the cursor
appears. There are commands available for creating windows, changing
the size of windows, selecting which window is active, and for deleting
windows.
@node The Mode Line
@nodedescription What appears in the mode line?
@section The Mode Line
A @dfn{mode line} is a line of inverse video which appears at the bottom
of an Info window. It describes the contents of the window just above
it; this information includes the name of the file and node appearing in
that window, the number of screen lines it takes to display the node,
and the percentage of text that is above the top of the window.
Here is a sample mode line for a window containing a file
named @file{dir}, showing the node @samp{Top}.
@example
@group
-----Info: (dir)Top, 40 lines --Top-------------------------------------
^^ ^ ^^^ ^^
(file)Node #lines where
@end group
@end example
Truncation of long lines (as opposed to wrapping them to the next
display line, @pxref{Scrolling Commands, toggle-wrap}) is indicated by a
@samp{$} at the left edge of the mode line:
@example
--$--Info: (texinfo)Top, 480 lines --Top--------------------------------
@end example
When Info makes a node internally, such that there is no corresponding
info file on disk, the name of the node is surrounded by asterisks
(@samp{*}). The name itself tells you what the contents of the window
are; the sample mode line below shows an internally constructed node
showing possible completions:
@example
-----Info: *Completions*, 7 lines --All---------------------------------
@end example
@node Basic Windows
@nodedescription Manipulating windows in Info.
@section Window Commands
It can be convenient to view more than one node at a time. To allow
this, Info can display more than one @dfn{window}. Each window has its
own mode line (@pxref{The Mode Line}) and history of nodes viewed in that
window (@pxref{Node Commands, , @code{history-node}}).
@table @asis
@item @kbd{C-x @kbd{o}} (@code{next-window})
@cindex windows, selecting
@kindex C-x o
@findex next-window
Select the next window on the screen. Note that the echo area can only be
selected if it is already in use, and you have left it temporarily.
Normally, @samp{C-x o} simply moves the cursor into the next window on
the screen, or if you are already within the last window, into the first
window on the screen. Given a numeric argument, @samp{C-x o} moves over
that many windows. A negative argument causes @samp{C-x o} to select
the previous window on the screen.
@item @code{@kbd{M-x} prev-window}
@findex prev-window
Select the previous window on the screen. This is identical to
@samp{C-x o} with a negative argument.
@item @kbd{C-x @kbd{2}} (@code{split-window})
@cindex windows, creating
@kindex C-x 2
@findex split-window
Split the current window into two windows, both showing the same node.
Each window is one half the size of the original window, and the
cursor remains in the original window. The variable
@code{automatic-tiling} can cause all of the windows on the screen to
be resized for you automatically (@pxref{Variables,,
@code{automatic-tiling}}).
@item @kbd{C-x @kbd{0}} (@code{delete-window})
@cindex windows, deleting
@kindex C-x 0
@findex delete-window
Delete the current window from the screen. If you have made too many
windows and your screen appears cluttered, this is the way to get rid of
some of them.
@item @kbd{C-x @kbd{1}} (@code{keep-one-window})
@kindex C-x 1