| 1 | \input texinfo.tex    @c -*-texinfo-*- | 
|---|
| 2 | @comment $Id: info-stnd.texi,v 1.9 2004/12/14 16:58:15 karl Exp $ | 
|---|
| 3 | @c We must \input texinfo.tex instead of texinfo, otherwise make | 
|---|
| 4 | @c distcheck in the Texinfo distribution fails, because the texinfo Info | 
|---|
| 5 | @c file is made first, and texi2dvi must include . first in the path. | 
|---|
| 6 | @comment %**start of header | 
|---|
| 7 | @setfilename info-stnd.info | 
|---|
| 8 | @include version-stnd.texi | 
|---|
| 9 | @settitle GNU Info @value{VERSION} | 
|---|
| 10 | @syncodeindex vr cp | 
|---|
| 11 | @syncodeindex fn cp | 
|---|
| 12 | @syncodeindex ky cp | 
|---|
| 13 | @comment %**end of header | 
|---|
| 14 |  | 
|---|
| 15 | @copying | 
|---|
| 16 | This manual is for GNU Info (version @value{VERSION}, @value{UPDATED}), | 
|---|
| 17 | a program for viewing documents in Info format (usually created from | 
|---|
| 18 | Texinfo source files). | 
|---|
| 19 |  | 
|---|
| 20 | Copyright @copyright{} 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002, | 
|---|
| 21 | 2003, 2004 Free Software Foundation, Inc. | 
|---|
| 22 |  | 
|---|
| 23 | @quotation | 
|---|
| 24 | Permission is granted to copy, distribute and/or modify this document | 
|---|
| 25 | under the terms of the GNU Free Documentation License, Version 1.1 or | 
|---|
| 26 | any later version published by the Free Software Foundation; with no | 
|---|
| 27 | Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' | 
|---|
| 28 | and with the Back-Cover Texts as in (a) below.  A copy of the | 
|---|
| 29 | license is included in the section entitled ``GNU Free Documentation | 
|---|
| 30 | License.'' | 
|---|
| 31 |  | 
|---|
| 32 | (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify | 
|---|
| 33 | this GNU Manual, like GNU software.  Copies published by the Free | 
|---|
| 34 | Software Foundation raise funds for GNU development.'' | 
|---|
| 35 | @end quotation | 
|---|
| 36 | @end copying | 
|---|
| 37 |  | 
|---|
| 38 | @dircategory Texinfo documentation system | 
|---|
| 39 | @direntry | 
|---|
| 40 | * info standalone: (info-stnd).            Read Info documents without Emacs. | 
|---|
| 41 | * infokey: (info-stnd)Invoking infokey.    Compile Info customizations. | 
|---|
| 42 | @end direntry | 
|---|
| 43 |  | 
|---|
| 44 | @titlepage | 
|---|
| 45 | @title GNU Info | 
|---|
| 46 | @subtitle for version @value{VERSION}, @value{UPDATED} | 
|---|
| 47 | @author Brian J. Fox (bfox@@gnu.org) | 
|---|
| 48 | @page | 
|---|
| 49 | @vskip 0pt plus 1filll | 
|---|
| 50 | @insertcopying | 
|---|
| 51 | @end titlepage | 
|---|
| 52 |  | 
|---|
| 53 | @contents | 
|---|
| 54 |  | 
|---|
| 55 | @ifnottex | 
|---|
| 56 | @node Top | 
|---|
| 57 | @top GNU Info | 
|---|
| 58 |  | 
|---|
| 59 | @insertcopying | 
|---|
| 60 |  | 
|---|
| 61 | This documentation is different from the documentation for the Info | 
|---|
| 62 | reader that is part of GNU Emacs.  If you do not know how to use Info, | 
|---|
| 63 | but have a working Info reader, you should read the Emacs documentation | 
|---|
| 64 | first, as it includes more background information and a thorough tutorial. | 
|---|
| 65 | @end ifnottex | 
|---|
| 66 |  | 
|---|
| 67 | @menu | 
|---|
| 68 | * What is Info::                What is Info? | 
|---|
| 69 | * Invoking Info::               Options you can pass on the command line. | 
|---|
| 70 | * Cursor Commands::             Commands which move the cursor within a node. | 
|---|
| 71 | * Scrolling Commands::          Commands for reading the text within a node. | 
|---|
| 72 | * Node Commands::               Commands for selecting a new node. | 
|---|
| 73 | * Searching Commands::          Commands for searching an Info file. | 
|---|
| 74 | * Xref Commands::               Commands for selecting cross references. | 
|---|
| 75 | * Window Commands::             Commands which manipulate multiple windows. | 
|---|
| 76 | * Printing Nodes::              How to print out the contents of a node. | 
|---|
| 77 | * Miscellaneous Commands::      A few commands that defy categories. | 
|---|
| 78 | * Variables::                   How to change the default behavior of Info. | 
|---|
| 79 | * Custom Key Bindings::         How to define your own key-to-command bindings. | 
|---|
| 80 | * Copying This Manual::         The GNU Free Documentation License. | 
|---|
| 81 | * Index::                       Global index containing keystrokes, | 
|---|
| 82 | command names, variable names, | 
|---|
| 83 | and general concepts. | 
|---|
| 84 | @end menu | 
|---|
| 85 |  | 
|---|
| 86 |  | 
|---|
| 87 | @node What is Info | 
|---|
| 88 | @chapter What is Info? | 
|---|
| 89 |  | 
|---|
| 90 | @dfn{Info} is a program which is used to view Info files on an ASCII | 
|---|
| 91 | terminal.  @dfn{Info files} are the result of processing Texinfo files | 
|---|
| 92 | with the program @code{makeinfo} or with one of the Emacs commands, such | 
|---|
| 93 | as @code{M-x texinfo-format-buffer}.  Texinfo itself is a documentation | 
|---|
| 94 | system that uses a single source file to produce both on-line | 
|---|
| 95 | information and printed output.  You can typeset and print the files | 
|---|
| 96 | that you read in Info. | 
|---|
| 97 |  | 
|---|
| 98 |  | 
|---|
| 99 | @node Invoking Info | 
|---|
| 100 | @chapter Invoking Info | 
|---|
| 101 |  | 
|---|
| 102 | @cindex Info, invoking | 
|---|
| 103 | @cindex invoking Info | 
|---|
| 104 | @cindex command line options | 
|---|
| 105 | @cindex options, command line | 
|---|
| 106 | @cindex arguments, command line | 
|---|
| 107 |  | 
|---|
| 108 | GNU Info accepts several options to control the initial node being | 
|---|
| 109 | viewed, and to specify which directories to search for Info files.  Here | 
|---|
| 110 | is a template showing an invocation of GNU Info from the shell: | 
|---|
| 111 |  | 
|---|
| 112 | @example | 
|---|
| 113 | info [@var{option}]@dots{} [@var{menu-item}@dots{}] | 
|---|
| 114 | @end example | 
|---|
| 115 |  | 
|---|
| 116 | The program accepts the following options: | 
|---|
| 117 |  | 
|---|
| 118 | @table @code | 
|---|
| 119 | @anchor{--apropos} | 
|---|
| 120 | @item --apropos=@var{string} | 
|---|
| 121 | @cindex Searching all indices | 
|---|
| 122 | @cindex Info files@r{, searching all indices} | 
|---|
| 123 | @cindex Apropos@r{, in Info files} | 
|---|
| 124 | Specify a string to search in every index of every Info file installed | 
|---|
| 125 | on your system.  Info looks up the named @var{string} in all the indices | 
|---|
| 126 | it can find, prints the results to standard output, and then exits.  If | 
|---|
| 127 | you are not sure which Info file explains certain issues, this option is | 
|---|
| 128 | your friend.  Note that if your system has a lot of Info files | 
|---|
| 129 | installed, searching all of them might take some time. | 
|---|
| 130 |  | 
|---|
| 131 | You can invoke the apropos command from inside Info; see | 
|---|
| 132 | @ref{Searching Commands}. | 
|---|
| 133 |  | 
|---|
| 134 | @cindex directory path | 
|---|
| 135 | @item --directory @var{directory-path} | 
|---|
| 136 | @itemx -d @var{directory-path} | 
|---|
| 137 | Prepend @var{directory-path} to the list of directory paths searched | 
|---|
| 138 | when Info needs to find a file.  You may issue @code{--directory} | 
|---|
| 139 | multiple times; once for each directory which contains Info files.  The | 
|---|
| 140 | list of directories searched by Info is constructed from the value of | 
|---|
| 141 | the environment variable @code{INFOPATH}; @code{--directory} causes the | 
|---|
| 142 | named @var{directory-path} to be prepended to that list.  The value of | 
|---|
| 143 | @code{INFOPATH} is a list of directories usually separated by a colon; | 
|---|
| 144 | on MS-DOS/MS-Windows systems, the semicolon is used.  If you do not | 
|---|
| 145 | define @code{INFOPATH}, Info uses a default path defined when Info was | 
|---|
| 146 | built as the initial list of directories.  If the value of | 
|---|
| 147 | @code{INFOPATH} ends with a colon (or semicolon on MS-DOS/MS-Windows), | 
|---|
| 148 | the initial list of directories is constructed by appending the | 
|---|
| 149 | build-time default to the value of @code{INFOPATH}. | 
|---|
| 150 |  | 
|---|
| 151 | @cindex keystrokes, recording | 
|---|
| 152 | @cindex remembering user keystrokes | 
|---|
| 153 | @item --dribble=@var{dribble-file} | 
|---|
| 154 | Specify a file where all user keystrokes will be recorded.  This file | 
|---|
| 155 | can be used later to replay the same sequence of commands, see the | 
|---|
| 156 | @samp{--restore} option below. | 
|---|
| 157 |  | 
|---|
| 158 | @item --file @var{filename} | 
|---|
| 159 | @itemx -f @var{filename} | 
|---|
| 160 | @cindex Info file, selecting | 
|---|
| 161 | Specify a particular Info file to visit.  By default, Info visits | 
|---|
| 162 | the file @code{dir}; if you use this option, Info will start with | 
|---|
| 163 | @code{(@var{filename})Top} as the first file and node. | 
|---|
| 164 |  | 
|---|
| 165 | @cindex relative Info file names | 
|---|
| 166 | @cindex file names, relative | 
|---|
| 167 | @cindex Info files, relative | 
|---|
| 168 | If @var{filename} is an absolute file name, or begins with @file{./} or | 
|---|
| 169 | @file{../}, Info looks for @var{filename} only in the directory of the | 
|---|
| 170 | specified @var{filename}, and adds the directory of @var{filename} to | 
|---|
| 171 | the value of @code{INFOPATH}.  In contrast, if @var{filename} is in the | 
|---|
| 172 | form of a relative file name, but without the @file{./} or @file{../} | 
|---|
| 173 | prefix, Info will only look for it in the directories specified in | 
|---|
| 174 | @code{INFOPATH}.  In other words, Info does @emph{not} treat file names | 
|---|
| 175 | which lack @file{./} and @file{../} prefix as relative to the current | 
|---|
| 176 | directory. | 
|---|
| 177 |  | 
|---|
| 178 | @cindex compressed Info files | 
|---|
| 179 | @cindex files, compressed | 
|---|
| 180 | @cindex Info files, compressed | 
|---|
| 181 | In every directory Info tries, if @var{filename} is not found, Info | 
|---|
| 182 | looks for it with a number of known extensions of Info files@footnote{ | 
|---|
| 183 | @file{.info}, @file{-info}, @file{/index}, and @file{.inf}.}.  For every | 
|---|
| 184 | known extension, Info looks for a compressed file, if a regular file | 
|---|
| 185 | isn't found.  Info supports files compressed with @code{gzip}, | 
|---|
| 186 | @code{bzip2}, @code{compress} and @code{yabba} programs; it calls | 
|---|
| 187 | @code{gunzip}, @code{bunzip2}, @code{uncompress} and @code{unyabba}, | 
|---|
| 188 | accordingly, to decompress such files.  Compressed Info files are | 
|---|
| 189 | assumed to have @file{.z}, @file{.gz}, @file{.bz2}, @file{.Z}, or | 
|---|
| 190 | @file{.Y} extensions, possibly in addition to one of the known Info | 
|---|
| 191 | files extensions@footnote{The MS-DOS version allows for the Info | 
|---|
| 192 | extension, such as @code{.inf}, and the short compressed file | 
|---|
| 193 | extensions, such as @file{.z} and @file{.gz}, to be merged into a single | 
|---|
| 194 | extension, since DOS doesn't allow more than a single dot in the | 
|---|
| 195 | basename of a file.  Thus, on MS-DOS, if Info looks for @file{bison}, | 
|---|
| 196 | file names like @file{bison.igz} and @file{bison.inz} will be found and | 
|---|
| 197 | decompressed by @code{gunzip}.}. | 
|---|
| 198 |  | 
|---|
| 199 | @item --help | 
|---|
| 200 | @itemx -h | 
|---|
| 201 | Produces a relatively brief description of the available Info options. | 
|---|
| 202 |  | 
|---|
| 203 | @item --index-search @var{string} | 
|---|
| 204 | @cindex index search, selecting from the command line | 
|---|
| 205 | @cindex online help, using Info as | 
|---|
| 206 | After processing all command-line arguments, go to the index in the Info | 
|---|
| 207 | file and search for index entries which match @var{string}.  If such an | 
|---|
| 208 | entry is found, the Info session begins with displaying the node pointed | 
|---|
| 209 | to by the first matching index entry; press @kbd{,} to step through the | 
|---|
| 210 | rest of the matching entries.  If no such entry exists, print @samp{no | 
|---|
| 211 | entries found} and exit with nonzero status.  This can be used from | 
|---|
| 212 | another program as a way to provide online help, or as a quick way of | 
|---|
| 213 | starting to read an Info file at a certain node when you don't know the | 
|---|
| 214 | exact name of that node. | 
|---|
| 215 |  | 
|---|
| 216 | This command can also be invoked from inside Info; see @ref{Searching | 
|---|
| 217 | Commands}. | 
|---|
| 218 |  | 
|---|
| 219 | @item --node @var{nodename} | 
|---|
| 220 | @itemx -n @var{nodename} | 
|---|
| 221 | @cindex node, selecting from the command line | 
|---|
| 222 | Specify a particular node to visit in the initial file that Info | 
|---|
| 223 | loads.  This is especially useful in conjunction with | 
|---|
| 224 | @code{--file}@footnote{Of course, you can specify both the file and node | 
|---|
| 225 | in a @code{--node} command; but don't forget to escape the open and | 
|---|
| 226 | close parentheses and whitespace from the shell as in: @code{info --node | 
|---|
| 227 | "(emacs)Buffers"}.}.  You may specify @code{--node} multiple times; for | 
|---|
| 228 | an interactive Info, each @var{nodename} is visited in its own window, | 
|---|
| 229 | for a non-interactive Info (such as when @code{--output} is given) each | 
|---|
| 230 | @var{nodename} is processed sequentially. | 
|---|
| 231 |  | 
|---|
| 232 | @item --output @var{filename} | 
|---|
| 233 | @itemx -o @var{filename} | 
|---|
| 234 | @cindex file, outputting to | 
|---|
| 235 | @cindex outputting to a file | 
|---|
| 236 | Specify @var{filename} as the name of a file to which to direct output. | 
|---|
| 237 | Each node that Info visits will be output to @var{filename} instead of | 
|---|
| 238 | interactively viewed.  A value of @code{-} for @var{filename} specifies | 
|---|
| 239 | the standard output. | 
|---|
| 240 |  | 
|---|
| 241 | @cindex colors in documents | 
|---|
| 242 | @cindex ANSI escape sequences in documents | 
|---|
| 243 | @item --raw-escapes | 
|---|
| 244 | @itemx --no-raw-escapes | 
|---|
| 245 | @itemx -R | 
|---|
| 246 | Do not remove ANSI escape sequences from documents.  Some versions of | 
|---|
| 247 | Groff, the GNU document formatter, produce man pages with ANSI escape | 
|---|
| 248 | sequences for bold, italics, and underlined characters, and for | 
|---|
| 249 | colorized text.  By default, Info lets those escape sequences pass | 
|---|
| 250 | through directly to the terminal.  If your terminal does not support | 
|---|
| 251 | these escapes, use @code{--no-raw-escapes} to make Info remove them. | 
|---|
| 252 |  | 
|---|
| 253 | @cindex replaying recorded keystrokes | 
|---|
| 254 | @item --restore=@var{dribble-file} | 
|---|
| 255 | Read keystrokes from @var{dribble-file}, presumably recorded during | 
|---|
| 256 | previous Info session (see the description of the @samp{--dribble} | 
|---|
| 257 | option above).  When the keystrokes in the files are all read, Info | 
|---|
| 258 | reverts its input to the usual interactive operation. | 
|---|
| 259 |  | 
|---|
| 260 | @anchor{--show-options} | 
|---|
| 261 | @cindex command-line options, how to find | 
|---|
| 262 | @cindex invocation description, how to find | 
|---|
| 263 | @item --show-options | 
|---|
| 264 | @itemx --usage | 
|---|
| 265 | @itemx -O | 
|---|
| 266 | This option causes Info to look for the node that describes how to | 
|---|
| 267 | invoke the program and its command-line options, and begin the session | 
|---|
| 268 | by displaying that node.  It is provided to make it easier to find the | 
|---|
| 269 | most important usage information in a manual without the need to wade | 
|---|
| 270 | through complex menu hierarchies.  The effect is similar to the | 
|---|
| 271 | @code{M-x goto-invocation} command (@pxref{goto-invocation}) from inside | 
|---|
| 272 | Info. | 
|---|
| 273 |  | 
|---|
| 274 | @cindex speech synthesizers | 
|---|
| 275 | @item --speech-friendly | 
|---|
| 276 | @itemx -b | 
|---|
| 277 | On MS-DOS/MS-Windows only, this option causes Info to use standard file | 
|---|
| 278 | I/O functions for screen writes.  (By default, Info uses direct writes | 
|---|
| 279 | to the video memory on these systems, for faster operation and colored | 
|---|
| 280 | display support.)  This allows the speech synthesizers used by blind | 
|---|
| 281 | persons to catch the output and convert it to audible speech. | 
|---|
| 282 |  | 
|---|
| 283 | @item --subnodes | 
|---|
| 284 | @cindex @code{--subnodes}, command line option | 
|---|
| 285 | This option only has meaning when given in conjunction with | 
|---|
| 286 | @code{--output}.  It means to recursively output the nodes appearing in | 
|---|
| 287 | the menus of each node being output.  Menu items which resolve to | 
|---|
| 288 | external Info files are not output, and neither are menu items which are | 
|---|
| 289 | members of an index.  Each node is only output once. | 
|---|
| 290 |  | 
|---|
| 291 | @item --version | 
|---|
| 292 | @cindex version information | 
|---|
| 293 | Prints the version information of Info and exits. | 
|---|
| 294 |  | 
|---|
| 295 | @anchor{--vi-keys} | 
|---|
| 296 | @cindex vi-like key bindings | 
|---|
| 297 | @cindex Less-like key bindings | 
|---|
| 298 | @item --vi-keys | 
|---|
| 299 | This option binds functions to keys differently, to emulate the key | 
|---|
| 300 | bindings of @code{vi} and Less.  The default key bindings are generally | 
|---|
| 301 | modeled after Emacs. | 
|---|
| 302 | (@xref{Custom Key Bindings}, | 
|---|
| 303 | for a more general way of altering GNU Info's key bindings.) | 
|---|
| 304 |  | 
|---|
| 305 | @cindex Info manual location | 
|---|
| 306 | @cindex Where is an Info manual? | 
|---|
| 307 | @item --where | 
|---|
| 308 | @itemx --location | 
|---|
| 309 | @itemx -w | 
|---|
| 310 | Show the filename that would be read and exit, instead of actually | 
|---|
| 311 | reading it and starting Info. | 
|---|
| 312 |  | 
|---|
| 313 | @item @var{menu-item} | 
|---|
| 314 | @cindex menu, following | 
|---|
| 315 | @anchor{command-line menu items} | 
|---|
| 316 | Info treats its remaining arguments as the names of menu items.  The | 
|---|
| 317 | first argument is a menu item in the initial node visited (generally | 
|---|
| 318 | @code{dir}), the second argument is a menu item in the first argument's | 
|---|
| 319 | node, etc.  You can easily move to the node of your choice by specifying | 
|---|
| 320 | the menu names which describe the path to that node.  For example, | 
|---|
| 321 |  | 
|---|
| 322 | @example | 
|---|
| 323 | info emacs buffers | 
|---|
| 324 | @end example | 
|---|
| 325 |  | 
|---|
| 326 | @noindent | 
|---|
| 327 | first selects the menu item @samp{Emacs} in the node @samp{(dir)Top}, | 
|---|
| 328 | and then selects the menu item @samp{Buffers} in the node | 
|---|
| 329 | @samp{(emacs)Top}. | 
|---|
| 330 | @end table | 
|---|
| 331 |  | 
|---|
| 332 | To avoid searching the @file{dir} files and just show some arbitrary | 
|---|
| 333 | file, use @samp{-f} and the filename, as in @samp{info -f ./foo.info}. | 
|---|
| 334 |  | 
|---|
| 335 | The index search and the search for the node which describes program | 
|---|
| 336 | invocation and command-line options begins @emph{after} processing all | 
|---|
| 337 | the command-line menu items.  Therefore, the Info file searched for the | 
|---|
| 338 | index or the invocation node is the file where Info finds itself after | 
|---|
| 339 | following all the menu items given on the command line.  This is so | 
|---|
| 340 | @samp{info emacs --show-options} does what you'd expect. | 
|---|
| 341 |  | 
|---|
| 342 | @c FIXME: the feature with lowercasing the file name isn't documented | 
|---|
| 343 |  | 
|---|
| 344 |  | 
|---|
| 345 | @node Cursor Commands | 
|---|
| 346 | @chapter Moving the Cursor | 
|---|
| 347 | @cindex cursor, moving | 
|---|
| 348 | @cindex moving the cursor | 
|---|
| 349 |  | 
|---|
| 350 | Many people find that reading screens of text page by page is made | 
|---|
| 351 | easier when one is able to indicate particular pieces of text with | 
|---|
| 352 | some kind of pointing device.  Since this is the case, GNU Info (both | 
|---|
| 353 | the Emacs and standalone versions) have several commands which allow | 
|---|
| 354 | you to move the cursor about the screen.  The notation used in this | 
|---|
| 355 | manual to describe keystrokes is identical to the notation used within | 
|---|
| 356 | the Emacs manual, and the GNU Readline manual.  @xref{User Input,,, | 
|---|
| 357 | emacs, the GNU Emacs Manual}, if you are unfamiliar with the | 
|---|
| 358 | notation.@footnote{Here's a short summary.  @kbd{C-@var{x}} means | 
|---|
| 359 | press the @kbd{CTRL} key and the key @var{x}.  @kbd{M-@var{x}} means | 
|---|
| 360 | press the @kbd{META} key and the key @var{x}.  On many terminals th | 
|---|
| 361 | @kbd{META} key is known as the @kbd{ALT} key.  @kbd{SPC} is the space | 
|---|
| 362 | bar.  The other keys are usually called by the names imprinted on | 
|---|
| 363 | them.} | 
|---|
| 364 |  | 
|---|
| 365 | The following table lists the basic cursor movement commands in Info. | 
|---|
| 366 | Each entry consists of the key sequence you should type to execute the | 
|---|
| 367 | cursor movement, the @code{M-x}@footnote{@code{M-x} is also a command; it | 
|---|
| 368 | invokes @code{execute-extended-command}.  @xref{M-x, , Executing an | 
|---|
| 369 | extended command, emacs, the GNU Emacs Manual}, for more detailed | 
|---|
| 370 | information.} command name (displayed in parentheses), and a short | 
|---|
| 371 | description of what the command does.  All of the cursor motion commands | 
|---|
| 372 | can take a @dfn{numeric} argument (see @ref{Miscellaneous Commands, | 
|---|
| 373 | @code{universal-argument}, to find out how to supply them}.  With a | 
|---|
| 374 | numeric argument, the motion commands are simply executed that | 
|---|
| 375 | many times; for example, a numeric argument of 4 given to | 
|---|
| 376 | @code{next-line} causes the cursor to move down 4 lines.  With a | 
|---|
| 377 | negative numeric argument, the motion is reversed; an argument of -4 | 
|---|
| 378 | given to the @code{next-line} command would cause the cursor to move | 
|---|
| 379 | @emph{up} 4 lines. | 
|---|
| 380 |  | 
|---|
| 381 | @table @asis | 
|---|
| 382 | @item @key{C-n} (@code{next-line}) | 
|---|
| 383 | @itemx @key{DOWN} (an arrow key) | 
|---|
| 384 | @kindex C-n | 
|---|
| 385 | @kindex DOWN (an arrow key) | 
|---|
| 386 | @findex next-line | 
|---|
| 387 | Move the cursor down to the next line. | 
|---|
| 388 |  | 
|---|
| 389 | @item @key{C-p} (@code{prev-line}) | 
|---|
| 390 | @itemx @key{UP} (an arrow key) | 
|---|
| 391 | @kindex C-p | 
|---|
| 392 | @kindex UP (an arrow key) | 
|---|
| 393 | @findex prev-line | 
|---|
| 394 | Move the cursor up to the previous line. | 
|---|
| 395 |  | 
|---|
| 396 | @item @key{C-a} (@code{beginning-of-line}) | 
|---|
| 397 | @itemx @key{Home} (on DOS/Windows only) | 
|---|
| 398 | @kindex C-a, in Info windows | 
|---|
| 399 | @kindex Home | 
|---|
| 400 | @findex beginning-of-line | 
|---|
| 401 | Move the cursor to the start of the current line. | 
|---|
| 402 |  | 
|---|
| 403 | @item @key{C-e} (@code{end-of-line}) | 
|---|
| 404 | @itemx @key{End} (on DOS/Windows only) | 
|---|
| 405 | @kindex C-e, in Info windows | 
|---|
| 406 | @kindex End | 
|---|
| 407 | @findex end-of-line | 
|---|
| 408 | Move the cursor to the end of the current line. | 
|---|
| 409 |  | 
|---|
| 410 | @item @key{C-f} (@code{forward-char}) | 
|---|
| 411 | @itemx @key{RIGHT} (an arrow key) | 
|---|
| 412 | @kindex C-f, in Info windows | 
|---|
| 413 | @kindex RIGHT (an arrow key) | 
|---|
| 414 | @findex forward-char | 
|---|
| 415 | Move the cursor forward a character. | 
|---|
| 416 |  | 
|---|
| 417 | @item @key{C-b} (@code{backward-char}) | 
|---|
| 418 | @itemx @key{LEFT} (an arrow key) | 
|---|
| 419 | @kindex C-b, in Info windows | 
|---|
| 420 | @kindex LEFT (an arrow key) | 
|---|
| 421 | @findex backward-char | 
|---|
| 422 | Move the cursor backward a character. | 
|---|
| 423 |  | 
|---|
| 424 | @item @key{M-f} (@code{forward-word}) | 
|---|
| 425 | @itemx @kbd{C-@key{RIGHT}} (on DOS/Windows only) | 
|---|
| 426 | @kindex M-f, in Info windows | 
|---|
| 427 | @kindex C-RIGHT | 
|---|
| 428 | @findex forward-word | 
|---|
| 429 | Move the cursor forward a word. | 
|---|
| 430 |  | 
|---|
| 431 | @item @key{M-b} (@code{backward-word}) | 
|---|
| 432 | @itemx @kbd{C-@key{LEFT}} (on DOS/Windows only) | 
|---|
| 433 | @kindex M-b, in Info windows | 
|---|
| 434 | @kindex C-LEFT | 
|---|
| 435 | @findex backward-word | 
|---|
| 436 | Move the cursor backward a word. | 
|---|
| 437 |  | 
|---|
| 438 | @item @key{M-<} (@code{beginning-of-node}) | 
|---|
| 439 | @itemx @key{C-@key{Home}} (on DOS/Windows only) | 
|---|
| 440 | @itemx @key{b} | 
|---|
| 441 | @itemx @key{M-b}, vi-like operation | 
|---|
| 442 | @kindex b, in Info windows | 
|---|
| 443 | @kindex M-< | 
|---|
| 444 | @kindex C-Home | 
|---|
| 445 | @kindex M-b, vi-like operation | 
|---|
| 446 | @findex beginning-of-node | 
|---|
| 447 | Move the cursor to the start of the current node. | 
|---|
| 448 |  | 
|---|
| 449 | @item @key{M->} (@code{end-of-node}) | 
|---|
| 450 | @itemx @key{C-@key{End}} (on DOS/Windows only) | 
|---|
| 451 | @itemx @key{e} | 
|---|
| 452 | @kindex M-> | 
|---|
| 453 | @kindex e, in Info windows | 
|---|
| 454 | @kindex C-End | 
|---|
| 455 | @findex end-of-node | 
|---|
| 456 | Move the cursor to the end of the current node. | 
|---|
| 457 |  | 
|---|
| 458 | @item @key{M-r} (@code{move-to-window-line}) | 
|---|
| 459 | @kindex M-r | 
|---|
| 460 | @findex move-to-window-line | 
|---|
| 461 | Move the cursor to a specific line of the window.  Without a numeric | 
|---|
| 462 | argument, @code{M-r} moves the cursor to the start of the line in the | 
|---|
| 463 | center of the window.  With a numeric argument of @var{n}, @code{M-r} | 
|---|
| 464 | moves the cursor to the start of the @var{n}th line in the window. | 
|---|
| 465 | @end table | 
|---|
| 466 |  | 
|---|
| 467 |  | 
|---|
| 468 | @node Scrolling Commands | 
|---|
| 469 | @chapter Moving Text Within a Window | 
|---|
| 470 | @cindex scrolling | 
|---|
| 471 |  | 
|---|
| 472 | Sometimes you are looking at a screenful of text, and only part of the | 
|---|
| 473 | current paragraph you are reading is visible on the screen.  The | 
|---|
| 474 | commands detailed in this section are used to shift which part of the | 
|---|
| 475 | current node is visible on the screen. | 
|---|
| 476 |  | 
|---|
| 477 | Scrolling commands are bound differently when @samp{--vi-keys} operation | 
|---|
| 478 | is in effect (@pxref{--vi-keys}).  These key bindings are designated | 
|---|
| 479 | with ``vi-like operation''. | 
|---|
| 480 |  | 
|---|
| 481 | @table @asis | 
|---|
| 482 | @item @key{SPC} (@code{scroll-forward}) | 
|---|
| 483 | @kindex SPC, in Info windows | 
|---|
| 484 | @findex scroll-forward | 
|---|
| 485 | Shift the text in this window up.  That is, show more of the node which | 
|---|
| 486 | is currently below the bottom of the window.  With a numeric argument, | 
|---|
| 487 | show that many more lines at the bottom of the window; a numeric | 
|---|
| 488 | argument of 4 would shift all of the text in the window up 4 lines | 
|---|
| 489 | (discarding the top 4 lines), and show you four new lines at the bottom | 
|---|
| 490 | of the window.  Without a numeric argument, @key{SPC} takes the bottom | 
|---|
| 491 | two lines of the window and places them at the top of the window, | 
|---|
| 492 | redisplaying almost a completely new screenful of lines.  If you are at | 
|---|
| 493 | the end of a node, @key{SPC} takes you to the ``next'' node, so that you can | 
|---|
| 494 | read an entire manual from start to finish by repeating @key{SPC}. | 
|---|
| 495 |  | 
|---|
| 496 | The default scroll size is one screen-full, but it can be changed by | 
|---|
| 497 | invoking the (@code{scroll-forward-page-only-set-window}) command, | 
|---|
| 498 | @samp{z} under @samp{--vi-keys}, with a numeric argument. | 
|---|
| 499 |  | 
|---|
| 500 | @item @key{NEXT} (an arrow key) (@code{scroll-forward-page-only}) | 
|---|
| 501 | @itemx @key{C-v} | 
|---|
| 502 | @itemx @key{C-f}, vi-like operation | 
|---|
| 503 | @itemx @key{f}, vi-like operation | 
|---|
| 504 | @itemx @key{M-SPC}, vi-like operation | 
|---|
| 505 | @kindex NEXT | 
|---|
| 506 | @kindex C-v | 
|---|
| 507 | @kindex C-f, vi-like operation | 
|---|
| 508 | @kindex f, vi-like operation | 
|---|
| 509 | @kindex M-SPC, vi-like operation | 
|---|
| 510 | @findex scroll-forward-page-only | 
|---|
| 511 | Shift the text in this window up.  This is identical to the @key{SPC} | 
|---|
| 512 | operation above, except that it never scrolls beyond the end of the | 
|---|
| 513 | current node. | 
|---|
| 514 |  | 
|---|
| 515 | @kindex PageDown | 
|---|
| 516 | The @key{NEXT} key is known as the @key{PageDown} key on some | 
|---|
| 517 | keyboards. | 
|---|
| 518 |  | 
|---|
| 519 | @item @key{z} (@code{scroll-forward-page-only-set-window}, vi-like operation) | 
|---|
| 520 | @kindex z, vi-like operation | 
|---|
| 521 | @findex scroll-forward-page-only-set-window | 
|---|
| 522 | Scroll forward, like with @key{NEXT}, but if a numeric argument is | 
|---|
| 523 | specified, it becomes the default scroll size for subsequent | 
|---|
| 524 | @code{scroll-forward} and @code{scroll-backward} commands and their | 
|---|
| 525 | ilk. | 
|---|
| 526 |  | 
|---|
| 527 | @item @key{DEL} (@code{scroll-backward}) | 
|---|
| 528 | @kindex DEL, in Info windows | 
|---|
| 529 | @findex scroll-backward | 
|---|
| 530 | Shift the text in this window down.  The inverse of | 
|---|
| 531 | @code{scroll-forward}. | 
|---|
| 532 | If you are at the start of a node, @key{DEL} takes you to the | 
|---|
| 533 | ``previous'' node, so that you can read an entire manual from finish to | 
|---|
| 534 | start by repeating @key{DEL}.  The default scroll size can be changed by | 
|---|
| 535 | invoking the (@code{scroll-backward-page-only-set-window}) command, | 
|---|
| 536 | @samp{w} under @samp{--vi-keys}, with a numeric argument. | 
|---|
| 537 |  | 
|---|
| 538 | @itemx @key{PREVIOUS} (arrow key) (@code{scroll-backward-page-only}) | 
|---|
| 539 | @itemx @key{PRIOR} (arrow key) | 
|---|
| 540 | @itemx @key{M-v} | 
|---|
| 541 | @itemx @key{b}, vi-like operation | 
|---|
| 542 | @itemx @key{C-b}, vi-like operation | 
|---|
| 543 | @kindex PREVIOUS | 
|---|
| 544 | @kindex M-v | 
|---|
| 545 | @kindex b, vi-like operation | 
|---|
| 546 | @kindex C-b, vi-like operation | 
|---|
| 547 | @findex scroll-backward-page-only | 
|---|
| 548 | Shift the text in this window down.  The inverse of | 
|---|
| 549 | @code{scroll-forward-page-only}.  Does not scroll beyond the start of | 
|---|
| 550 | the current node.  The default scroll size can be changed by invoking | 
|---|
| 551 | the(@code{scroll-backward-page-only-set-window}) command, @samp{w} under | 
|---|
| 552 | @samp{--vi-keys}, with a numeric argument. | 
|---|
| 553 |  | 
|---|
| 554 | @item @key{w} (@code{scroll-backward-page-only-set-window}, vi-like operation) | 
|---|
| 555 | @kindex w, vi-like operation | 
|---|
| 556 | @findex scroll-backward-page-only-set-window | 
|---|
| 557 | Scroll backward, like with @key{PREVIOUS}, but if a numeric argument is | 
|---|
| 558 | specified, it becomes the default scroll size for subsequent | 
|---|
| 559 | @code{scroll-forward} and @code{scroll-backward} commands. | 
|---|
| 560 |  | 
|---|
| 561 | @item @key{C-n} (@code{down-line}, vi-like operation) | 
|---|
| 562 | @itemx @key{C-e}, vi-like operation | 
|---|
| 563 | @itemx @key{RET}, vi-like operation | 
|---|
| 564 | @itemx @key{LFD}, vi-like operation | 
|---|
| 565 | @itemx @key{DOWN}, vi-like operation | 
|---|
| 566 | @kindex C-n, vi-like operation | 
|---|
| 567 | @kindex C-e, vi-like operation | 
|---|
| 568 | @kindex RET, vi-like operation | 
|---|
| 569 | @kindex LFD, vi-like operation | 
|---|
| 570 | @kindex DOWN, vi-like operation | 
|---|
| 571 | @findex down-line | 
|---|
| 572 | Scroll forward by one line.  With a numeric argument, scroll forward | 
|---|
| 573 | that many lines. | 
|---|
| 574 |  | 
|---|
| 575 | @item @key{C-p} (@code{up-line}, vi-like operation) | 
|---|
| 576 | @itemx @key{UP}, vi-like operation | 
|---|
| 577 | @itemx @key{y}, vi-like operation | 
|---|
| 578 | @itemx @key{k}, vi-like operation | 
|---|
| 579 | @itemx @key{C-k}, vi-like operation | 
|---|
| 580 | @itemx @key{C-y}, vi-like operation | 
|---|
| 581 | @kindex C-p, vi-like operation | 
|---|
| 582 | @kindex UP, vi-like operation | 
|---|
| 583 | @kindex y, vi-like operation | 
|---|
| 584 | @kindex k, vi-like operation | 
|---|
| 585 | @kindex C-k, vi-like operation | 
|---|
| 586 | @kindex C-y, vi-like operation | 
|---|
| 587 | @findex up-line | 
|---|
| 588 | Scroll backward one line.  With a numeric argument, scroll backward that | 
|---|
| 589 | many lines. | 
|---|
| 590 |  | 
|---|
| 591 | @item @key{d} (@code{scroll-half-screen-down}, vi-like operation) | 
|---|
| 592 | @itemx @key{C-d}, vi-like operation | 
|---|
| 593 | @kindex d, vi-like operation | 
|---|
| 594 | @kindex C-d, vi-like operation | 
|---|
| 595 | @findex scroll-half-screen-down | 
|---|
| 596 | Scroll forward by half of the screen size.  With a numeric argument, | 
|---|
| 597 | scroll that many lines.  If an argument is specified, it becomes the new | 
|---|
| 598 | default number of lines to scroll for subsequent @samp{d} and @samp{u} | 
|---|
| 599 | commands. | 
|---|
| 600 |  | 
|---|
| 601 | @item @key{u} (@code{scroll-half-screen-up}, vi-like operation) | 
|---|
| 602 | @itemx @key{C-u}, vi-like operation | 
|---|
| 603 | @kindex u, vi-like operation | 
|---|
| 604 | @kindex C-u, vi-like operation | 
|---|
| 605 | @findex scroll-half-screen-up | 
|---|
| 606 | Scroll back by half of the screen size.  With a numeric argument, | 
|---|
| 607 | scroll that many lines.  If an argument is specified, it becomes the new | 
|---|
| 608 | default number of lines to scroll for subsequent @samp{u} and @samp{d} | 
|---|
| 609 | commands. | 
|---|
| 610 | @end table | 
|---|
| 611 |  | 
|---|
| 612 | @cindex scrolling through node structure | 
|---|
| 613 | The @code{scroll-forward} and @code{scroll-backward} commands can also | 
|---|
| 614 | move forward and backward through the node structure of the file.  If | 
|---|
| 615 | you press @key{SPC} while viewing the end of a node, or @key{DEL} while | 
|---|
| 616 | viewing the beginning of a node, what happens is controlled by the | 
|---|
| 617 | variable @code{scroll-behavior}.  @xref{Variables, | 
|---|
| 618 | @code{scroll-behavior}}, for more information. | 
|---|
| 619 |  | 
|---|
| 620 | The @code{scroll-forward-page-only} and @code{scroll-backward-page-only} | 
|---|
| 621 | commands never scroll beyond the current node. | 
|---|
| 622 |  | 
|---|
| 623 | @kindex PageUp | 
|---|
| 624 | The @key{PREVIOUS} key is the @key{PageUp} key on many keyboards.  Emacs | 
|---|
| 625 | refers to it by the name @key{PRIOR}.  When you use @key{PRIOR} or | 
|---|
| 626 | @key{PageUp} to scroll, Info never scrolls beyond the beginning of the | 
|---|
| 627 | current node. | 
|---|
| 628 |  | 
|---|
| 629 | @kindex BS (backspace) | 
|---|
| 630 | If your keyboard lacks the @key{DEL} key, look for a key called | 
|---|
| 631 | @key{BS}, or @samp{BackSpace}, sometimes designated with an arrow which | 
|---|
| 632 | points to the left, which should perform the same function. | 
|---|
| 633 |  | 
|---|
| 634 | @table @asis | 
|---|
| 635 | @item @key{C-l} (@code{redraw-display}) | 
|---|
| 636 | @kindex C-l | 
|---|
| 637 | @findex redraw-display | 
|---|
| 638 | Redraw the display from scratch, or shift the line containing the cursor | 
|---|
| 639 | to a specified location.  With no numeric argument, @samp{C-l} clears | 
|---|
| 640 | the screen, and then redraws its entire contents.  Given a numeric | 
|---|
| 641 | argument of @var{n}, the line containing the cursor is shifted so that | 
|---|
| 642 | it is on the @var{n}th line of the window. | 
|---|
| 643 |  | 
|---|
| 644 | @item @kbd{C-x @key{w}} (@code{toggle-wrap}) | 
|---|
| 645 | @kindex C-w | 
|---|
| 646 | @findex toggle-wrap | 
|---|
| 647 | Toggles the state of line wrapping in the current window.  Normally, | 
|---|
| 648 | lines which are longer than the screen width @dfn{wrap}, i.e., they are | 
|---|
| 649 | continued on the next line.  Lines which wrap have a @samp{\} appearing | 
|---|
| 650 | in the rightmost column of the screen.  You can cause such lines to be | 
|---|
| 651 | terminated at the rightmost column by changing the state of line | 
|---|
| 652 | wrapping in the window with @code{C-x w}.  When a line which needs more | 
|---|
| 653 | space than one screen width to display is displayed, a @samp{$} appears | 
|---|
| 654 | in the rightmost column of the screen, and the remainder of the line is | 
|---|
| 655 | invisible.  When long lines are truncated, the modeline displays the | 
|---|
| 656 | @samp{$} character near its left edge. | 
|---|
| 657 | @end table | 
|---|
| 658 |  | 
|---|
| 659 |  | 
|---|
| 660 | @node Node Commands | 
|---|
| 661 | @chapter Selecting a Node | 
|---|
| 662 | @cindex nodes, selection of | 
|---|
| 663 |  | 
|---|
| 664 | This section details the numerous Info commands which select a new node | 
|---|
| 665 | to view in the current window. | 
|---|
| 666 |  | 
|---|
| 667 | The most basic node commands are @samp{n}, @samp{p}, @samp{u}, and | 
|---|
| 668 | @samp{l}.  Note that the commands to select nodes are mapped differently | 
|---|
| 669 | when @samp{--vi-keys} is in effect; these keybindings are designated | 
|---|
| 670 | below as ``vi-like operation''. | 
|---|
| 671 |  | 
|---|
| 672 | When you are viewing a node, the top line of the node contains some Info | 
|---|
| 673 | @dfn{pointers} which describe where the next, previous, and up nodes | 
|---|
| 674 | are.  Info uses this line to move about the node structure of the file | 
|---|
| 675 | when you use the following commands: | 
|---|
| 676 |  | 
|---|
| 677 | @table @asis | 
|---|
| 678 | @item @key{n} (@code{next-node}) | 
|---|
| 679 | @itemx @kbd{C-@key{NEXT}} (on DOS/Windows only) | 
|---|
| 680 | @itemx @kbd{C-x @key{n}}, vi-like operation | 
|---|
| 681 | @kindex n | 
|---|
| 682 | @kindex C-NEXT | 
|---|
| 683 | @kindex C-x n, vi-like operation | 
|---|
| 684 | @findex next-node | 
|---|
| 685 | Select the `Next' node. | 
|---|
| 686 |  | 
|---|
| 687 | @kindex C-PgDn | 
|---|
| 688 | The @key{NEXT} key is known as the @key{PgDn} key on some | 
|---|
| 689 | keyboards. | 
|---|
| 690 |  | 
|---|
| 691 | @item @key{p} (@code{prev-node}) | 
|---|
| 692 | @itemx @kbd{C-@key{PREVIOUS}} (on DOS/Windows only) | 
|---|
| 693 | @kindex p | 
|---|
| 694 | @kindex C-PREVIOUS | 
|---|
| 695 | @findex prev-node | 
|---|
| 696 | Select the `Prev' node. | 
|---|
| 697 |  | 
|---|
| 698 | @kindex C-PgUp | 
|---|
| 699 | The @key{PREVIOUS} key is known as the @key{PgUp} key on some | 
|---|
| 700 | keyboards. | 
|---|
| 701 |  | 
|---|
| 702 | @item @key{u} (@code{up-node}) | 
|---|
| 703 | @itemx @kbd{C-@key{UP}} (an arrow key on DOS/Windows only) | 
|---|
| 704 | @itemx @kbd{C-x @key{u}}, vi-like operation | 
|---|
| 705 | @kindex u | 
|---|
| 706 | @kindex C-UP | 
|---|
| 707 | @kindex C-x u, vi-like operation | 
|---|
| 708 | @findex up-node | 
|---|
| 709 | Select the `Up' node. | 
|---|
| 710 | @end table | 
|---|
| 711 |  | 
|---|
| 712 | You can easily select a node that you have already viewed in this window | 
|---|
| 713 | by using the @samp{l} command---this name stands for ``last'', and | 
|---|
| 714 | actually moves backwards through the history of visited nodes for this | 
|---|
| 715 | window.  This is handy when you followed a reference to another node, | 
|---|
| 716 | possibly to read about a related issue, and would like then to resume | 
|---|
| 717 | reading at the same place where you started the excursion. | 
|---|
| 718 |  | 
|---|
| 719 | Each node where you press @samp{l} is discarded from the history.  Thus, | 
|---|
| 720 | by the time you get to the first node you visited in a window, the | 
|---|
| 721 | entire history of that window is discarded. | 
|---|
| 722 |  | 
|---|
| 723 | @table @asis | 
|---|
| 724 | @item @key{l} (@code{history-node}) | 
|---|
| 725 | @itemx @key{C-@key{CENTER}} (on DOS/Windows only) | 
|---|
| 726 | @itemx @key{'}, vi-like operation | 
|---|
| 727 | @kindex l | 
|---|
| 728 | @kindex C-CENTER | 
|---|
| 729 | @kindex ', vi-like operation | 
|---|
| 730 | @findex history-node | 
|---|
| 731 | Pop the most recently selected node in this window from the node | 
|---|
| 732 | history. | 
|---|
| 733 | @end table | 
|---|
| 734 |  | 
|---|
| 735 | Two additional commands make it easy to select the most commonly | 
|---|
| 736 | selected nodes; they are @samp{t} and @samp{d}. | 
|---|
| 737 |  | 
|---|
| 738 | @table @asis | 
|---|
| 739 | @item @key{t} (@code{top-node}) | 
|---|
| 740 | @itemx @key{M-t}, vi-like operation | 
|---|
| 741 | @kindex t | 
|---|
| 742 | @kindex M-t, vi-like operation | 
|---|
| 743 | @findex top-node | 
|---|
| 744 | Select the node @samp{Top} in the current Info file. | 
|---|
| 745 |  | 
|---|
| 746 | @item @key{d} (@code{dir-node}) | 
|---|
| 747 | @itemx @key{M-d}, vi-like operation | 
|---|
| 748 | @kindex d | 
|---|
| 749 | @kindex M-d, vi-like operation | 
|---|
| 750 | @findex dir-node | 
|---|
| 751 | Select the directory node (i.e., the node @samp{(dir)}). | 
|---|
| 752 | @end table | 
|---|
| 753 |  | 
|---|
| 754 | Here are some other commands which immediately result in the selection | 
|---|
| 755 | of a different node in the current window: | 
|---|
| 756 |  | 
|---|
| 757 | @table @asis | 
|---|
| 758 | @item @key{<} (@code{first-node}) | 
|---|
| 759 | @itemx @key{g}, vi-like operation | 
|---|
| 760 | @kindex < | 
|---|
| 761 | @kindex g, vi-like operation | 
|---|
| 762 | @findex first-node | 
|---|
| 763 | Selects the first node which appears in this file.  This node is most | 
|---|
| 764 | often @samp{Top}, but it does not have to be.  With a numeric argument | 
|---|
| 765 | @var{N}, select the @var{N}th node (the first node is node 1).  An | 
|---|
| 766 | argument of zero is the same as the argument of 1. | 
|---|
| 767 |  | 
|---|
| 768 | @item @key{>} (@code{last-node}) | 
|---|
| 769 | @itemx @key{G}, vi-like operation | 
|---|
| 770 | @kindex > | 
|---|
| 771 | @kindex G, vi-like operation | 
|---|
| 772 | @findex last-node | 
|---|
| 773 | Select the last node which appears in this file.  With a numeric argument | 
|---|
| 774 | @var{N}, select the @var{N}th node (the first node is node 1).  An | 
|---|
| 775 | argument of zero is the same as no argument, i.e., it selects the last | 
|---|
| 776 | node. | 
|---|
| 777 |  | 
|---|
| 778 | @item @key{]} (@code{global-next-node}) | 
|---|
| 779 | @kindex ] | 
|---|
| 780 | @findex global-next-node | 
|---|
| 781 | Move forward or down through node structure.  If the node that you are | 
|---|
| 782 | currently viewing has a @samp{Next} pointer, that node is selected. | 
|---|
| 783 | Otherwise, if this node has a menu, the first menu item is selected.  If | 
|---|
| 784 | there is no @samp{Next} and no menu, the same process is tried with the | 
|---|
| 785 | @samp{Up} node of this node. | 
|---|
| 786 |  | 
|---|
| 787 | @item @key{[} (@code{global-prev-node}) | 
|---|
| 788 | @kindex [ | 
|---|
| 789 | @findex global-prev-node | 
|---|
| 790 | Move backward or up through node structure.  If the node that you are | 
|---|
| 791 | currently viewing has a @samp{Prev} pointer, that node is selected. | 
|---|
| 792 | Otherwise, if the node has an @samp{Up} pointer, that node is selected, | 
|---|
| 793 | and if it has a menu, the last item in the menu is selected. | 
|---|
| 794 | @end table | 
|---|
| 795 |  | 
|---|
| 796 | You can get the same behavior as @code{global-next-node} and | 
|---|
| 797 | @code{global-prev-node} while simply scrolling through the file with | 
|---|
| 798 | @key{SPC} and @key{DEL}; @xref{Variables, @code{scroll-behavior}}, for | 
|---|
| 799 | more information. | 
|---|
| 800 |  | 
|---|
| 801 | @table @asis | 
|---|
| 802 | @anchor{goto-node} | 
|---|
| 803 | @item @key{g} (@code{goto-node}) | 
|---|
| 804 | @itemx @kbd{C-x @key{g}}, vi-like operation | 
|---|
| 805 | @kindex g | 
|---|
| 806 | @kindex C-x g, vi-like operation | 
|---|
| 807 | @findex goto-node | 
|---|
| 808 | Read the name of a node and select it.  While reading the node name, | 
|---|
| 809 | completion (@pxref{The Echo Area, completion}) is only done for the | 
|---|
| 810 | nodes which reside in one of the Info files that were loaded in the | 
|---|
| 811 | current Info session; if the desired node resides in some other file, | 
|---|
| 812 | you must type the node exactly as it appears in that Info file, and you | 
|---|
| 813 | must include the Info file of the other file.  For example, | 
|---|
| 814 |  | 
|---|
| 815 | @example | 
|---|
| 816 | @code{g(emacs)Buffers} | 
|---|
| 817 | @end example | 
|---|
| 818 |  | 
|---|
| 819 | finds the node @samp{Buffers} in the Info file @file{emacs}. | 
|---|
| 820 |  | 
|---|
| 821 | @anchor{goto-invocation} | 
|---|
| 822 | @item @key{O} (@code{goto-invocation} | 
|---|
| 823 | @itemx @key{I} | 
|---|
| 824 | @kindex O | 
|---|
| 825 | @kindex I | 
|---|
| 826 | @findex goto-invocation | 
|---|
| 827 | @cindex finding the Invocation node | 
|---|
| 828 | Read the name of a program and look for a node in the current Info file | 
|---|
| 829 | which describes the invocation and the command-line options for that | 
|---|
| 830 | program.  The default program name is derived from the name of the | 
|---|
| 831 | current Info file.  This command does the same as the | 
|---|
| 832 | @samp{--show-options} command-line option (@pxref{--show-options}), but | 
|---|
| 833 | it also allows to specify the program name; this is important for those | 
|---|
| 834 | manuals which describe several programs. | 
|---|
| 835 |  | 
|---|
| 836 | If you need to find the Invocation node of a program that is documented | 
|---|
| 837 | in another Info file, you need to visit that file before invoking | 
|---|
| 838 | @samp{I}.  For example, if you are reading the Emacs manual and want to | 
|---|
| 839 | see the command-line options of the @code{makeinfo} program, type @kbd{g | 
|---|
| 840 | (texinfo) @key{RET}} and then @kbd{I makeinfo @key{RET}}.  If you don't | 
|---|
| 841 | know what Info file documents the command, or if invoking @samp{I} | 
|---|
| 842 | doesn't display the right node, go to the @samp{(dir)} node (using the | 
|---|
| 843 | @samp{d} command) and invoke @samp{I} from there. | 
|---|
| 844 |  | 
|---|
| 845 | @item @key{G} (@code{menu-sequence}) | 
|---|
| 846 | @kindex G | 
|---|
| 847 | @findex menu-sequence | 
|---|
| 848 | @cindex menu, following, from inside Info | 
|---|
| 849 | Read a sequence of menu entries and follow it.  Info prompts for a | 
|---|
| 850 | sequence of menu items separated by commas.  (Since commas are not | 
|---|
| 851 | allowed in a node name, they are a natural choice for a delimiter in a | 
|---|
| 852 | list of menu items.)  Info then looks up the first item in the menu of | 
|---|
| 853 | the node @samp{(dir)} (if the @samp{(dir)} node cannot be found, Info | 
|---|
| 854 | uses @samp{Top}).  If such an entry is found, Info goes to the node it | 
|---|
| 855 | points to and looks up the second item in the menu of that node, etc. | 
|---|
| 856 | In other words, you can specify a complete path which descends through | 
|---|
| 857 | the menu hierarchy of a particular Info file starting at the | 
|---|
| 858 | @samp{(dir)} node.  This has the same effect as if you typed the menu | 
|---|
| 859 | item sequence on Info's command line, see @ref{command-line menu items,, | 
|---|
| 860 | Info command-line arguments processing}.  For example, | 
|---|
| 861 |  | 
|---|
| 862 | @example | 
|---|
| 863 | @kbd{G Texinfo,Overview,Reporting Bugs @key{RET}} | 
|---|
| 864 | @end example | 
|---|
| 865 |  | 
|---|
| 866 | @noindent | 
|---|
| 867 | displays the node @samp{Reporting Bugs} in the Texinfo manual.  (You | 
|---|
| 868 | don't actually need to type the menu items in their full length, or in | 
|---|
| 869 | their exact letter-case.  However, if you do type the menu items | 
|---|
| 870 | exactly, Info will find it faster.) | 
|---|
| 871 |  | 
|---|
| 872 | If any of the menu items you type are not found, Info stops at the last | 
|---|
| 873 | entry it did find and reports an error. | 
|---|
| 874 |  | 
|---|
| 875 | @item @kbd{C-x @key{k}} (@code{kill-node}) | 
|---|
| 876 | @kindex C-x k | 
|---|
| 877 | @findex kill-node | 
|---|
| 878 | Kill a node.  The node name is prompted for in the echo area, with a | 
|---|
| 879 | default of the current node.  @dfn{Killing} a node means that Info tries | 
|---|
| 880 | hard to forget about it, removing it from the list of history nodes kept | 
|---|
| 881 | for the window where that node is found.  Another node is selected in | 
|---|
| 882 | the window which contained the killed node. | 
|---|
| 883 |  | 
|---|
| 884 | @item @kbd{C-x C-f} (@code{view-file}) | 
|---|
| 885 | @kindex C-x C-f | 
|---|
| 886 | @findex view-file | 
|---|
| 887 | Read the name of a file and selects the entire file.  The command | 
|---|
| 888 | @example | 
|---|
| 889 | @code{C-x C-f @var{filename}} | 
|---|
| 890 | @end example | 
|---|
| 891 | is equivalent to typing | 
|---|
| 892 | @example | 
|---|
| 893 | @code{g(@var{filename})*} | 
|---|
| 894 | @end example | 
|---|
| 895 |  | 
|---|
| 896 | @item @kbd{C-x C-b} (@code{list-visited-nodes}) | 
|---|
| 897 | @kindex C-x C-b | 
|---|
| 898 | @findex list-visited-nodes | 
|---|
| 899 | Make a window containing a menu of all of the currently visited nodes. | 
|---|
| 900 | This window becomes the selected window, and you may use the standard | 
|---|
| 901 | Info commands within it. | 
|---|
| 902 |  | 
|---|
| 903 | @item @kbd{C-x @key{b}} (@code{select-visited-node}) | 
|---|
| 904 | @kindex C-x b | 
|---|
| 905 | @findex select-visited-node | 
|---|
| 906 | Select a node which has been previously visited in a visible window. | 
|---|
| 907 | This is similar to @samp{C-x C-b} followed by @samp{m}, but no window is | 
|---|
| 908 | created. | 
|---|
| 909 | @end table | 
|---|
| 910 |  | 
|---|
| 911 |  | 
|---|
| 912 | @node Searching Commands | 
|---|
| 913 | @chapter Searching an Info File | 
|---|
| 914 | @cindex searching | 
|---|
| 915 |  | 
|---|
| 916 | GNU Info allows you to search for a sequence of characters throughout an | 
|---|
| 917 | entire Info file, search through the indices of an Info file, or find | 
|---|
| 918 | areas within an Info file which discuss a particular topic. | 
|---|
| 919 |  | 
|---|
| 920 | @table @asis | 
|---|
| 921 | @item @key{s} (@code{search}) | 
|---|
| 922 | @itemx @key{/} | 
|---|
| 923 | @kindex s | 
|---|
| 924 | @kindex / | 
|---|
| 925 | @findex search | 
|---|
| 926 | Read a string in the echo area and search for it.  If the string | 
|---|
| 927 | includes upper-case characters, the Info file is searched | 
|---|
| 928 | case-sensitively; otherwise Info ignores the letter case.  With a | 
|---|
| 929 | numeric argument of @var{N}, search for @var{N}th occurrence of the | 
|---|
| 930 | string.  Negative arguments search backwards. | 
|---|
| 931 |  | 
|---|
| 932 | @item @key{?} (@code{search-backward}, vi-like operation) | 
|---|
| 933 | @kindex ?, vi-like operation | 
|---|
| 934 | @findex search-backward | 
|---|
| 935 | Read a string in the echo area and search backward through the Info file | 
|---|
| 936 | for that string.  If the string includes upper-case characters, the Info | 
|---|
| 937 | file is searched case-sensitively; otherwise Info ignores the letter | 
|---|
| 938 | case.  With a numeric argument of @var{N}, search for @var{N}th | 
|---|
| 939 | occurrence of the string.  Negative arguments search forward. | 
|---|
| 940 |  | 
|---|
| 941 | @item @key{S} (@code{search-case-sensitively} | 
|---|
| 942 | @kindex S | 
|---|
| 943 | @findex search-case-sensitively | 
|---|
| 944 | @cindex search, case-sensitive | 
|---|
| 945 | @cindex case-sensitive search | 
|---|
| 946 | Read a string in the echo area and search for it case-sensitively, even | 
|---|
| 947 | if the string includes only lower-case letters.  With a numeric argument | 
|---|
| 948 | of @var{N}, search for @var{N}th occurrence of the string.  Negative | 
|---|
| 949 | arguments search backwards. | 
|---|
| 950 |  | 
|---|
| 951 | @item @kbd{C-x @key{n}} (@code{search-next}) | 
|---|
| 952 | @itemx @key{n}, vi-like operation | 
|---|
| 953 | @kindex C-x n | 
|---|
| 954 | @kindex n, vi-like operation | 
|---|
| 955 | @findex search-next | 
|---|
| 956 | @cindex repeated search | 
|---|
| 957 | Search for the same string used in the last search command, in the same | 
|---|
| 958 | direction, and with the same case-sensitivity option.  With a numeric | 
|---|
| 959 | argument of @var{N}, search for @var{N}th next occurrence. | 
|---|
| 960 |  | 
|---|
| 961 | @item @kbd{C-x @key{N}} (@code{search-previous}) | 
|---|
| 962 | @itemx @key{N}, vi-like operation | 
|---|
| 963 | @kindex C-x N | 
|---|
| 964 | @kindex n, vi-like operation | 
|---|
| 965 | @findex search-previous | 
|---|
| 966 | Search for the same string used in the last search command, and with the | 
|---|
| 967 | same case-sensitivity option, but in the reverse direction.  With a | 
|---|
| 968 | numeric argument of @var{N}, search for @var{N}th previous occurrence. | 
|---|
| 969 |  | 
|---|
| 970 | @item @key{C-s} (@code{isearch-forward}) | 
|---|
| 971 | @kindex C-s | 
|---|
| 972 | @findex isearch-forward | 
|---|
| 973 | @cindex incremental search | 
|---|
| 974 | Interactively search forward through the Info file for a string as you | 
|---|
| 975 | type it.  If the string includes upper-case characters, the search is | 
|---|
| 976 | case-sensitive; otherwise Info ignores the letter case. | 
|---|
| 977 |  | 
|---|
| 978 | @item @key{C-r} (@code{isearch-backward}) | 
|---|
| 979 | @kindex C-r | 
|---|
| 980 | @findex isearch-backward | 
|---|
| 981 | Interactively search backward through the Info file for a string as | 
|---|
| 982 | you type it.  If the string includes upper-case characters, the search | 
|---|
| 983 | is case-sensitive; otherwise Info ignores the letter case. | 
|---|
| 984 |  | 
|---|
| 985 | @item @key{i} (@code{index-search}) | 
|---|
| 986 | @kindex i | 
|---|
| 987 | @findex index-search | 
|---|
| 988 | @cindex index, searching | 
|---|
| 989 | @cindex searching, in the indices | 
|---|
| 990 | Look up a string in the indices for this Info file, and select a node | 
|---|
| 991 | to which the found index entry points. | 
|---|
| 992 |  | 
|---|
| 993 | @item @key{,} (@code{next-index-match}) | 
|---|
| 994 | @kindex , | 
|---|
| 995 | @findex next-index-match | 
|---|
| 996 | Move to the node containing the next matching index item from the last | 
|---|
| 997 | @samp{i} command. | 
|---|
| 998 |  | 
|---|
| 999 | @item @kbd{M-x index-apropos} | 
|---|
| 1000 | @findex index-apropos | 
|---|
| 1001 | Grovel the indices of all the known Info files on your system for a | 
|---|
| 1002 | string, and build a menu of the possible matches. | 
|---|
| 1003 | @end table | 
|---|
| 1004 |  | 
|---|
| 1005 | The most basic searching command is @samp{s} or @samp{/} | 
|---|
| 1006 | (@code{search}).  The @samp{s} command prompts you for a string in the | 
|---|
| 1007 | echo area, and then searches the remainder of the Info file for an | 
|---|
| 1008 | occurrence of that string.  If the string is found, the node containing | 
|---|
| 1009 | it is selected, and the cursor is left positioned at the start of the | 
|---|
| 1010 | found string.  Subsequent @samp{s} commands show you the default search | 
|---|
| 1011 | string within @samp{[} and @samp{]}; pressing @key{RET} instead of | 
|---|
| 1012 | typing a new string will use the default search string.  Under | 
|---|
| 1013 | @samp{--vi-keys} (@pxref{--vi-keys}), using the @samp{n} or @samp{N} | 
|---|
| 1014 | commands is a faster way of searching for the same string. | 
|---|
| 1015 |  | 
|---|
| 1016 | @dfn{Incremental searching} is similar to basic searching, but the | 
|---|
| 1017 | string is looked up while you are typing it, instead of waiting until | 
|---|
| 1018 | the entire search string has been specified. | 
|---|
| 1019 |  | 
|---|
| 1020 | @cindex search, and case-sensitivity | 
|---|
| 1021 | @cindex case-sensitivity, and search | 
|---|
| 1022 | Both incremental and non-incremental search by default ignore the case | 
|---|
| 1023 | of letters when comparing the Info file text with the search string. | 
|---|
| 1024 | However, an uppercase letter in the search string makes the search | 
|---|
| 1025 | case-sensitive.  You can force a case-sensitive non-incremental search, | 
|---|
| 1026 | even for a string that includes only lower-case letters, by using the | 
|---|
| 1027 | @samp{S} command (@code{search-case-sensitively}).  The @samp{n} and | 
|---|
| 1028 | @samp{N} commands operate case-sensitively if the last search command | 
|---|
| 1029 | was @samp{S}. | 
|---|
| 1030 |  | 
|---|
| 1031 | The most efficient means of finding something quickly in a manual is | 
|---|
| 1032 | the @samp{i} command (@code{index-search}).  This command prompts for | 
|---|
| 1033 | a string, and then looks for that string in all the indices of the | 
|---|
| 1034 | current Info manual.  If it finds a matching index entry, it displays | 
|---|
| 1035 | the node to which that entry refers and prints the full text of the | 
|---|
| 1036 | entry in the echo area.  You can press @samp{,} | 
|---|
| 1037 | (@code{next-index-match}) to find more matches.  A good Info manual | 
|---|
| 1038 | has all of its important concepts indexed, so the @samp{i} command | 
|---|
| 1039 | lets you use a manual as a reference. | 
|---|
| 1040 |  | 
|---|
| 1041 | If you don't know what manual documents something, try the @kbd{M-x | 
|---|
| 1042 | index-apropos} command.  It prompts for a string and then looks up | 
|---|
| 1043 | that string in all the indices of all the Info documents installed on | 
|---|
| 1044 | your system.  It can also be invoked from the command line; see | 
|---|
| 1045 | @ref{--apropos}. | 
|---|
| 1046 |  | 
|---|
| 1047 |  | 
|---|
| 1048 | @node Xref Commands | 
|---|
| 1049 | @chapter Selecting Cross References | 
|---|
| 1050 |  | 
|---|
| 1051 | We have already discussed the @samp{Next}, @samp{Prev}, and @samp{Up} | 
|---|
| 1052 | pointers which appear at the top of a node.  In addition to these | 
|---|
| 1053 | pointers, a node may contain other pointers which refer you to a | 
|---|
| 1054 | different node, perhaps in another Info file.  Such pointers are called | 
|---|
| 1055 | @dfn{cross references}, or @dfn{xrefs} for short. | 
|---|
| 1056 |  | 
|---|
| 1057 | @menu | 
|---|
| 1058 | * Parts of an Xref::            What a cross reference is made of. | 
|---|
| 1059 | * Selecting Xrefs::             Commands for selecting menu or note items. | 
|---|
| 1060 | @end menu | 
|---|
| 1061 |  | 
|---|
| 1062 | @node Parts of an Xref | 
|---|
| 1063 | @section Parts of an Xref | 
|---|
| 1064 |  | 
|---|
| 1065 | Cross references have two major parts: the first part is called the | 
|---|
| 1066 | @dfn{label}; it is the name that you can use to refer to the cross | 
|---|
| 1067 | reference, and the second is the @dfn{target}; it is the full name of | 
|---|
| 1068 | the node that the cross reference points to. | 
|---|
| 1069 |  | 
|---|
| 1070 | The target is separated from the label by a colon @samp{:}; first the | 
|---|
| 1071 | label appears, and then the target.  For example, in the sample menu | 
|---|
| 1072 | cross reference below, the single colon separates the label from the | 
|---|
| 1073 | target. | 
|---|
| 1074 |  | 
|---|
| 1075 | @example | 
|---|
| 1076 | * Foo Label: Foo Target.        More information about Foo. | 
|---|
| 1077 | @end example | 
|---|
| 1078 |  | 
|---|
| 1079 | Note the @samp{.} which ends the name of the target.  The @samp{.} is | 
|---|
| 1080 | not part of the target; it serves only to let Info know where the target | 
|---|
| 1081 | name ends. | 
|---|
| 1082 |  | 
|---|
| 1083 | A shorthand way of specifying references allows two adjacent colons to | 
|---|
| 1084 | stand for a target name which is the same as the label name: | 
|---|
| 1085 |  | 
|---|
| 1086 | @example | 
|---|
| 1087 | * Foo Commands::                Commands pertaining to Foo. | 
|---|
| 1088 | @end example | 
|---|
| 1089 |  | 
|---|
| 1090 | In the above example, the name of the target is the same as the name of | 
|---|
| 1091 | the label, in this case @code{Foo Commands}. | 
|---|
| 1092 |  | 
|---|
| 1093 | You will normally see two types of cross reference while viewing nodes: | 
|---|
| 1094 | @dfn{menu} references, and @dfn{note} references.  Menu references | 
|---|
| 1095 | appear within a node's menu; they begin with a @samp{*} at the beginning | 
|---|
| 1096 | of a line, and continue with a label, a target, and a comment which | 
|---|
| 1097 | describes what the contents of the node pointed to contains. | 
|---|
| 1098 |  | 
|---|
| 1099 | Note references appear within the body of the node text; they begin with | 
|---|
| 1100 | @code{*Note}, and continue with a label and a target. | 
|---|
| 1101 |  | 
|---|
| 1102 | Like @samp{Next}, @samp{Prev}, and @samp{Up} pointers, cross references | 
|---|
| 1103 | can point to any valid node.  They are used to refer you to a place | 
|---|
| 1104 | where more detailed information can be found on a particular subject. | 
|---|
| 1105 | Here is a cross reference which points to a node within the Texinfo | 
|---|
| 1106 | documentation:  @xref{xref, , Writing an Xref, texinfo, the Texinfo | 
|---|
| 1107 | Manual}, for more information on creating your own texinfo cross | 
|---|
| 1108 | references. | 
|---|
| 1109 |  | 
|---|
| 1110 | @node Selecting Xrefs | 
|---|
| 1111 | @section Selecting Xrefs | 
|---|
| 1112 |  | 
|---|
| 1113 | The following table lists the Info commands which operate on menu items. | 
|---|
| 1114 |  | 
|---|
| 1115 | @table @asis | 
|---|
| 1116 | @item @key{1} (@code{menu-digit}) | 
|---|
| 1117 | @itemx @key{2} @dots{} @key{9} | 
|---|
| 1118 | @itemx @key{M-1}, vi-like operation | 
|---|
| 1119 | @itemx @key{M-2} @dots{} @key{M-9}, vi-like operation | 
|---|
| 1120 | @cindex 1 @dots{} 9, in Info windows | 
|---|
| 1121 | @cindex M-1 @dots{} M-9, vi-like operation | 
|---|
| 1122 | @kindex 1 @dots{} 9, in Info windows | 
|---|
| 1123 | @kindex M-1 @dots{} M-9, vi-like operation | 
|---|
| 1124 | @findex menu-digit | 
|---|
| 1125 | Within an Info window, pressing a single digit, (such as @samp{1}), | 
|---|
| 1126 | selects that menu item, and places its node in the current window. | 
|---|
| 1127 | For convenience, there is one exception; pressing @samp{0} selects the | 
|---|
| 1128 | @emph{last} item in the node's menu.  When @samp{--vi-keys} is in | 
|---|
| 1129 | effect, digits set the numeric argument, so these commands are remapped | 
|---|
| 1130 | to their @samp{M-} varieties.  For example, to select the last menu | 
|---|
| 1131 | item, press @key{M-0}. | 
|---|
| 1132 |  | 
|---|
| 1133 | @item @key{0} (@code{last-menu-item}) | 
|---|
| 1134 | @itemx @key{M-0}, vi-like operation | 
|---|
| 1135 | @kindex 0, in Info windows | 
|---|
| 1136 | @kindex M-0, vi-like operation | 
|---|
| 1137 | @findex last-menu-item | 
|---|
| 1138 | Select the last item in the current node's menu. | 
|---|
| 1139 |  | 
|---|
| 1140 | @item @key{m} (@code{menu-item}) | 
|---|
| 1141 | @kindex m | 
|---|
| 1142 | @findex menu-item | 
|---|
| 1143 | Reads the name of a menu item in the echo area and selects its node. | 
|---|
| 1144 | Completion is available while reading the menu label.  @xref{The Echo | 
|---|
| 1145 | Area, completion}. | 
|---|
| 1146 |  | 
|---|
| 1147 | @item @kbd{M-x find-menu} | 
|---|
| 1148 | @findex find-menu | 
|---|
| 1149 | Move the cursor to the start of this node's menu. | 
|---|
| 1150 | @end table | 
|---|
| 1151 |  | 
|---|
| 1152 | This table lists the Info commands which operate on cross references. | 
|---|
| 1153 |  | 
|---|
| 1154 | @table @asis | 
|---|
| 1155 | @item @key{f} (@code{xref-item}) | 
|---|
| 1156 | @itemx @key{r} | 
|---|
| 1157 | @item @key{M-f}, vi-like operation | 
|---|
| 1158 | @itemx @kbd{C-x @key{r}}, vi-like operation | 
|---|
| 1159 | @kindex f | 
|---|
| 1160 | @kindex r | 
|---|
| 1161 | @kindex M-f, vi-like operation | 
|---|
| 1162 | @kindex C-x r, vi-like operation | 
|---|
| 1163 | @findex xref-item | 
|---|
| 1164 | Reads the name of a note cross reference in the echo area and selects | 
|---|
| 1165 | its node.  Completion is available while reading the cross reference | 
|---|
| 1166 | label.  @xref{The Echo Area, completion}. | 
|---|
| 1167 | @end table | 
|---|
| 1168 |  | 
|---|
| 1169 | Finally, the next few commands operate on menu or note references alike: | 
|---|
| 1170 |  | 
|---|
| 1171 | @table @asis | 
|---|
| 1172 | @item @key{TAB} (@code{move-to-next-xref}) | 
|---|
| 1173 | @kindex TAB, in Info windows | 
|---|
| 1174 | @findex move-to-next-xref | 
|---|
| 1175 | Move the cursor to the start of the next nearest menu item or note | 
|---|
| 1176 | reference in this node.  You can then use @key{RET} | 
|---|
| 1177 | (@code{select-reference-this-line}) to select the menu or note reference. | 
|---|
| 1178 |  | 
|---|
| 1179 | @item @key{M-TAB} (@code{move-to-prev-xref}) | 
|---|
| 1180 | @itemx @key{Shift-@key{TAB}} (on DOS/Windows only) | 
|---|
| 1181 | @kindex M-TAB, in Info windows | 
|---|
| 1182 | @findex move-to-prev-xref | 
|---|
| 1183 | Move the cursor the start of the nearest previous menu item or note | 
|---|
| 1184 | reference in this node. | 
|---|
| 1185 |  | 
|---|
| 1186 | @kindex Shift-TAB, in Info windows | 
|---|
| 1187 | @kindex BackTab, in Info windows | 
|---|
| 1188 | On DOS/Windows only, the @kbd{Shift-@key{TAB}} key is an alias for | 
|---|
| 1189 | @kbd{M-@key{TAB}}.  This key is sometimes called @samp{BackTab}. | 
|---|
| 1190 |  | 
|---|
| 1191 | @item @key{RET} (@code{select-reference-this-line}) | 
|---|
| 1192 | @itemx @key{M-g}, vi-like operation | 
|---|
| 1193 | @kindex RET, in Info windows | 
|---|
| 1194 | @kindex M-g, vi-like operation | 
|---|
| 1195 | @findex select-reference-this-line | 
|---|
| 1196 | Select the menu item or note reference appearing on this line. | 
|---|
| 1197 | @end table | 
|---|
| 1198 |  | 
|---|
| 1199 |  | 
|---|
| 1200 | @node Window Commands | 
|---|
| 1201 | @chapter Manipulating Multiple Windows | 
|---|
| 1202 | @cindex windows, manipulating | 
|---|
| 1203 |  | 
|---|
| 1204 | A @dfn{window} is a place to show the text of a node.  Windows have a | 
|---|
| 1205 | view area where the text of the node is displayed, and an associated | 
|---|
| 1206 | @dfn{mode line}, which briefly describes the node being viewed. | 
|---|
| 1207 |  | 
|---|
| 1208 | GNU Info supports multiple windows appearing in a single screen; each | 
|---|
| 1209 | window is separated from the next by its modeline.  At any time, there | 
|---|
| 1210 | is only one @dfn{active} window, that is, the window in which the cursor | 
|---|
| 1211 | appears.  There are commands available for creating windows, changing | 
|---|
| 1212 | the size of windows, selecting which window is active, and for deleting | 
|---|
| 1213 | windows. | 
|---|
| 1214 |  | 
|---|
| 1215 | @menu | 
|---|
| 1216 | * The Mode Line::               What appears in the mode line? | 
|---|
| 1217 | * Basic Windows::               Manipulating windows in Info. | 
|---|
| 1218 | * The Echo Area::               Used for displaying errors and reading input. | 
|---|
| 1219 | @end menu | 
|---|
| 1220 |  | 
|---|
| 1221 | @node The Mode Line | 
|---|
| 1222 | @section The Mode Line | 
|---|
| 1223 |  | 
|---|
| 1224 | A @dfn{mode line} is a line of inverse video which appears at the bottom | 
|---|
| 1225 | of an Info window.  It describes the contents of the window just above | 
|---|
| 1226 | it; this information includes the name of the file and node appearing in | 
|---|
| 1227 | that window, the number of screen lines it takes to display the node, | 
|---|
| 1228 | and the percentage of text that is above the top of the window.  It can | 
|---|
| 1229 | also tell you if the indirect tags table for this Info file needs to be | 
|---|
| 1230 | updated, and whether or not the Info file was compressed when stored on | 
|---|
| 1231 | disk. | 
|---|
| 1232 |  | 
|---|
| 1233 | Here is a sample mode line for a window containing an uncompressed file | 
|---|
| 1234 | named @file{dir}, showing the node @samp{Top}. | 
|---|
| 1235 |  | 
|---|
| 1236 | @example | 
|---|
| 1237 | @group | 
|---|
| 1238 | -----Info: (dir)Top, 40 lines --Top------------------------------------- | 
|---|
| 1239 | ^^   ^   ^^^        ^^ | 
|---|
| 1240 | (file)Node #lines    where | 
|---|
| 1241 | @end group | 
|---|
| 1242 | @end example | 
|---|
| 1243 |  | 
|---|
| 1244 | When a node comes from a file which is compressed on disk, this is | 
|---|
| 1245 | indicated in the mode line with two small @samp{z}'s.  In addition, if | 
|---|
| 1246 | the Info file containing the node has been split into subfiles, the name | 
|---|
| 1247 | of the subfile containing the node appears in the modeline as well: | 
|---|
| 1248 |  | 
|---|
| 1249 | @example | 
|---|
| 1250 | --zz-Info: (emacs)Top, 291 lines --Top-- Subfile: emacs-1.Z------------- | 
|---|
| 1251 | @end example | 
|---|
| 1252 |  | 
|---|
| 1253 | Truncation of long lines (as opposed to wrapping them to the next | 
|---|
| 1254 | display line, @pxref{Scrolling Commands, toggle-wrap}) is indicated by a | 
|---|
| 1255 | @samp{$} at the left edge of the mode line: | 
|---|
| 1256 |  | 
|---|
| 1257 | @example | 
|---|
| 1258 | --$--Info: (texinfo)Top, 480 lines --Top-- Subfile: texinfo-1----------- | 
|---|
| 1259 | @end example | 
|---|
| 1260 |  | 
|---|
| 1261 | When Info makes a node internally, such that there is no corresponding | 
|---|
| 1262 | info file on disk, the name of the node is surrounded by asterisks | 
|---|
| 1263 | (@samp{*}).  The name itself tells you what the contents of the window | 
|---|
| 1264 | are; the sample mode line below shows an internally constructed node | 
|---|
| 1265 | showing possible completions: | 
|---|
| 1266 |  | 
|---|
| 1267 | @example | 
|---|
| 1268 | -----Info: *Completions*, 7 lines --All--------------------------------- | 
|---|
| 1269 | @end example | 
|---|
| 1270 |  | 
|---|
| 1271 | @node Basic Windows | 
|---|
| 1272 | @section Window Commands | 
|---|
| 1273 |  | 
|---|
| 1274 | It can be convenient to view more than one node at a time.  To allow | 
|---|
| 1275 | this, Info can display more than one @dfn{window}.  Each window has its | 
|---|
| 1276 | own mode line (@pxref{The Mode Line}) and history of nodes viewed in that | 
|---|
| 1277 | window (@pxref{Node Commands, , @code{history-node}}). | 
|---|
| 1278 |  | 
|---|
| 1279 | @table @asis | 
|---|
| 1280 | @item @kbd{C-x @key{o}} (@code{next-window}) | 
|---|
| 1281 | @cindex windows, selecting | 
|---|
| 1282 | @kindex C-x o | 
|---|
| 1283 | @findex next-window | 
|---|
| 1284 | Select the next window on the screen.  Note that the echo area can only be | 
|---|
| 1285 | selected if it is already in use, and you have left it temporarily. | 
|---|
| 1286 | Normally, @samp{C-x o} simply moves the cursor into the next window on | 
|---|
| 1287 | the screen, or if you are already within the last window, into the first | 
|---|
| 1288 | window on the screen.  Given a numeric argument, @samp{C-x o} moves over | 
|---|
| 1289 | that many windows.  A negative argument causes @samp{C-x o} to select | 
|---|
| 1290 | the previous window on the screen. | 
|---|
| 1291 |  | 
|---|
| 1292 | @item @kbd{M-x prev-window} | 
|---|
| 1293 | @findex prev-window | 
|---|
| 1294 | Select the previous window on the screen.  This is identical to | 
|---|
| 1295 | @samp{C-x o} with a negative argument. | 
|---|
| 1296 |  | 
|---|
| 1297 | @item @kbd{C-x @key{2}} (@code{split-window}) | 
|---|
| 1298 | @cindex windows, creating | 
|---|
| 1299 | @kindex C-x 2 | 
|---|
| 1300 | @findex split-window | 
|---|
| 1301 | Split the current window into two windows, both showing the same node. | 
|---|
| 1302 | Each window is one half the size of the original window, and the cursor | 
|---|
| 1303 | remains in the original window.  The variable @code{automatic-tiling} | 
|---|
| 1304 | can cause all of the windows on the screen to be resized for you | 
|---|
| 1305 | automatically (@pxref{Variables, , automatic-tiling}). | 
|---|
| 1306 |  | 
|---|
| 1307 | @item @kbd{C-x @key{0}} (@code{delete-window}) | 
|---|
| 1308 | @cindex windows, deleting | 
|---|
| 1309 | @kindex C-x 0 | 
|---|
| 1310 | @findex delete-window | 
|---|
| 1311 | Delete the current window from the screen.  If you have made too many | 
|---|
| 1312 | windows and your screen appears cluttered, this is the way to get rid of | 
|---|
| 1313 | some of them. | 
|---|
| 1314 |  | 
|---|
| 1315 | @item @kbd{C-x @key{1}} (@code{keep-one-window}) | 
|---|
| 1316 | @kindex C-x 1 | 
|---|
| 1317 | @findex keep-one-window | 
|---|
| 1318 | Delete all of the windows excepting the current one. | 
|---|
| 1319 |  | 
|---|
| 1320 | @item @kbd{ESC @key{C-v}} (@code{scroll-other-window}) | 
|---|
| 1321 | @kindex ESC C-v, in Info windows | 
|---|
| 1322 | @findex scroll-other-window | 
|---|
| 1323 | Scroll the other window, in the same fashion that @samp{C-v} might | 
|---|
| 1324 | scroll the current window.  Given a negative argument, scroll the | 
|---|
| 1325 | ``other'' window backward. | 
|---|
| 1326 |  | 
|---|
| 1327 | @item @kbd{C-x @key{^}} (@code{grow-window}) | 
|---|
| 1328 | @kindex C-x ^ | 
|---|
| 1329 | @findex grow-window | 
|---|
| 1330 | Grow (or shrink) the current window.  Given a numeric argument, grow | 
|---|
| 1331 | the current window that many lines; with a negative numeric argument, | 
|---|
| 1332 | shrink the window instead. | 
|---|
| 1333 |  | 
|---|
| 1334 | @item @kbd{C-x @key{t}} (@code{tile-windows}) | 
|---|
| 1335 | @cindex tiling | 
|---|
| 1336 | @kindex C-x t | 
|---|
| 1337 | @findex tile-windows | 
|---|
| 1338 | Divide the available screen space among all of the visible windows. | 
|---|
| 1339 | Each window is given an equal portion of the screen in which to display | 
|---|
| 1340 | its contents.  The variable @code{automatic-tiling} can cause | 
|---|
| 1341 | @code{tile-windows} to be called when a window is created or deleted. | 
|---|
| 1342 | @xref{Variables, , @code{automatic-tiling}}. | 
|---|
| 1343 | @end table | 
|---|
| 1344 |  | 
|---|
| 1345 | @node The Echo Area | 
|---|
| 1346 | @section The Echo Area | 
|---|
| 1347 | @cindex echo area | 
|---|
| 1348 |  | 
|---|
| 1349 | The @dfn{echo area} is a one line window which appears at the bottom of | 
|---|
| 1350 | the screen.  It is used to display informative or error messages, and to | 
|---|
| 1351 | read lines of input from you when that is necessary.  Almost all of the | 
|---|
| 1352 | commands available in the echo area are identical to their Emacs | 
|---|
| 1353 | counterparts, so please refer to that documentation for greater depth of | 
|---|
| 1354 | discussion on the concepts of editing a line of text.  The following | 
|---|
| 1355 | table briefly lists the commands that are available while input is being | 
|---|
| 1356 | read in the echo area: | 
|---|
| 1357 |  | 
|---|
| 1358 | @table @asis | 
|---|
| 1359 | @item @key{C-f} (@code{echo-area-forward}) | 
|---|
| 1360 | @itemx @key{RIGHT} (an arrow key) | 
|---|
| 1361 | @itemx @key{M-h}, vi-like operation | 
|---|
| 1362 | @kindex C-f, in the echo area | 
|---|
| 1363 | @kindex RIGHT, in the echo area | 
|---|
| 1364 | @kindex M-h, in the echo area, vi-like operation | 
|---|
| 1365 | @findex echo-area-forward | 
|---|
| 1366 | Move forward a character. | 
|---|
| 1367 |  | 
|---|
| 1368 | @item @key{C-b} (@code{echo-area-backward}) | 
|---|
| 1369 | @itemx @key{LEFT} (an arrow key) | 
|---|
| 1370 | @itemx @key{M-l}, vi-like operation | 
|---|
| 1371 | @kindex LEFT, in the echo area | 
|---|
| 1372 | @kindex C-b, in the echo area | 
|---|
| 1373 | @kindex M-l, in the echo area, vi-like operation | 
|---|
| 1374 | @findex echo-area-backward | 
|---|
| 1375 | Move backward a character. | 
|---|
| 1376 |  | 
|---|
| 1377 | @item @key{C-a} (@code{echo-area-beg-of-line}) | 
|---|
| 1378 | @itemx @key{M-0}, vi-like operation | 
|---|
| 1379 | @kindex C-a, in the echo area | 
|---|
| 1380 | @kindex M-0, in the echo area, vi-like operation | 
|---|
| 1381 | @findex echo-area-beg-of-line | 
|---|
| 1382 | Move to the start of the input line. | 
|---|
| 1383 |  | 
|---|
| 1384 | @item @key{C-e} (@code{echo-area-end-of-line}) | 
|---|
| 1385 | @itemx @key{M-$}, vi-like operation | 
|---|
| 1386 | @kindex C-e, in the echo area | 
|---|
| 1387 | @kindex M-$, vi-like operation | 
|---|
| 1388 | @findex echo-area-end-of-line | 
|---|
| 1389 | Move to the end of the input line. | 
|---|
| 1390 |  | 
|---|
| 1391 | @item @key{M-f} (@code{echo-area-forward-word}) | 
|---|
| 1392 | @itemx @key{C-@key{RIGHT}} (DOS/Windows only) | 
|---|
| 1393 | @itemx @key{M-w}, vi-like operation | 
|---|
| 1394 | @kindex M-f, in the echo area | 
|---|
| 1395 | @kindex M-w, in the echo area, vi-like operation | 
|---|
| 1396 | @findex echo-area-forward-word | 
|---|
| 1397 | Move forward a word. | 
|---|
| 1398 |  | 
|---|
| 1399 | @kindex C-RIGHT, in the echo area | 
|---|
| 1400 | On DOS/Windows, @kbd{C-@key{RIGHT}} moves forward by words. | 
|---|
| 1401 |  | 
|---|
| 1402 | @item @key{M-b} (@code{echo-area-backward-word}) | 
|---|
| 1403 | @itemx @key{C-@key{LEFT}} (DOS/Windows only) | 
|---|
| 1404 | @kindex M-b, in the echo area | 
|---|
| 1405 | @findex echo-area-backward-word | 
|---|
| 1406 | Move backward a word. | 
|---|
| 1407 |  | 
|---|
| 1408 | @kindex C-LEFT, in the echo area | 
|---|
| 1409 | On DOS/Windows, @kbd{C-@key{LEFT}} moves backward by words. | 
|---|
| 1410 |  | 
|---|
| 1411 | @item @key{C-d} (@code{echo-area-delete}) | 
|---|
| 1412 | @itemx @key{M-x}, vi-like operation | 
|---|
| 1413 | @kindex C-d, in the echo area | 
|---|
| 1414 | @kindex M-x, in the echo area, vi-like operation | 
|---|
| 1415 | @findex echo-area-delete | 
|---|
| 1416 | Delete the character under the cursor. | 
|---|
| 1417 |  | 
|---|
| 1418 | @item @key{DEL} (@code{echo-area-rubout}) | 
|---|
| 1419 | @kindex DEL, in the echo area | 
|---|
| 1420 | @findex echo-area-rubout | 
|---|
| 1421 | Delete the character behind the cursor. | 
|---|
| 1422 |  | 
|---|
| 1423 | On some keyboards, this key is designated @key{BS}, for | 
|---|
| 1424 | @samp{BackSpace}.  Those keyboards will usually bind @key{DEL} in the | 
|---|
| 1425 | echo area to @code{echo-area-delete}. | 
|---|
| 1426 |  | 
|---|
| 1427 | @item @key{C-g} (@code{echo-area-abort}) | 
|---|
| 1428 | @itemx @key{C-u}, vi-like operation | 
|---|
| 1429 | @kindex C-g, in the echo area | 
|---|
| 1430 | @kindex C-u, in the echo area, vi-like operation | 
|---|
| 1431 | @findex echo-area-abort | 
|---|
| 1432 | Cancel or quit the current operation.  If completion is being read, this | 
|---|
| 1433 | command discards the text of the input line which does not match any | 
|---|
| 1434 | completion.  If the input line is empty, it aborts the calling function. | 
|---|
| 1435 |  | 
|---|
| 1436 | @item @key{RET} (@code{echo-area-newline}) | 
|---|
| 1437 | @kindex RET, in the echo area | 
|---|
| 1438 | @findex echo-area-newline | 
|---|
| 1439 | Accept (or forces completion of) the current input line. | 
|---|
| 1440 |  | 
|---|
| 1441 | @item @key{C-q} (@code{echo-area-quoted-insert}) | 
|---|
| 1442 | @itemx @key{C-v}, vi-like operation | 
|---|
| 1443 | @kindex C-q, in the echo area | 
|---|
| 1444 | @kindex C-v, in the echo area, vi-like operation | 
|---|
| 1445 | @findex echo-area-quoted-insert | 
|---|
| 1446 | Insert the next character verbatim.  This is how you can insert control | 
|---|
| 1447 | characters into a search string, for example, or the @samp{?} character | 
|---|
| 1448 | when Info prompts with completion. | 
|---|
| 1449 |  | 
|---|
| 1450 | @item @var{printing character} (@code{echo-area-insert}) | 
|---|
| 1451 | @kindex printing characters, in the echo area | 
|---|
| 1452 | @findex echo-area-insert | 
|---|
| 1453 | Insert the character.  Characters that have their 8th bit set, and not | 
|---|
| 1454 | bound to @samp{M-} commands, are also inserted verbatim; this is useful | 
|---|
| 1455 | for terminals which support Latin scripts. | 
|---|
| 1456 |  | 
|---|
| 1457 | @item @key{M-TAB} (@code{echo-area-tab-insert}) | 
|---|
| 1458 | @itemx @key{Shift-@key{TAB}} (on DOS/Windows only) | 
|---|
| 1459 | @kindex M-TAB, in the echo area | 
|---|
| 1460 | @kindex Shift-TAB, in the echo area | 
|---|
| 1461 | @findex echo-area-tab-insert | 
|---|
| 1462 | Insert a TAB character. | 
|---|
| 1463 |  | 
|---|
| 1464 | @kindex Shift-TAB, in the echo area | 
|---|
| 1465 | @kindex BackTab, in the echo area | 
|---|
| 1466 | On DOS/Windows only, the @kbd{Shift-@key{TAB}} key is an alias for | 
|---|
| 1467 | @kbd{M-@key{TAB}}.  This key is sometimes called @samp{BackTab}. | 
|---|
| 1468 |  | 
|---|
| 1469 | @item @key{C-t} (@code{echo-area-transpose-chars}) | 
|---|
| 1470 | @kindex C-t, in the echo area | 
|---|
| 1471 | @findex echo-area-transpose-chars | 
|---|
| 1472 | Transpose the characters at the cursor. | 
|---|
| 1473 | @end table | 
|---|
| 1474 |  | 
|---|
| 1475 | The next group of commands deal with @dfn{killing}, and @dfn{yanking} | 
|---|
| 1476 | text@footnote{ | 
|---|
| 1477 | Some people are used to calling these operations @dfn{cut} and | 
|---|
| 1478 | @dfn{paste}, respectively.}.   For an in-depth discussion of killing and | 
|---|
| 1479 | yanking, see @ref{Killing, , Killing and Deleting, emacs, the GNU Emacs | 
|---|
| 1480 | Manual}. | 
|---|
| 1481 |  | 
|---|
| 1482 | @table @asis | 
|---|
| 1483 | @item @key{M-d} (@code{echo-area-kill-word}) | 
|---|
| 1484 | @itemx @key{M-X}, vi-like operation | 
|---|
| 1485 | @kindex M-d, in the echo area | 
|---|
| 1486 | @kindex M-X, in the echo area, vi-like operation | 
|---|
| 1487 | @findex echo-area-kill-word | 
|---|
| 1488 | Kill the word following the cursor. | 
|---|
| 1489 |  | 
|---|
| 1490 | @item @key{M-DEL} (@code{echo-area-backward-kill-word}) | 
|---|
| 1491 | @itemx @key{M-@key{BS}} | 
|---|
| 1492 | @kindex M-DEL, in the echo area | 
|---|
| 1493 | @findex echo-area-backward-kill-word | 
|---|
| 1494 | Kill the word preceding the cursor. | 
|---|
| 1495 |  | 
|---|
| 1496 | @kindex M-BS, in the echo area | 
|---|
| 1497 | On some keyboards, the @code{Backspace} key is used instead of | 
|---|
| 1498 | @code{DEL}, so @code{M-@key{Backspace}} has the same effect as | 
|---|
| 1499 | @code{M-@key{DEL}}. | 
|---|
| 1500 |  | 
|---|
| 1501 | @item @key{C-k} (@code{echo-area-kill-line}) | 
|---|
| 1502 | @kindex C-k, in the echo area | 
|---|
| 1503 | @findex echo-area-kill-line | 
|---|
| 1504 | Kill the text from the cursor to the end of the line. | 
|---|
| 1505 |  | 
|---|
| 1506 | @item @kbd{C-x @key{DEL}} (@code{echo-area-backward-kill-line}) | 
|---|
| 1507 | @kindex C-x DEL, in the echo area | 
|---|
| 1508 | @findex echo-area-backward-kill-line | 
|---|
| 1509 | Kill the text from the cursor to the beginning of the line. | 
|---|
| 1510 |  | 
|---|
| 1511 | @item @key{C-y} (@code{echo-area-yank}) | 
|---|
| 1512 | @kindex C-y, in the echo area | 
|---|
| 1513 | @findex echo-area-yank | 
|---|
| 1514 | Yank back the contents of the last kill. | 
|---|
| 1515 |  | 
|---|
| 1516 | @item @key{M-y} (@code{echo-area-yank-pop}) | 
|---|
| 1517 | @kindex M-y, in the echo area | 
|---|
| 1518 | @findex echo-area-yank-pop | 
|---|
| 1519 | Yank back a previous kill, removing the last yanked text first. | 
|---|
| 1520 | @end table | 
|---|
| 1521 |  | 
|---|
| 1522 | @cindex completion | 
|---|
| 1523 | Sometimes when reading input in the echo area, the command that needed | 
|---|
| 1524 | input will only accept one of a list of several choices.  The choices | 
|---|
| 1525 | represent the @dfn{possible completions}, and you must respond with one | 
|---|
| 1526 | of them.  Since there are a limited number of responses you can make, | 
|---|
| 1527 | Info allows you to abbreviate what you type, only typing as much of the | 
|---|
| 1528 | response as is necessary to uniquely identify it.  In addition, you can | 
|---|
| 1529 | request Info to fill in as much of the response as is possible; this | 
|---|
| 1530 | is called @dfn{completion}. | 
|---|
| 1531 |  | 
|---|
| 1532 | The following commands are available when completing in the echo area: | 
|---|
| 1533 |  | 
|---|
| 1534 | @table @asis | 
|---|
| 1535 | @item @key{TAB} (@code{echo-area-complete}) | 
|---|
| 1536 | @itemx @key{SPC} | 
|---|
| 1537 | @kindex TAB, in the echo area | 
|---|
| 1538 | @kindex SPC, in the echo area | 
|---|
| 1539 | @findex echo-area-complete | 
|---|
| 1540 | Insert as much of a completion as is possible. | 
|---|
| 1541 |  | 
|---|
| 1542 | @item @key{?} (@code{echo-area-possible-completions}) | 
|---|
| 1543 | @kindex ?, in the echo area | 
|---|
| 1544 | @findex echo-area-possible-completions | 
|---|
| 1545 | Display a window containing a list of the possible completions of what | 
|---|
| 1546 | you have typed so far.  For example, if the available choices are: | 
|---|
| 1547 |  | 
|---|
| 1548 | @example | 
|---|
| 1549 | @group | 
|---|
| 1550 | bar | 
|---|
| 1551 | foliate | 
|---|
| 1552 | food | 
|---|
| 1553 | forget | 
|---|
| 1554 | @end group | 
|---|
| 1555 | @end example | 
|---|
| 1556 |  | 
|---|
| 1557 | @noindent | 
|---|
| 1558 | and you have typed an @samp{f}, followed by @samp{?}, Info will pop up a | 
|---|
| 1559 | window showing a node called @samp{*Completions*} which lists the | 
|---|
| 1560 | possible completions like this: | 
|---|
| 1561 |  | 
|---|
| 1562 | @example | 
|---|
| 1563 | @group | 
|---|
| 1564 | 3 completions: | 
|---|
| 1565 | foliate         food | 
|---|
| 1566 | forget | 
|---|
| 1567 | @end group | 
|---|
| 1568 | @end example | 
|---|
| 1569 |  | 
|---|
| 1570 | @noindent | 
|---|
| 1571 | i.e., all of the choices which begin with @samp{f}.  Pressing @key{SPC} | 
|---|
| 1572 | or @key{TAB} would result in @samp{fo} appearing in the echo area, since | 
|---|
| 1573 | all of the choices which begin with @samp{f} continue with @samp{o}. | 
|---|
| 1574 | Now, typing @samp{l} followed by @samp{TAB} results in @samp{foliate} | 
|---|
| 1575 | appearing in the echo area, since that is the only choice which begins | 
|---|
| 1576 | with @samp{fol}. | 
|---|
| 1577 |  | 
|---|
| 1578 | @item @key{ESC C-v} (@code{echo-area-scroll-completions-window}) | 
|---|
| 1579 | @kindex ESC C-v, in the echo area | 
|---|
| 1580 | @findex echo-area-scroll-completions-window | 
|---|
| 1581 | Scroll the completions window, if that is visible, or the ``other'' | 
|---|
| 1582 | window if not. | 
|---|
| 1583 | @end table | 
|---|
| 1584 |  | 
|---|
| 1585 |  | 
|---|
| 1586 | @node Printing Nodes | 
|---|
| 1587 | @chapter Printing Nodes | 
|---|
| 1588 | @cindex printing | 
|---|
| 1589 |  | 
|---|
| 1590 | In general, we recommend that you use @TeX{} to format the document and | 
|---|
| 1591 | print sections of it, by running @code{tex} on the Texinfo source file. | 
|---|
| 1592 | However, you may wish to print out the contents of a node as a quick | 
|---|
| 1593 | reference document for later use, or if you don't have @TeX{} installed. | 
|---|
| 1594 | Info provides you with a command for doing this. | 
|---|
| 1595 |  | 
|---|
| 1596 | @table @asis | 
|---|
| 1597 | @item @kbd{M-x print-node} | 
|---|
| 1598 | @findex print-node | 
|---|
| 1599 | @cindex INFO_PRINT_COMMAND, environment variable | 
|---|
| 1600 | Pipe the contents of the current node through the command in the | 
|---|
| 1601 | environment variable @code{INFO_PRINT_COMMAND}.  If the variable does not | 
|---|
| 1602 | exist, the node is simply piped to @code{lpr} (on DOS/Windows, the | 
|---|
| 1603 | default is to print the node to the local printer device, @file{PRN}). | 
|---|
| 1604 |  | 
|---|
| 1605 | @cindex printing nodes to the local printer | 
|---|
| 1606 | @cindex local printer device | 
|---|
| 1607 | The value of @code{INFO_PRINT_COMMAND} may begin with the @samp{>} | 
|---|
| 1608 | character, as in @samp{>/dev/printer}, in which case Info treats the | 
|---|
| 1609 | rest as the name of a file or a device.  Instead of piping to a command, | 
|---|
| 1610 | Info opens the file, writes the node contents, and closes the file, | 
|---|
| 1611 | under the assumption that text written to that file will be printed by | 
|---|
| 1612 | the underlying OS. | 
|---|
| 1613 | @end table | 
|---|
| 1614 |  | 
|---|
| 1615 |  | 
|---|
| 1616 | @node Miscellaneous Commands | 
|---|
| 1617 | @chapter Miscellaneous Commands | 
|---|
| 1618 |  | 
|---|
| 1619 | GNU Info contains several commands which self-document GNU Info: | 
|---|
| 1620 |  | 
|---|
| 1621 | @table @asis | 
|---|
| 1622 | @item @kbd{M-x describe-command} | 
|---|
| 1623 | @cindex functions, describing | 
|---|
| 1624 | @cindex commands, describing | 
|---|
| 1625 | @findex describe-command | 
|---|
| 1626 | Read the name of an Info command in the echo area and then display a | 
|---|
| 1627 | brief description of what that command does. | 
|---|
| 1628 |  | 
|---|
| 1629 | @item @kbd{M-x describe-key} | 
|---|
| 1630 | @cindex keys, describing | 
|---|
| 1631 | @findex describe-key | 
|---|
| 1632 | Read a key sequence in the echo area, and then display the name and | 
|---|
| 1633 | documentation of the Info command that the key sequence invokes. | 
|---|
| 1634 |  | 
|---|
| 1635 | @item @kbd{M-x describe-variable} | 
|---|
| 1636 | Read the name of a variable in the echo area and then display a brief | 
|---|
| 1637 | description of what the variable affects. | 
|---|
| 1638 |  | 
|---|
| 1639 | @item @kbd{M-x where-is} | 
|---|
| 1640 | @findex where-is | 
|---|
| 1641 | Read the name of an Info command in the echo area, and then display | 
|---|
| 1642 | a key sequence which can be typed in order to invoke that command. | 
|---|
| 1643 |  | 
|---|
| 1644 | @item @key{C-h} (@code{get-help-window}) | 
|---|
| 1645 | @itemx @key{?} | 
|---|
| 1646 | @itemx @key{F1} (on DOS/Windows only) | 
|---|
| 1647 | @itemx h, vi-like operation | 
|---|
| 1648 | @kindex C-h | 
|---|
| 1649 | @kindex ?, in Info windows | 
|---|
| 1650 | @kindex F1 | 
|---|
| 1651 | @kindex h, vi-like operation | 
|---|
| 1652 | @findex get-help-window | 
|---|
| 1653 | Create (or Move into) the window displaying @code{*Help*}, and place | 
|---|
| 1654 | a node containing a quick reference card into it.  This window displays | 
|---|
| 1655 | the most concise information about GNU Info available. | 
|---|
| 1656 |  | 
|---|
| 1657 | @item @key{h} (@code{get-info-help-node}) | 
|---|
| 1658 | @itemx @key{M-h}, vi-like operation | 
|---|
| 1659 | @kindex h | 
|---|
| 1660 | @kindex M-h, vi-like operation | 
|---|
| 1661 | @findex get-info-help-node | 
|---|
| 1662 | Try hard to visit the node @code{(info)Help}.  The Info file | 
|---|
| 1663 | @file{info.texi} distributed with GNU Info contains this node.  Of | 
|---|
| 1664 | course, the file must first be processed with @code{makeinfo}, and then | 
|---|
| 1665 | placed into the location of your Info directory. | 
|---|
| 1666 | @end table | 
|---|
| 1667 |  | 
|---|
| 1668 | Here are the commands for creating a numeric argument: | 
|---|
| 1669 |  | 
|---|
| 1670 | @table @asis | 
|---|
| 1671 | @item @key{C-u} (@code{universal-argument}) | 
|---|
| 1672 | @cindex numeric arguments | 
|---|
| 1673 | @kindex C-u | 
|---|
| 1674 | @findex universal-argument | 
|---|
| 1675 | Start (or multiply by 4) the current numeric argument.  @samp{C-u} is | 
|---|
| 1676 | a good way to give a small numeric argument to cursor movement or | 
|---|
| 1677 | scrolling commands; @samp{C-u C-v} scrolls the screen 4 lines, while | 
|---|
| 1678 | @samp{C-u C-u C-n} moves the cursor down 16 lines.  @samp{C-u} followed | 
|---|
| 1679 | by digit keys sets the numeric argument to the number thus typed: | 
|---|
| 1680 | @kbd{C-u 1 2 0} sets the argument to 120. | 
|---|
| 1681 |  | 
|---|
| 1682 | @item @key{M-1} (@code{add-digit-to-numeric-arg}) | 
|---|
| 1683 | @itemx @key{1}, vi-like operation | 
|---|
| 1684 | @itemx @key{M-2} @dots{} @key{M-9} | 
|---|
| 1685 | @itemx @key{2} @dots{} @key{9}, vi-like operation | 
|---|
| 1686 | @itemx @key{M-0} | 
|---|
| 1687 | @itemx @key{0}, vi-like operation | 
|---|
| 1688 | @kindex M-0 @dots{} M-9 | 
|---|
| 1689 | @kindex 0 @dots{} 9, vi-like operation | 
|---|
| 1690 | @findex add-digit-to-numeric-arg | 
|---|
| 1691 | Add the digit value of the invoking key to the current numeric | 
|---|
| 1692 | argument.  Once Info is reading a numeric argument, you may just type | 
|---|
| 1693 | the digits of the argument, without the Meta prefix.  For example, you | 
|---|
| 1694 | might give @samp{C-l} a numeric argument of 32 by typing: | 
|---|
| 1695 |  | 
|---|
| 1696 | @example | 
|---|
| 1697 | @kbd{C-u 3 2 C-l} | 
|---|
| 1698 | @end example | 
|---|
| 1699 |  | 
|---|
| 1700 | @noindent | 
|---|
| 1701 | or | 
|---|
| 1702 |  | 
|---|
| 1703 | @example | 
|---|
| 1704 | @kbd{M-3 2 C-l} | 
|---|
| 1705 | @end example | 
|---|
| 1706 |  | 
|---|
| 1707 | @item @key{M--} (@code{add-digit-to-numeric-arg} | 
|---|
| 1708 | @itemx @key{-} | 
|---|
| 1709 | @kindex M-- | 
|---|
| 1710 | @kindex - | 
|---|
| 1711 | @cindex negative arguments | 
|---|
| 1712 | @cindex arguments, negative | 
|---|
| 1713 | @cindex numeric arguments, negative | 
|---|
| 1714 | To make a negative argument, type @kbd{-}.  Typing @kbd{-} alone makes a | 
|---|
| 1715 | negative argument with a value of -1.  If you continue to type digit or | 
|---|
| 1716 | Meta-digit keys after @kbd{-}, the result is a negative number produced | 
|---|
| 1717 | by those digits. | 
|---|
| 1718 |  | 
|---|
| 1719 | @kbd{-} doesn't work when you type in the echo area, because you need to | 
|---|
| 1720 | be able to insert the @samp{-} character itself; use @kbd{M--} instead, | 
|---|
| 1721 | if you need to specify negative arguments in the echo area. | 
|---|
| 1722 | @end table | 
|---|
| 1723 |  | 
|---|
| 1724 | @samp{C-g} is used to abort the reading of a multi-character key | 
|---|
| 1725 | sequence, to cancel lengthy operations (such as multi-file searches) and | 
|---|
| 1726 | to cancel reading input in the echo area. | 
|---|
| 1727 |  | 
|---|
| 1728 | @table @asis | 
|---|
| 1729 | @item @key{C-g} (@code{abort-key}) | 
|---|
| 1730 | @itemx @key{C-u}, vi-like operation | 
|---|
| 1731 | @cindex cancelling typeahead | 
|---|
| 1732 | @cindex cancelling the current operation | 
|---|
| 1733 | @kindex C-g, in Info windows | 
|---|
| 1734 | @kindex C-u cancels typeahead, vi-like operation | 
|---|
| 1735 | @findex abort-key | 
|---|
| 1736 | Cancel current operation. | 
|---|
| 1737 | @end table | 
|---|
| 1738 |  | 
|---|
| 1739 | The @samp{q} command of Info simply quits running Info.  Under | 
|---|
| 1740 | @samp{--vi-keys} (@pxref{--vi-keys}), you can also exit with @samp{:q} | 
|---|
| 1741 | or @samp{ZZ}. | 
|---|
| 1742 |  | 
|---|
| 1743 | @table @asis | 
|---|
| 1744 | @item @key{q} (@code{quit}) | 
|---|
| 1745 | @itemx @kbd{C-x C-c} | 
|---|
| 1746 | @itemx @kbd{:q}, vi-like operation | 
|---|
| 1747 | @itemx @kbd{ZZ}, vi-like operation | 
|---|
| 1748 | @cindex quitting | 
|---|
| 1749 | @kindex q | 
|---|
| 1750 | @kindex C-x C-c | 
|---|
| 1751 | @kindex ZZ, vi-like operation | 
|---|
| 1752 | @findex quit | 
|---|
| 1753 | Exit GNU Info. | 
|---|
| 1754 | @end table | 
|---|
| 1755 |  | 
|---|
| 1756 | If the operating system tells GNU Info that the screen is 60 lines tall, | 
|---|
| 1757 | and it is actually only 40 lines tall, here is a way to tell Info that | 
|---|
| 1758 | the operating system is correct. | 
|---|
| 1759 |  | 
|---|
| 1760 | @table @asis | 
|---|
| 1761 | @item @kbd{M-x set-screen-height} | 
|---|
| 1762 | @findex set-screen-height | 
|---|
| 1763 | @cindex screen, changing the height of | 
|---|
| 1764 | Read a height value in the echo area and set the height of the | 
|---|
| 1765 | displayed screen to that value. | 
|---|
| 1766 | @end table | 
|---|
| 1767 |  | 
|---|
| 1768 | On MS-DOS/MS-Windows, this command actually tries to change the | 
|---|
| 1769 | dimensions of the visible screen to the value you type in the echo | 
|---|
| 1770 | area. | 
|---|
| 1771 |  | 
|---|
| 1772 | Finally, Info provides a convenient way to display footnotes which might | 
|---|
| 1773 | be associated with the current node that you are viewing: | 
|---|
| 1774 |  | 
|---|
| 1775 | @table @asis | 
|---|
| 1776 | @item @key{ESC C-f} (@code{show-footnotes}) | 
|---|
| 1777 | @kindex ESC C-f | 
|---|
| 1778 | @findex show-footnotes | 
|---|
| 1779 | @cindex footnotes, displaying | 
|---|
| 1780 | Show the footnotes (if any) associated with the current node in another | 
|---|
| 1781 | window.  You can have Info automatically display the footnotes | 
|---|
| 1782 | associated with a node when the node is selected by setting the variable | 
|---|
| 1783 | @code{automatic-footnotes}.  @xref{Variables, , @code{automatic-footnotes}}. | 
|---|
| 1784 | @end table | 
|---|
| 1785 |  | 
|---|
| 1786 |  | 
|---|
| 1787 | @node Variables | 
|---|
| 1788 | @chapter Manipulating Variables | 
|---|
| 1789 |  | 
|---|
| 1790 | GNU Info contains several @dfn{variables} whose values are looked at by | 
|---|
| 1791 | various Info commands.  You can change the values of these variables, | 
|---|
| 1792 | and thus change the behavior of Info to more closely match your | 
|---|
| 1793 | environment and Info file reading manner. | 
|---|
| 1794 |  | 
|---|
| 1795 | There are two ways to set the value of a variable: interactively, using | 
|---|
| 1796 | the @code{set-variable} command described below, or in the @code{#var} | 
|---|
| 1797 | section of the @code{.infokey} file.  @xref{Custom Key Bindings}. | 
|---|
| 1798 |  | 
|---|
| 1799 | @table @asis | 
|---|
| 1800 | @item @kbd{M-x set-variable} | 
|---|
| 1801 | @cindex variables, setting | 
|---|
| 1802 | @findex set-variable | 
|---|
| 1803 | Read the name of a variable, and the value for it, in the echo area and | 
|---|
| 1804 | then set the variable to that value.  Completion is available when | 
|---|
| 1805 | reading the variable name (@pxref{The Echo Area, completion}); often, | 
|---|
| 1806 | completion is available when reading the value to give to the variable, | 
|---|
| 1807 | but that depends on the variable itself.  If a variable does @emph{not} | 
|---|
| 1808 | supply multiple choices to complete over, it expects a numeric value. | 
|---|
| 1809 |  | 
|---|
| 1810 | @item @kbd{M-x describe-variable} | 
|---|
| 1811 | @cindex variables, describing | 
|---|
| 1812 | @findex describe-variable | 
|---|
| 1813 | Read the name of a variable in the echo area and then display a brief | 
|---|
| 1814 | description of what the variable affects. | 
|---|
| 1815 | @end table | 
|---|
| 1816 |  | 
|---|
| 1817 | Here is a list of the variables that you can set in Info. | 
|---|
| 1818 |  | 
|---|
| 1819 | @table @code | 
|---|
| 1820 | @item automatic-footnotes | 
|---|
| 1821 | @vindex automatic-footnotes | 
|---|
| 1822 | When set to @code{On}, footnotes appear and disappear automatically; | 
|---|
| 1823 | else, they appear at the bottom of the node text.  This variable is | 
|---|
| 1824 | @code{Off} by default.  When a node is selected, a window containing | 
|---|
| 1825 | the footnotes which appear in that node is created, and the footnotes | 
|---|
| 1826 | are displayed within the new window.  The window that Info creates to | 
|---|
| 1827 | contain the footnotes is called @samp{*Footnotes*}.  If a node is | 
|---|
| 1828 | selected which contains no footnotes, and a @samp{*Footnotes*} window | 
|---|
| 1829 | is on the screen, the @samp{*Footnotes*} window is deleted.  Footnote | 
|---|
| 1830 | windows created in this fashion are not automatically tiled so that | 
|---|
| 1831 | they can use as little of the display as is possible. | 
|---|
| 1832 |  | 
|---|
| 1833 | @item automatic-tiling | 
|---|
| 1834 | @vindex automatic-tiling | 
|---|
| 1835 | When set to @code{On}, creating or deleting a window resizes other | 
|---|
| 1836 | windows.  This variable is @code{Off} by default.  Normally, typing | 
|---|
| 1837 | @samp{C-x 2} divides the current window into two equal parts.  When | 
|---|
| 1838 | @code{automatic-tiling} is set to @code{On}, all of the windows are | 
|---|
| 1839 | resized automatically, keeping an equal number of lines visible in each | 
|---|
| 1840 | window.  There are exceptions to the automatic tiling; specifically, the | 
|---|
| 1841 | windows @samp{*Completions*} and @samp{*Footnotes*} are @emph{not} | 
|---|
| 1842 | resized through automatic tiling; they remain their original size. | 
|---|
| 1843 |  | 
|---|
| 1844 | @item errors-ring-bell | 
|---|
| 1845 | @vindex errors-ring-bell | 
|---|
| 1846 | When set to @code{On}, errors cause the bell to ring.  The default | 
|---|
| 1847 | setting of this variable is @code{On}. | 
|---|
| 1848 |  | 
|---|
| 1849 | @item gc-compressed-files | 
|---|
| 1850 | @vindex gc-compressed-files | 
|---|
| 1851 | When set to @code{On}, Info garbage collects files which had to be | 
|---|
| 1852 | uncompressed.  The default value of this variable is @code{Off}. | 
|---|
| 1853 | Whenever a node is visited in Info, the Info file containing that node | 
|---|
| 1854 | is read into core, and Info reads information about the tags and nodes | 
|---|
| 1855 | contained in that file.  Once the tags information is read by Info, it | 
|---|
| 1856 | is never forgotten.  However, the actual text of the nodes does not need | 
|---|
| 1857 | to remain in core unless a particular Info window needs it.  For | 
|---|
| 1858 | non-compressed files, the text of the nodes does not remain in core when | 
|---|
| 1859 | it is no longer in use.  But de-compressing a file can be a time | 
|---|
| 1860 | consuming operation, and so Info tries hard not to do it twice. | 
|---|
| 1861 | @code{gc-compressed-files} tells Info it is okay to garbage collect the | 
|---|
| 1862 | text of the nodes of a file which was compressed on disk. | 
|---|
| 1863 |  | 
|---|
| 1864 | @item ISO-Latin | 
|---|
| 1865 | @cindex ISO Latin characters | 
|---|
| 1866 | @vindex ISO-Latin | 
|---|
| 1867 | When set to @code{On}, Info accepts and displays ISO Latin characters. | 
|---|
| 1868 | By default, Info assumes an ASCII character set.  @code{ISO-Latin} tells | 
|---|
| 1869 | Info that it is running in an environment where the European standard | 
|---|
| 1870 | character set is in use, and allows you to input such characters to | 
|---|
| 1871 | Info, as well as display them. | 
|---|
| 1872 |  | 
|---|
| 1873 | @item scroll-behavior | 
|---|
| 1874 | @vindex scroll-behavior | 
|---|
| 1875 | Control what happens when forward scrolling is requested at the end of | 
|---|
| 1876 | a node, or when backward scrolling is requested at the beginning of a | 
|---|
| 1877 | node.  The default value for this variable is @code{Continuous}.  There | 
|---|
| 1878 | are three possible values for this variable: | 
|---|
| 1879 |  | 
|---|
| 1880 | @table @code | 
|---|
| 1881 | @item Continuous | 
|---|
| 1882 | Try to get the first item in this node's menu, or failing that, the | 
|---|
| 1883 | @samp{Next} node, or failing that, the @samp{Next} of the @samp{Up}. | 
|---|
| 1884 | This behavior is identical to using the @samp{]} | 
|---|
| 1885 | (@code{global-next-node}) and @samp{[} (@code{global-prev-node}) | 
|---|
| 1886 | commands. | 
|---|
| 1887 |  | 
|---|
| 1888 | @item Next Only | 
|---|
| 1889 | Only try to get the @samp{Next} node. | 
|---|
| 1890 |  | 
|---|
| 1891 | @item Page Only | 
|---|
| 1892 | Simply give up, changing nothing.  If @code{scroll-behavior} is | 
|---|
| 1893 | @code{Page Only}, no scrolling command can change the node that is being | 
|---|
| 1894 | viewed. | 
|---|
| 1895 | @end table | 
|---|
| 1896 |  | 
|---|
| 1897 | @item scroll-step | 
|---|
| 1898 | @vindex scroll-step | 
|---|
| 1899 | The number of lines to scroll when the cursor moves out of the window. | 
|---|
| 1900 | Scrolling happens automatically if the cursor has moved out of the | 
|---|
| 1901 | visible portion of the node text when it is time to display.  Usually | 
|---|
| 1902 | the scrolling is done so as to put the cursor on the center line of the | 
|---|
| 1903 | current window.  However, if the variable @code{scroll-step} has a | 
|---|
| 1904 | nonzero value, Info attempts to scroll the node text by that many lines; | 
|---|
| 1905 | if that is enough to bring the cursor back into the window, that is what | 
|---|
| 1906 | is done.  The default value of this variable is 0, thus placing the | 
|---|
| 1907 | cursor (and the text it is attached to) in the center of the window. | 
|---|
| 1908 | Setting this variable to 1 causes a kind of ``smooth scrolling'' which | 
|---|
| 1909 | some people prefer. | 
|---|
| 1910 |  | 
|---|
| 1911 | @item show-index-match | 
|---|
| 1912 | @vindex show-index-match | 
|---|
| 1913 | When set to @code{On}, the portion of the matched search string is | 
|---|
| 1914 | highlighted in the message which explains where the matched search | 
|---|
| 1915 | string was found.  The default value of this variable is @code{On}. | 
|---|
| 1916 | When Info displays the location where an index match was found, | 
|---|
| 1917 | (@pxref{Searching Commands, , @code{next-index-match}}), the portion of the | 
|---|
| 1918 | string that you had typed is highlighted by displaying it in the inverse | 
|---|
| 1919 | case from its surrounding characters. | 
|---|
| 1920 |  | 
|---|
| 1921 | @item visible-bell | 
|---|
| 1922 | @vindex visible-bell | 
|---|
| 1923 | When set to @code{On}, GNU Info attempts to flash the screen instead of | 
|---|
| 1924 | ringing the bell.  This variable is @code{Off} by default.  Of course, | 
|---|
| 1925 | Info can only flash the screen if the terminal allows it; in the case | 
|---|
| 1926 | that the terminal does not allow it, the setting of this variable has no | 
|---|
| 1927 | effect.  However, you can make Info perform quietly by setting the | 
|---|
| 1928 | @code{errors-ring-bell} variable to @code{Off}. | 
|---|
| 1929 |  | 
|---|
| 1930 | @end table | 
|---|
| 1931 |  | 
|---|
| 1932 |  | 
|---|
| 1933 | @node Custom Key Bindings | 
|---|
| 1934 | @chapter Customizing Key Bindings and Variables | 
|---|
| 1935 |  | 
|---|
| 1936 | @cindex default key bindings, overriding | 
|---|
| 1937 | @cindex overriding default key bindings | 
|---|
| 1938 | @cindex customizing key bindings | 
|---|
| 1939 | @cindex key bindings, customizing | 
|---|
| 1940 | @cindex infokey | 
|---|
| 1941 | @cindex .info | 
|---|
| 1942 | @cindex .infokey | 
|---|
| 1943 | @cindex _info file (MS-DOS) | 
|---|
| 1944 |  | 
|---|
| 1945 | For those whose editor/pager of choice is not Emacs and who are not | 
|---|
| 1946 | entirely satisfied with the --vi-keys option (@pxref{--vi-keys}), GNU | 
|---|
| 1947 | Info provides a way to define different key-to-command bindings and | 
|---|
| 1948 | variable settings from the defaults described in this document. | 
|---|
| 1949 |  | 
|---|
| 1950 | On startup, GNU Info looks for a configuration file in the invoker's | 
|---|
| 1951 | HOME directory called @file{.info}@footnote{Due to the limitations of | 
|---|
| 1952 | DOS filesystems, the MS-DOS version of Info looks for a file | 
|---|
| 1953 | @file{_info} instead.  If the @env{HOME} variable is not defined, Info | 
|---|
| 1954 | additionally looks in the current directory.}.  If it is present, and | 
|---|
| 1955 | appears to contain Info configuration data, and was created with the | 
|---|
| 1956 | current version of the @code{infokey} command, then Info adopts the | 
|---|
| 1957 | key bindings and variable settings contained therein. | 
|---|
| 1958 |  | 
|---|
| 1959 | The @file{.info} file contains compact, non-textual data for reasons of | 
|---|
| 1960 | efficiency and because its design was lifted wholesale from the GNU Less | 
|---|
| 1961 | program, which also does it that way.  It must be created by compiling a | 
|---|
| 1962 | textual source file using the @code{infokey} command. | 
|---|
| 1963 |  | 
|---|
| 1964 | @menu | 
|---|
| 1965 | * Invoking infokey:: | 
|---|
| 1966 | * infokey source format:: | 
|---|
| 1967 | @end menu | 
|---|
| 1968 |  | 
|---|
| 1969 |  | 
|---|
| 1970 | @node Invoking infokey | 
|---|
| 1971 | @section Invoking @command{infokey} | 
|---|
| 1972 |  | 
|---|
| 1973 | @cindex invoking infokey | 
|---|
| 1974 | @cindex infokey, invoking | 
|---|
| 1975 | @cindex _infokey file (MS-DOS) | 
|---|
| 1976 |  | 
|---|
| 1977 | @command{infokey} compiles a source file | 
|---|
| 1978 | (@file{$HOME/.infokey}@footnote{This file is named @file{_infokey} in | 
|---|
| 1979 | the MS-DOS version, and is looked for in the current directory if | 
|---|
| 1980 | @env{HOME} is undefined.} by default) containing Info customizations | 
|---|
| 1981 | into a binary format (@file{$HOME/.info} by default).  GNU Info reads | 
|---|
| 1982 | the binary file at startup to override the default key bindings and | 
|---|
| 1983 | variable definitions.  Synopsis: | 
|---|
| 1984 |  | 
|---|
| 1985 | @example | 
|---|
| 1986 | infokey [@var{option}@dots{}] [@var{input-file}] | 
|---|
| 1987 | @end example | 
|---|
| 1988 |  | 
|---|
| 1989 | Besides the standard @option{--help} and @option{--version}, the only | 
|---|
| 1990 | option is @option{--output @var{file}}.  This tells @command{infokey} to | 
|---|
| 1991 | write the binary data to @var{file} instead of @file{$HOME/.info}. | 
|---|
| 1992 |  | 
|---|
| 1993 |  | 
|---|
| 1994 | @node infokey source format | 
|---|
| 1995 | @section @command{infokey} source format | 
|---|
| 1996 |  | 
|---|
| 1997 | @cindex infokey source format | 
|---|
| 1998 | @cindex .infokey source format | 
|---|
| 1999 | @cindex format of .infokey source | 
|---|
| 2000 |  | 
|---|
| 2001 | The format of the source file read by @command{infokey} is most easily | 
|---|
| 2002 | illustrated by example.  For instance, here is a sample @file{.infokey} | 
|---|
| 2003 | source file suitable for aficionados of @command{vi} or @command{less}: | 
|---|
| 2004 |  | 
|---|
| 2005 | @example | 
|---|
| 2006 | #info | 
|---|
| 2007 | j       next-line | 
|---|
| 2008 | k       prev-line | 
|---|
| 2009 | l       forward-char | 
|---|
| 2010 | h       backward-char | 
|---|
| 2011 | \kd     next-line | 
|---|
| 2012 | \ku     prev-line | 
|---|
| 2013 | \kr     forward-char | 
|---|
| 2014 | \kl     backward-char | 
|---|
| 2015 | \       scroll-forward | 
|---|
| 2016 | \kD     scroll-forward-page-only | 
|---|
| 2017 | b       scroll-backward | 
|---|
| 2018 | \kU     scroll-backward-page-only | 
|---|
| 2019 | g       beginning-of-node | 
|---|
| 2020 | \kh     beginning-of-node | 
|---|
| 2021 | G       end-of-node | 
|---|
| 2022 | \ke     end-of-node | 
|---|
| 2023 | \t      select-reference-this-line | 
|---|
| 2024 | -       history-node | 
|---|
| 2025 | n       next-node | 
|---|
| 2026 | p       prev-node | 
|---|
| 2027 | u       up-node | 
|---|
| 2028 | t       top-node | 
|---|
| 2029 | d       dir-node | 
|---|
| 2030 | #var | 
|---|
| 2031 | scroll-step=1 | 
|---|
| 2032 | @end example | 
|---|
| 2033 |  | 
|---|
| 2034 | The source file consists of one or more @dfn{sections}. | 
|---|
| 2035 | Each section starts with a line that identifies the type of section. | 
|---|
| 2036 | Possible sections are: | 
|---|
| 2037 |  | 
|---|
| 2038 | @table @code | 
|---|
| 2039 | @item #info | 
|---|
| 2040 | Key bindings for Info windows. | 
|---|
| 2041 | The start of this section is indicated by a line containing just | 
|---|
| 2042 | @code{#info} by itself.  If this is the first section in the source | 
|---|
| 2043 | file, the @code{#info} line can be omitted.  The rest of this section | 
|---|
| 2044 | consists of lines of the form: | 
|---|
| 2045 |  | 
|---|
| 2046 | @example | 
|---|
| 2047 | @var{string} whitespace @var{action} [ whitespace [ # comment ] ] newline | 
|---|
| 2048 | @end example | 
|---|
| 2049 |  | 
|---|
| 2050 | Whitespace is any sequence of one or more spaces and/or tabs.  Comment | 
|---|
| 2051 | is any sequence of any characters, excluding newline.  @var{string} is | 
|---|
| 2052 | the key sequence which invokes the action.  @var{action} is the name of | 
|---|
| 2053 | an Info command.  The characters in @var{string} are interpreted | 
|---|
| 2054 | literally or prefixed by a caret (@code{^}) to indicate a control | 
|---|
| 2055 | character.  A backslash followed by certain characters specifies input | 
|---|
| 2056 | keystrokes as follows: | 
|---|
| 2057 |  | 
|---|
| 2058 | @table @code | 
|---|
| 2059 | @item \b | 
|---|
| 2060 | Backspace | 
|---|
| 2061 | @item \e | 
|---|
| 2062 | Escape (ESC) | 
|---|
| 2063 | @item \n | 
|---|
| 2064 | Newline | 
|---|
| 2065 | @item \r | 
|---|
| 2066 | Return | 
|---|
| 2067 | @item \t | 
|---|
| 2068 | Tab | 
|---|
| 2069 | @item \ku | 
|---|
| 2070 | Up arrow | 
|---|
| 2071 | @item \kd | 
|---|
| 2072 | Down arrow | 
|---|
| 2073 | @item \kl | 
|---|
| 2074 | Left arrow | 
|---|
| 2075 | @item \kr | 
|---|
| 2076 | Right arrow | 
|---|
| 2077 | @item \kU | 
|---|
| 2078 | Page Up | 
|---|
| 2079 | @item \kD | 
|---|
| 2080 | Page Down | 
|---|
| 2081 | @item \kh | 
|---|
| 2082 | HOME | 
|---|
| 2083 | @item \ke | 
|---|
| 2084 | END | 
|---|
| 2085 | @item \kx | 
|---|
| 2086 | Delete (DEL) | 
|---|
| 2087 | @item \m@var{x} | 
|---|
| 2088 | Meta-@var{x} where @var{x} is any character as described above. | 
|---|
| 2089 | @end table | 
|---|
| 2090 |  | 
|---|
| 2091 | Backslash followed by any other character indicates that character is to | 
|---|
| 2092 | be taken literally.  Characters which must be preceded by a backslash | 
|---|
| 2093 | include caret, space, tab, and backslash itself. | 
|---|
| 2094 |  | 
|---|
| 2095 | @item #echo-area | 
|---|
| 2096 | Key bindings for the echo area. | 
|---|
| 2097 | The start of this section is indicated by a line containing just | 
|---|
| 2098 | @code{#echo-area} by itself.  The rest of this section has a syntax | 
|---|
| 2099 | identical to that for the key definitions for the Info area, described | 
|---|
| 2100 | above. | 
|---|
| 2101 |  | 
|---|
| 2102 | @item #var | 
|---|
| 2103 | Variable initializations. | 
|---|
| 2104 | The start of this section is indicated by a line containing just | 
|---|
| 2105 | @code{#var} by itself.  Following this line is a list of variable | 
|---|
| 2106 | assignments, one per line.  Each line consists of a variable name | 
|---|
| 2107 | (@xref{Variables},) followed by @code{=} followed by a value. | 
|---|
| 2108 | There may be no white space between the variable name and the @code{=}, | 
|---|
| 2109 | and all characters following the @code{=}, including white space, | 
|---|
| 2110 | are included in the value. | 
|---|
| 2111 | @end table | 
|---|
| 2112 |  | 
|---|
| 2113 | Blank lines and lines starting with @code{#} are ignored, except for | 
|---|
| 2114 | the special section header lines. | 
|---|
| 2115 |  | 
|---|
| 2116 | Key bindings defined in the @file{.info} file take precedence over GNU | 
|---|
| 2117 | Info's default key bindings, whether or not @samp{--vi-keys} is used.  A | 
|---|
| 2118 | default key binding may be disabled by overriding it in the @file{.info} | 
|---|
| 2119 | file with the action @code{invalid}.  In addition, @emph{all} default | 
|---|
| 2120 | key bindings can be disabled by adding this line @emph{anywhere} in the | 
|---|
| 2121 | relevant section: | 
|---|
| 2122 |  | 
|---|
| 2123 | @example | 
|---|
| 2124 | #stop | 
|---|
| 2125 | @end example | 
|---|
| 2126 |  | 
|---|
| 2127 | This will cause GNU Info to ignore all the default key commands for that | 
|---|
| 2128 | section. | 
|---|
| 2129 |  | 
|---|
| 2130 | Beware: @code{#stop} can be dangerous.  Since it disables all default | 
|---|
| 2131 | key bindings, you must supply enough new key bindings to enable all | 
|---|
| 2132 | necessary actions.  Failure to bind any key to the @code{quit} command, | 
|---|
| 2133 | for example, can lead to frustration. | 
|---|
| 2134 |  | 
|---|
| 2135 | The order in which key bindings are defined in the @file{.info} file is | 
|---|
| 2136 | not important, except that the command summary produced by the | 
|---|
| 2137 | @code{get-help-window} command only displays the @emph{first} key that | 
|---|
| 2138 | is bound to each command. | 
|---|
| 2139 |  | 
|---|
| 2140 |  | 
|---|
| 2141 | @c the following is incomplete | 
|---|
| 2142 | @ignore | 
|---|
| 2143 | @c node Info for Sys Admins | 
|---|
| 2144 | @c chapter Info for System Administrators | 
|---|
| 2145 |  | 
|---|
| 2146 | This text describes some common ways of setting up an Info hierarchy | 
|---|
| 2147 | from scratch, and details the various options that are available when | 
|---|
| 2148 | installing Info.  This text is designed for the person who is installing | 
|---|
| 2149 | GNU Info on the system; although users may find the information present | 
|---|
| 2150 | in this section interesting, none of it is vital to understanding how to | 
|---|
| 2151 | use GNU Info. | 
|---|
| 2152 |  | 
|---|
| 2153 | @menu | 
|---|
| 2154 | * Setting the INFOPATH::        Where are my Info files kept? | 
|---|
| 2155 | * Editing the DIR node::        What goes in `DIR', and why? | 
|---|
| 2156 | * Storing Info files::          Alternate formats allow flexibility in setups. | 
|---|
| 2157 | * Using `localdir'::            Building DIR on the fly. | 
|---|
| 2158 | * Example setups::              Some common ways to organize Info files. | 
|---|
| 2159 | @end menu | 
|---|
| 2160 |  | 
|---|
| 2161 | @c node Setting the INFOPATH | 
|---|
| 2162 | @c section Setting the INFOPATH | 
|---|
| 2163 |  | 
|---|
| 2164 | Where are my Info files kept? | 
|---|
| 2165 |  | 
|---|
| 2166 | @c node Editing the DIR node | 
|---|
| 2167 | @c section Editing the DIR node | 
|---|
| 2168 |  | 
|---|
| 2169 | What goes in `DIR', and why? | 
|---|
| 2170 |  | 
|---|
| 2171 | @c node Storing Info files | 
|---|
| 2172 | @c section Storing Info files | 
|---|
| 2173 |  | 
|---|
| 2174 | Alternate formats allow flexibility in setups. | 
|---|
| 2175 |  | 
|---|
| 2176 | @c node Using `localdir' | 
|---|
| 2177 | @c section Using `localdir' | 
|---|
| 2178 |  | 
|---|
| 2179 | Building DIR on the fly. | 
|---|
| 2180 |  | 
|---|
| 2181 | @c node Example setups | 
|---|
| 2182 | @c section Example setups | 
|---|
| 2183 |  | 
|---|
| 2184 | Some common ways to organize Info files. | 
|---|
| 2185 | @end ignore | 
|---|
| 2186 |  | 
|---|
| 2187 |  | 
|---|
| 2188 | @node Copying This Manual | 
|---|
| 2189 | @appendix Copying This Manual | 
|---|
| 2190 |  | 
|---|
| 2191 | @menu | 
|---|
| 2192 | * GNU Free Documentation License::  License for copying this manual. | 
|---|
| 2193 | @end menu | 
|---|
| 2194 |  | 
|---|
| 2195 | @include fdl.texi | 
|---|
| 2196 |  | 
|---|
| 2197 |  | 
|---|
| 2198 | @node Index | 
|---|
| 2199 | @appendix Index | 
|---|
| 2200 |  | 
|---|
| 2201 | @printindex cp | 
|---|
| 2202 |  | 
|---|
| 2203 | @bye | 
|---|