X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=info%2Fxemacs.info-5;h=41187a8914fab1478a8c5714dbc25e8e5ab30945;hb=3de8c843f9fa613afed2e5a81c3ed11e0de3e65f;hp=07612041d4bc0650c8130b5a94d97ae3bdfccb7b;hpb=7d6edaefa00e7b7e102354283824a4f6a721b71a;p=chise%2Fxemacs-chise.git- diff --git a/info/xemacs.info-5 b/info/xemacs.info-5 index 0761204..41187a8 100644 --- a/info/xemacs.info-5 +++ b/info/xemacs.info-5 @@ -1,4 +1,4 @@ -This is ../info/xemacs.info, produced by makeinfo version 4.0 from +This is ../info/xemacs.info, produced by makeinfo version 4.0b from xemacs/xemacs.texi. INFO-DIR-SECTION XEmacs Editor @@ -30,6 +30,521 @@ versions, except that the sections entitled "The GNU Manifesto", translation approved by the author instead of in the original English.  +File: xemacs.info, Node: Library Keywords, Next: Help Mode, Prev: Apropos, Up: Help + +Keyword Search for Lisp Libraries +================================= + + The `C-h p' command lets you search the standard Emacs Lisp +libraries by topic keywords. Here is a partial list of keywords you can +use: + + abbrev abbreviation handling, typing shortcuts, macros + bib code related to the `bib' bibliography processor + c C, C++, and Objective-C language support + calendar calendar and time management support + comm communications, networking, remote access to files + data support for editing files of data + docs support for Emacs documentation + dumped files preloaded into Emacs + emulations emulations of other editors + extensions Emacs Lisp language extensions + faces support for multiple fonts + frames support for Emacs frames and window systems + games games, jokes and amusements + hardware support for interfacing with exotic hardware + help support for on-line help systems + hypermedia support for links between text or other media types + i18n internationalization and alternate character-set support + internal code for Emacs internals, build process, defaults + languages specialized modes for editing programming languages + lisp Lisp support, including Emacs Lisp + local code local to your site + maint maintenance aids for the Emacs development group + mail modes for electronic-mail handling + matching various sorts of searching and matching + mouse mouse support + mule multi-language extensions + news support for netnews reading and posting + oop support for object-oriented programming + outlines support for hierarchical outlining + processes process, subshell, compilation, and job control support + terminals support for terminal types + tex code related to the TeX formatter + tools programming tools + unix front-ends/assistants for, or emulators of, UNIX features + vms support code for vms + wp word processing + + +File: xemacs.info, Node: Help Mode, Next: Misc Help, Prev: Library Keywords, Up: Help + +Help Mode Commands +================== + + Help buffers provide the commands of View mode (*note Misc File +Ops::), plus a few special commands of their own. + +`' + Scroll forward. + +`' +`' + Scroll backward. + + When a command name (*note Running Commands by Name: M-x.) or +variable name (*note Variables::) appears in the documentation, it +normally appears inside paired single-quotes. + + +File: xemacs.info, Node: Misc Help, Prev: Help Mode, Up: Help + +Other Help Commands +=================== + + `C-h i' (`info') runs the Info program, which is used for browsing +through structured documentation files. The entire XEmacs manual is +available within Info. Eventually all the documentation of the GNU +system will be available. Type `h' after entering Info to run a +tutorial on using Info. + + If you specify a numeric argument, `C-h i' prompts for the name of a +documentation file. This way, you can browse a file which doesn't have +an entry in the top-level Info menu. It is also handy when you need to +get to the documentation quickly, and you know the exact name of the +file. + + There are two special help commands for accessing XEmacs +documentation through Info. `C-h C-f FUNCTION ' enters Info and +goes straight to the documentation of the XEmacs function FUNCTION. +`C-h C-k KEY' enters Info and goes straight to the documentation of the +key KEY. These two keys run the commands `Info-elisp-ref' and +`Info-goto-emacs-key-command-node'. + + If something surprising happens, and you are not sure what commands +you typed, use `C-h l' (`view-lossage'). `C-h l' prints the last 100 +command characters you typed in. If you see commands that you don't +know, you can use `C-h c' to find out what they do. + + XEmacs has several major modes. Each mode redefines a few keys and +makes a few other changes in how editing works. `C-h m' +(`describe-mode') prints documentation on the current major mode, which +normally describes all the commands that are changed in this mode. + + `C-h b' (`describe-bindings') and `C-h s' (`describe-syntax') +present information about the current XEmacs mode that is not covered +by `C-h m'. `C-h b' displays a list of all the key bindings currently +in effect, with the local bindings of the current major mode first, +followed by the global bindings (*note Key Bindings::). `C-h s' +displays the contents of the syntax table with explanations of each +character's syntax (*note Syntax::). + + You can get a similar list for a particular prefix key by typing +`C-h' after the prefix key. (There are a few prefix keys for which +this does not work--those that provide their own bindings for `C-h'. +One of these is , because ` C-h' is actually `C-M-h', which +marks a defun.) + + The other `C-h' options display various files of useful information. +`C-h C-w' (`describe-no-warranty') displays the full details on the +complete absence of warranty for XEmacs. `C-h n' (`view-emacs-news') +displays the file `xemacs/etc/NEWS', which contains documentation on +XEmacs changes arranged chronologically. `C-h F' (`xemacs-local-faq') +displays local version of the XEmacs +frequently-answered-questions-list. `C-h t' (`help-with-tutorial') +displays the learn-by-doing XEmacs tutorial. `C-h C-c' +(`describe-copying') displays the file `xemacs/etc/COPYING', which +tells you the conditions you must obey in distributing copies of +XEmacs. `C-h C-d' (`describe-distribution') displays another file named +`xemacs/etc/DISTRIB', which tells you how you can order a copy of the +latest version of XEmacs. + + +File: xemacs.info, Node: Mark, Next: Mouse Selection, Prev: Help, Up: Top + +Selecting Text +************** + + Many Emacs commands operate on an arbitrary contiguous part of the +current buffer. You can select text in two ways: + + * You use special keys to select text by defining a region between + point and the mark. + + * If you are running XEmacs under X, you can also select text with + the mouse. + +The Mark and the Region +======================= + + To specify the text for a command to operate on, set "the mark" at +one end of it, and move point to the other end. The text between point +and the mark is called "the region". You can move point or the mark to +adjust the boundaries of the region. It doesn't matter which one is +set first chronologically, or which one comes earlier in the text. + + Once the mark has been set, it remains until it is set again at +another place. The mark remains fixed with respect to the preceding +character if text is inserted or deleted in a buffer. Each Emacs +buffer has its own mark; when you return to a buffer that had been +selected previously, it has the same mark it had before. + + Many commands that insert text, such as `C-y' (`yank') and `M-x +insert-buffer', position the mark at one end of the inserted text--the +opposite end from where point is positioned, so that the region +contains the text just inserted. + + Aside from delimiting the region, the mark is useful for marking a +spot that you may want to go back to. To make this feature more useful, +Emacs remembers 16 previous locations of the mark in the `mark ring'. + +* Menu: + +* Setting Mark:: Commands to set the mark. +* Using Region:: Summary of ways to operate on contents of the region. +* Marking Objects:: Commands to put region around textual units. +* Mark Ring:: Previous mark positions saved so you can go back there. + + +File: xemacs.info, Node: Setting Mark, Next: Using Region, Prev: Mark, Up: Mark + +Setting the Mark +---------------- + + Here are some commands for setting the mark: + +`C-' + Set the mark where point is (`set-mark-command'). + +`C-@' + The same. + +`C-x C-x' + Interchange mark and point (`exchange-point-and-mark'). + +`C-<' + Pushes a mark at the beginning of the buffer. + +`C->' + Pushes a mark at the end of the buffer. + + For example, to convert part of the buffer to all upper-case, you +can use the `C-x C-u' (`upcase-region') command, which operates on the +text in the region. First go to the beginning of the text you want to +capitalize and type `C-' to put the mark there, then move to the +end, and then type `C-x C-u' to capitalize the selected region. You +can also set the mark at the end of the text, move to the beginning, +and then type `C-x C-u'. Most commands that operate on the text in the +region have the word `region' in their names. + + The most common way to set the mark is with the `C-' command +(`set-mark-command'). This command sets the mark where point is. You +can then move point away, leaving the mark behind. It is actually +incorrect to speak of the character `C-'; there is no such +character. When you type while holding down , you get the +character `C-@' on most terminals. This character is actually bound to +`set-mark-command'. But unless you are unlucky enough to have a +terminal where typing `C-' does not produce `C-@', you should +think of this character as `C-'. + + Since terminals have only one cursor, Emacs cannot show you where the +mark is located. Most people use the mark soon after they set it, before +they forget where it is. But you can see where the mark is with the +command `C-x C-x' (`exchange-point-and-mark') which puts the mark where +point was and point where the mark was. The extent of the region is +unchanged, but the cursor and point are now at the previous location of +the mark. + + Another way to set the mark is to push the mark to the beginning of a +buffer while leaving point at its original location. If you supply an +argument to `C-<' (`mark-beginning-of-buffer'), the mark is pushed N/10 +of the way from the true beginning of the buffer. You can also set the +mark at the end of a buffer with `C->' (`mark-end-of-buffer'). It +pushes the mark to the end of the buffer, leaving point alone. +Supplying an argument to the command pushes the mark N/10 of the way +from the true end of the buffer. + + If you are using XEmacs under the X window system, you can set the +variable `zmacs-regions' to `t'. This makes the current region (defined +by point and mark) highlight and makes it available as the X clipboard +selection, which means you can use the menu bar items on it. *Note +Active Regions::, for more information. + + `C-x C-x' is also useful when you are satisfied with the location of +point but want to move the mark; do `C-x C-x' to put point there and +then you can move it. A second use of `C-x C-x', if necessary, puts +the mark at the new location with point back at its original location. + + +File: xemacs.info, Node: Using Region, Next: Marking Objects, Prev: Setting Mark, Up: Mark + +Operating on the Region +----------------------- + + Once you have created an active region, you can do many things to +the text in it: + * Kill it with `C-w' (*note Killing::). + + * Save it in a register with `C-x r s' (*note Registers::). + + * Save it in a buffer or a file (*note Accumulating Text::). + + * Convert case with `C-x C-l' or `C-x C-u' + (*note Case::). + + * Evaluate it as Lisp code with `M-x eval-region' (*note Lisp + Eval::). + + * Fill it as text with `M-q' (*note Filling::). + + * Print hardcopy with `M-x print-region' (*note Hardcopy::). + + * Indent it with `C-x ' or `C-M-\' (*note Indentation::). + + +File: xemacs.info, Node: Marking Objects, Next: Mark Ring, Prev: Using Region, Up: Mark + +Commands to Mark Textual Objects +-------------------------------- + + There are commands for placing point and the mark around a textual +object such as a word, list, paragraph or page. + +`M-@' + Set mark after end of next word (`mark-word'). This command and + the following one do not move point. + +`C-M-@' + Set mark after end of next Lisp expression (`mark-sexp'). + +`M-h' + Put region around current paragraph (`mark-paragraph'). + +`C-M-h' + Put region around current Lisp defun (`mark-defun'). + +`C-x h' + Put region around entire buffer (`mark-whole-buffer'). + +`C-x C-p' + Put region around current page (`mark-page'). + + `M-@' (`mark-word') puts the mark at the end of the next word, while +`C-M-@' (`mark-sexp') puts it at the end of the next Lisp expression. +These characters sometimes save you some typing. + + A number of commands are available that set both point and mark and +thus delimit an object in the buffer. `M-h' (`mark-paragraph') moves +point to the beginning of the paragraph that surrounds or follows +point, and puts the mark at the end of that paragraph (*note +Paragraphs::). You can then indent, case-convert, or kill the whole +paragraph. In the same fashion, `C-M-h' (`mark-defun') puts point +before and the mark after the current or following defun (*note +Defuns::). `C-x C-p' (`mark-page') puts point before the current page +(or the next or previous, depending on the argument), and mark at the +end (*note Pages::). The mark goes after the terminating page +delimiter (to include it), while point goes after the preceding page +delimiter (to exclude it). Finally, `C-x h' (`mark-whole-buffer') sets +up the entire buffer as the region by putting point at the beginning +and the mark at the end. + + +File: xemacs.info, Node: Mark Ring, Prev: Marking Objects, Up: Mark + +The Mark Ring +------------- + + Aside from delimiting the region, the mark is also useful for marking +a spot that you may want to go back to. To make this feature more +useful, Emacs remembers 16 previous locations of the mark in the "mark +ring". Most commands that set the mark push the old mark onto this +ring. To return to a marked location, use `C-u C-' (or `C-u +C-@'); this is the command `set-mark-command' given a numeric argument. +The command moves point to where the mark was, and restores the mark +from the ring of former marks. Repeated use of this command moves point +to all the old marks on the ring, one by one. The marks you have seen +go to the end of the ring, so no marks are lost. + + Each buffer has its own mark ring. All editing commands use the +current buffer's mark ring. In particular, `C-u C-' always stays +in the same buffer. + + Many commands that can move long distances, such as `M-<' +(`beginning-of-buffer'), start by setting the mark and saving the old +mark on the mark ring. This makes it easier for you to move back +later. Searches set the mark, unless they do not actually move point. +When a command sets the mark, `Mark Set' is printed in the echo area. + + The variable `mark-ring-max' is the maximum number of entries to +keep in the mark ring. If that many entries exist and another entry is +added, the last entry in the list is discarded. Repeating `C-u +C-' circulates through the entries that are currently in the ring. + + The variable `mark-ring' holds the mark ring itself, as a list of +marker objects in the order most recent first. This variable is local +in every buffer. + + +File: xemacs.info, Node: Mouse Selection, Next: Additional Mouse Operations, Prev: Mark, Up: Top + +Selecting Text with the Mouse +============================= + + If you are using XEmacs under X, you can use the mouse pointer to +select text. (The normal mouse pointer is an I-beam, the same pointer +that `xterm' uses.) + + The glyph variable `text-pointer-glyph' controls the shape of the +mouse pointer when over text. You can also control the shape of the +mouse pointer when over nontext using `nontext-pointer-glyph', and the +shape of the mouse pointer when over the modeline using +`modeline-pointer-glyph'. (Remember, you should use `set-glyph-image', +not `setq', to set one of these variables.) + + If you want to get fancy, you can set the foreground and background +colors of the mouse pointer by setting the `pointer' face. + + There are two ways to select a region of text with the mouse: + + To select a word in text, double-click with the left mouse button +while the mouse cursor is over the word. The word is highlighted when +selected. On monochrome monitors, a stippled background indicates that a +region of text has been highlighted. On color monitors, a color +background indicates highlighted text. You can triple-click to select +whole lines. + + To select an arbitrary region of text: + + 1. Move the mouse cursor over the character at the beginning of the + region of text you want to select. + + 2. Press and hold the left mouse button. + + 3. While holding the left mouse button down, drag the cursor to the + character at the end of the region of text you want to select. + + 4. Release the left mouse button. + The selected region of text is highlighted. + + Once a region of text is selected, it becomes the primary X selection +(*note Using X Selections::) as well as the Emacs selected region. You +can paste it into other X applications and use the options from the +Edit pull-down menu on it. Since it is also the Emacs region, you can +use Emacs region commands on it. + + +File: xemacs.info, Node: Additional Mouse Operations, Next: Killing, Prev: Mouse Selection, Up: Top + +Additional Mouse Operations +=========================== + + XEmacs also provides the following mouse functions. Most of these +are not bound to mouse gestures by default, but they are provided for +your customization pleasure. For example, if you wanted `shift-left' +(that is, holding down the key and clicking the left mouse +button) to delete the character at which you are pointing, then you +could do this: + + (global-set-key '(shift button1) 'mouse-del-char) + +`mouse-del-char' + Delete the character pointed to by the mouse. + +`mouse-delete-window' + Delete the Emacs window that the mouse is on. + +`mouse-keep-one-window' + Select the Emacs window that the mouse is on, then delete all other + windows on this frame. + +`mouse-kill-line' + Kill the line pointed to by the mouse. + +`mouse-line-length' + Print the length of the line indicated by the pointer. + +`mouse-scroll' + Scroll point to the mouse position. + +`mouse-select' + Select the Emacs window the mouse is on. + +`mouse-select-and-split' + Select the Emacs window mouse is on, then split it vertically in + half. + +`mouse-set-mark' + Select the Emacs window the mouse is on and set the mark at the + mouse position. Display the cursor at that position for a second. + +`mouse-set-point' + Select the Emacs window that the mouse is on and move point to the + mouse position. + +`mouse-track' + Make a selection with the mouse. This is the default binding of + the left mouse button (). + +`mouse-track-adjust' + Extend the existing selection. This is the default binding of + . + +`mouse-track-and-copy-to-cutbuffer' + Make a selection like `mouse-track', but also copy it to the cut + buffer. + +`mouse-track-delete-and-insert' + Make a selection with the mouse and insert it at point. This is + the default binding of . + +`mouse-track-insert' + Make a selection with the mouse and insert it at point. This is + the default binding of . + +`mouse-window-to-region' + Narrow a window to the region between the cursor and the mouse + pointer. + + The `M-x mouse-track' command should be bound to a mouse button. If +you click-and-drag, the selection is set to the region between the +point of the initial click and the point at which you release the +button. These positions do not need to be ordered. + + If you click-and-release without moving the mouse, the point is +moved, and the selection is disowned (there will be no selection +owner.) The mark will be set to the previous position of point. + + If you double-click, the selection will extend by symbols instead of +by characters. If you triple-click, the selection will extend by lines. + + If you drag the mouse off the top or bottom of the window, you can +select pieces of text that are larger than the visible part of the +buffer; the buffer will scroll as necessary. + + The selected text becomes the current X selection, and is also +copied to the top of the kill ring. Point will be left at the position +at which you released the button and the mark will be left at the +initial click position. Bind a mouse click to +`mouse-track-and-copy-to-cutbuffer' to copy selections to the cut +buffer. (See also the `mouse-track-adjust' command, on +`Shift-button1'.) + + The `M-x mouse-track-adjust' command should be bound to a mouse +button. The selection will be enlarged or shrunk so that the point of +the mouse click is one of its endpoints. This is only meaningful after +the `mouse-track' command () has been executed. + + The `M-x mouse-track-delete-and-insert' command is exactly the same +as the `mouse-track' command on , except that point is not +moved; the selected text is immediately inserted after being selected; +and the text of the selection is deleted. + + The `M-x mouse-track-insert' command is exactly the same as the +`mouse-track' command on , except that point is not moved; the +selected text is immediately inserted after being selected; and the +selection is immediately disowned afterwards. + + File: xemacs.info, Node: Killing, Next: Yanking, Prev: Additional Mouse Operations, Up: Top Deletion and Killing @@ -637,554 +1152,3 @@ Emacs. Using it on a file that Emacs is visiting can produce confusing results, because the file's text inside Emacs does not change while the file itself changes. - -File: xemacs.info, Node: Rectangles, Next: Registers, Prev: Accumulating Text, Up: Top - -Rectangles -========== - - The rectangle commands affect rectangular areas of text: all -characters between a certain pair of columns, in a certain range of -lines. Commands are provided to kill rectangles, yank killed -rectangles, clear them out, or delete them. Rectangle commands are -useful with text in multicolumnar formats, like code with comments at -the right, or for changing text into or out of such formats. - - To specify the rectangle a command should work on, put the mark at -one corner and point at the opposite corner. The specified rectangle is -called the "region-rectangle" because it is controlled about the same -way the region is controlled. Remember that a given combination of -point and mark values can be interpreted either as specifying a region -or as specifying a rectangle; it is up to the command that uses them to -choose the interpretation. - -`M-x delete-rectangle' - Delete the text of the region-rectangle, moving any following text - on each line leftward to the left edge of the region-rectangle. - -`M-x kill-rectangle' - Similar, but also save the contents of the region-rectangle as the - "last killed rectangle". - -`M-x yank-rectangle' - Yank the last killed rectangle with its upper left corner at point. - -`M-x open-rectangle' - Insert blank space to fill the space of the region-rectangle. The - previous contents of the region-rectangle are pushed rightward. - -`M-x clear-rectangle' - Clear the region-rectangle by replacing its contents with spaces. - - The rectangle operations fall into two classes: commands deleting and -moving rectangles, and commands for blank rectangles. - - There are two ways to get rid of the text in a rectangle: you can -discard the text (delete it) or save it as the "last killed" rectangle. -The commands for these two ways are `M-x delete-rectangle' and `M-x -kill-rectangle'. In either case, the portion of each line that falls -inside the rectangle's boundaries is deleted, causing following text -(if any) on the line to move left. - - Note that "killing" a rectangle is not killing in the usual sense; -the rectangle is not stored in the kill ring, but in a special place -that only records the most recently killed rectangle (that is, does not -append to a killed rectangle). Different yank commands have to be used -and only one rectangle is stored, because yanking a rectangle is quite -different from yanking linear text and yank-popping commands are -difficult to make sense of. - - Inserting a rectangle is the opposite of deleting one. You specify -where to put the upper left corner by putting point there. The -rectangle's first line is inserted at point, the rectangle's second line -is inserted at a point one line vertically down, and so on. The number -of lines affected is determined by the height of the saved rectangle. - - To insert the last killed rectangle, type `M-x yank-rectangle'. -This can be used to convert single-column lists into double-column -lists; kill the second half of the list as a rectangle and then yank it -beside the first line of the list. - - There are two commands for working with blank rectangles: `M-x -clear-rectangle' erases existing text, and `M-x open-rectangle' inserts -a blank rectangle. Clearing a rectangle is equivalent to deleting it -and then inserting a blank rectangle of the same size. - - Rectangles can also be copied into and out of registers. *Note -Rectangle Registers: RegRect. - - -File: xemacs.info, Node: Registers, Next: Display, Prev: Rectangles, Up: Top - -Registers -********* - - XEmacs "registers" are places in which you can save text or -positions for later use. Once you save text or a rectangle in a -register, you can copy it into the buffer once or many times; a position -saved in a register is used by moving point to that position. -Rectangles can also be copied into and out of registers (*note -Rectangles::). - - Each register has a name which is a single character. A register can -store a piece of text, a rectangle, a position, a window configuration, -or a file name, but only one thing at any given time. Whatever you -store in a register remains there until you store something else in that -register. To see what a register R contains, use `M-x view-register'. - -`M-x view-register R' - Display a description of what register R contains. - - `M-x view-register' reads a register name as an argument and then -displays the contents of the specified register. - -* Menu: - -* Position: RegPos. Saving positions in registers. -* Text: RegText. Saving text in registers. -* Rectangle: RegRect. Saving rectangles in registers. -* Configurations: RegConfig. Saving window configurations in registers. -* Files: RegFiles. File names in registers. -* Numbers: RegNumbers. Numbers in registers. -* Bookmarks:: Bookmarks are like registers, but persistent. - - -File: xemacs.info, Node: RegPos, Next: RegText, Prev: Registers, Up: Registers - -Saving Positions in Registers -============================= - - Saving a position records a place in a buffer so that you can move -back there later. Moving to a saved position switches to that buffer -and moves point to that place in it. - -`C-x r R' - Save position of point in register R (`point-to-register'). - -`C-x r j R' - Jump to the position saved in register R (`jump-to-register'). - - To save the current position of point in a register, choose a name R -and type `C-x r R'. The register R retains the position thus -saved until you store something else in that register. - - The command `C-x r j R' moves point to the position recorded in -register R. The register is not affected; it continues to record the -same location. You can jump to the same position using the same -register as often as you want. - - If you use `C-x r j' to go to a saved position, but the buffer it -was saved from has been killed, `C-x r j' tries to create the buffer -again by visiting the same file. Of course, this works only for buffers -that were visiting files. - - -File: xemacs.info, Node: RegText, Next: RegRect, Prev: RegPos, Up: Registers - -Saving Text in Registers -======================== - - When you want to insert a copy of the same piece of text many times, -it can be impractical to use the kill ring, since each subsequent kill -moves the piece of text further down on the ring. It becomes hard to -keep track of the argument needed to retrieve the same text with `C-y'. -An alternative is to store the text in a register with `C-x r s' -(`copy-to-register') and then retrieve it with `C-x r i' -(`insert-register'). - -`C-x r s R' - Copy region into register R (`copy-to-register'). - -`C-x r g R' -`C-x r i R' - Insert text contents of register R (`insert-register'). - - `C-x r s R' stores a copy of the text of the region into the -register named R. Given a numeric argument, `C-x r s R' deletes the -text from the buffer as well. - - `C-x r i R' inserts the text from register R in the buffer. By -default it leaves point before the text and places the mark after it. -With a numeric argument (`C-u'), it puts point after the text and the -mark before it. - - -File: xemacs.info, Node: RegRect, Next: RegConfig, Prev: RegText, Up: Registers - -Saving Rectangles in Registers -============================== - - A register can contain a rectangle instead of lines of text. The -rectangle is represented as a list of strings. *Note Rectangles::, for -basic information on rectangles and how to specify rectangles in a -buffer. - -`C-x r r R' - Copy the region-rectangle into register R - (`copy-rectangle-to-register'). With a numeric argument, delete it - as well. - -`C-x r g R' -`C-x r i R' - Insert the rectangle stored in register R (if it contains a - rectangle) (`insert-register'). - - The `C-x r i R' command inserts linear text if the register -contains that, or inserts a rectangle if the register contains one. - - See also the command `sort-columns', which you can think of as -sorting a rectangle. *Note Sorting::. - - -File: xemacs.info, Node: RegConfig, Next: RegNumbers, Prev: RegRect, Up: Registers - -Saving Window Configurations in Registers -========================================= - - You can save the window configuration of the selected frame in a -register, or even the configuration of all windows in all frames, and -restore the configuration later. - -`C-x r w R' - Save the state of the selected frame's windows in register R - (`window-configuration-to-register'). - -`M-x frame-configuration-to-register R' - Save the state of all frames, including all their windows, in - register R (`frame-configuration-to-register'). - - Use `C-x r j R' to restore a window or frame configuration. This is -the same command used to restore a cursor position. When you restore a -frame configuration, any existing frames not included in the -configuration become invisible. If you wish to delete these frames -instead, use `C-u C-x r j R'. - - -File: xemacs.info, Node: RegNumbers, Next: RegFiles, Prev: RegConfig, Up: Registers - -Keeping Numbers in Registers -============================ - - There are commands to store a number in a register, to insert the -number in the buffer in decimal, and to increment it. These commands -can be useful in keyboard macros (*note Keyboard Macros::). - -`C-u NUMBER C-x r n REG' - Store NUMBER into register REG (`number-to-register'). - -`C-u NUMBER C-x r + REG' - Increment the number in register REG by NUMBER - (`increment-register'). - -`C-x r g REG' - Insert the number from register REG into the buffer. - - `C-x r g' is the same command used to insert any other sort of -register contents into the buffer. - - -File: xemacs.info, Node: RegFiles, Next: Bookmarks, Prev: RegNumbers, Up: Registers - -Keeping File Names in Registers -=============================== - - If you visit certain file names frequently, you can visit them more -conveniently if you put their names in registers. Here's the Lisp code -used to put a file name in a register: - - (set-register ?R '(file . NAME)) - -For example, - - (set-register ?z '(file . "/usr/src/xemacs/src/ChangeLog")) - -puts the file name shown in register `z'. - - To visit the file whose name is in register R, type `C-x r j R'. -(This is the same command used to jump to a position or restore a frame -configuration.) - - -File: xemacs.info, Node: Bookmarks, Prev: RegFiles, Up: Registers - -Bookmarks -========= - - "Bookmarks" are somewhat like registers in that they record -positions you can jump to. Unlike registers, they have long names, and -they persist automatically from one Emacs session to the next. The -prototypical use of bookmarks is to record "where you were reading" in -various files. - - Note: bookmark.el is distributed in edit-utils package. You need to -install that to use bookmark facility (*note Packages::). - -`C-x r m ' - Set the bookmark for the visited file, at point. - -`C-x r m BOOKMARK ' - Set the bookmark named BOOKMARK at point (`bookmark-set'). - -`C-x r b BOOKMARK ' - Jump to the bookmark named BOOKMARK (`bookmark-jump'). - -`C-x r l' - List all bookmarks (`list-bookmarks'). - -`M-x bookmark-save' - Save all the current bookmark values in the default bookmark file. - - The prototypical use for bookmarks is to record one current position -in each of several files. So the command `C-x r m', which sets a -bookmark, uses the visited file name as the default for the bookmark -name. If you name each bookmark after the file it points to, then you -can conveniently revisit any of those files with `C-x r b', and move to -the position of the bookmark at the same time. - - To display a list of all your bookmarks in a separate buffer, type -`C-x r l' (`list-bookmarks'). If you switch to that buffer, you can -use it to edit your bookmark definitions or annotate the bookmarks. -Type `C-h m' in that buffer for more information about its special -editing commands. - - When you kill XEmacs, XEmacs offers to save your bookmark values in -your default bookmark file, `~/.emacs.bmk', if you have changed any -bookmark values. You can also save the bookmarks at any time with the -`M-x bookmark-save' command. The bookmark commands load your default -bookmark file automatically. This saving and loading is how bookmarks -persist from one XEmacs session to the next. - - If you set the variable `bookmark-save-flag' to 1, then each command -that sets a bookmark will also save your bookmarks; this way, you don't -lose any bookmark values even if XEmacs crashes. (The value, if a -number, says how many bookmark modifications should go by between -saving.) - - Bookmark position values are saved with surrounding context, so that -`bookmark-jump' can find the proper position even if the file is -modified slightly. The variable `bookmark-search-size' says how many -characters of context to record, on each side of the bookmark's -position. - - Here are some additional commands for working with bookmarks: - -`M-x bookmark-load FILENAME ' - Load a file named FILENAME that contains a list of bookmark - values. You can use this command, as well as `bookmark-write', to - work with other files of bookmark values in addition to your - default bookmark file. - -`M-x bookmark-write FILENAME ' - Save all the current bookmark values in the file FILENAME. - -`M-x bookmark-delete BOOKMARK ' - Delete the bookmark named BOOKMARK. - -`M-x bookmark-insert-location BOOKMARK ' - Insert in the buffer the name of the file that bookmark BOOKMARK - points to. - -`M-x bookmark-insert BOOKMARK ' - Insert in the buffer the _contents_ of the file that bookmark - BOOKMARK points to. - - -File: xemacs.info, Node: Display, Next: Search, Prev: Registers, Up: Top - -Controlling the Display -*********************** - - Since only part of a large buffer fits in the window, XEmacs tries -to show the part that is likely to be interesting. The display control -commands allow you to specify which part of the text you want to see. - -`C-l' - Clear frame and redisplay, scrolling the selected window to center - point vertically within it (`recenter'). - -`C-v' -`pgdn' -`next' - Scroll forward (a windowful or a specified number of lines) - (`scroll-up'). On most X keyboards, you can get this - functionality using the key labelled `Page Down', which generates - either `next' or `pgdn'. - -`M-v' -`pgup' -`prior' - Scroll backward (`scroll-down'). On most X keyboards, you can get - this functionality using the key labelled `Page Up', which - generates either `prior' or `pgup'. - -`ARG C-l' - Scroll so point is on line ARG (`recenter'). - -`C-x <' -`C-pgdn' -`C-next' - Scroll text in current window to the left (`scroll-left'). - -`C-x >' -`C-pgup' -`C-prior' - Scroll to the right (`scroll-right'). - -`C-x $' - Make deeply indented lines invisible (`set-selective-display'). - -* Menu: - -* Scrolling:: Moving text up and down in a window. -* Horizontal Scrolling:: Moving text left and right in a window. -* Selective Display:: Hiding lines with lots of indentation. -* Display Vars:: Information on variables for customizing display. - - -File: xemacs.info, Node: Scrolling, Next: Horizontal Scrolling, Prev: Display, Up: Display - -Scrolling -========= - - If a buffer contains text that is too large to fit entirely within -the window that is displaying the buffer, XEmacs shows a contiguous -section of the text. The section shown always contains point. - - "Scrolling" means moving text up or down in the window so that -different parts of the text are visible. Scrolling forward means that -text moves up, and new text appears at the bottom. Scrolling backward -moves text down and new text appears at the top. - - Scrolling happens automatically if you move point past the bottom or -top of the window. You can also explicitly request scrolling with the -commands in this section. - -`C-l' - Clear frame and redisplay, scrolling the selected window to center - point vertically within it (`recenter'). - -`C-v' -`pgdn' -`next' - Scroll forward (a windowful or a specified number of lines) - (`scroll-up'). - -`M-v' -`pgup' -`prior' - Scroll backward (`scroll-down'). - -`ARG C-l' - Scroll so point is on line ARG (`recenter'). - - The most basic scrolling command is `C-l' (`recenter') with no -argument. It clears the entire frame and redisplays all windows. In -addition, it scrolls the selected window so that point is halfway down -from the top of the window. - - The scrolling commands `C-v' and `M-v' let you move all the text in -the window up or down a few lines. `C-v' (`scroll-up') with an -argument shows you that many more lines at the bottom of the window, -moving the text and point up together as `C-l' might. `C-v' with a -negative argument shows you more lines at the top of the window. -`Meta-v' (`scroll-down') is like `C-v', but moves in the opposite -direction. - - To read the buffer a windowful at a time, use `C-v' with no -argument. `C-v' takes the last two lines at the bottom of the window -and puts them at the top, followed by nearly a whole windowful of lines -not previously visible. Point moves to the new top of the window if it -was in the text scrolled off the top. `M-v' with no argument moves -backward with similar overlap. The number of lines of overlap across a -`C-v' or `M-v' is controlled by the variable -`next-screen-context-lines'; by default, it is two. - - Another way to scroll is using `C-l' with a numeric argument. `C-l' -does not clear the frame when given an argument; it only scrolls the -selected window. With a positive argument N, `C-l' repositions text to -put point N lines down from the top. An argument of zero puts point on -the very top line. Point does not move with respect to the text; -rather, the text and point move rigidly on the frame. `C-l' with a -negative argument puts point that many lines from the bottom of the -window. For example, `C-u - 1 C-l' puts point on the bottom line, and -`C-u - 5 C-l' puts it five lines from the bottom. Just `C-u' as -argument, as in `C-u C-l', scrolls point to the center of the frame. - - Scrolling happens automatically if point has moved out of the visible -portion of the text when it is time to display. Usually scrolling is -done to put point vertically centered within the window. However, if -the variable `scroll-step' has a non-zero value, an attempt is made to -scroll the buffer by that many lines; if that is enough to bring point -back into visibility, that is what happens. - - Scrolling happens automatically if point has moved out of the visible -portion of the text when it is time to display. Usually scrolling is -done to put point vertically centered within the window. However, if -the variable `scroll-step' has a non-zero value, an attempt is made to -scroll the buffer by that many lines; if that is enough to bring point -back into visibility, that is what happens. - - If you set `scroll-step' to a small value because you want to use -arrow keys to scroll the screen without recentering, the redisplay -preemption will likely make XEmacs keep recentering the screen when -scrolling fast, regardless of `scroll-step'. To prevent this, set -`scroll-conservatively' to a small value, which will have the result of -overriding the redisplay preemption. - - -File: xemacs.info, Node: Horizontal Scrolling, Prev: Scrolling, Up: Display - -Horizontal Scrolling -==================== - -`C-x <' - Scroll text in current window to the left (`scroll-left'). - -`C-x >' - Scroll to the right (`scroll-right'). - - The text in a window can also be scrolled horizontally. This means -that each line of text is shifted sideways in the window, and one or -more characters at the beginning of each line are not displayed at all. -When a window has been scrolled horizontally in this way, text lines -are truncated rather than continued (*note Continuation Lines::), with -a `$' appearing in the first column when there is text truncated to the -left, and in the last column when there is text truncated to the right. - - The command `C-x <' (`scroll-left') scrolls the selected window to -the left by N columns with argument N. With no argument, it scrolls by -almost the full width of the window (two columns less, to be precise). -`C-x >' (`scroll-right') scrolls similarly to the right. The window -cannot be scrolled any farther to the right once it is displaying -normally (with each line starting at the window's left margin); -attempting to do so has no effect. - - -File: xemacs.info, Node: Selective Display, Next: Display Vars, Prev: Display, Up: Display - -Selective Display -================= - - XEmacs can hide lines indented more than a certain number of columns -(you specify how many columns). This allows you to get an overview of -a part of a program. - - To hide lines, type `C-x $' (`set-selective-display') with a numeric -argument N. (*Note Arguments::, for information on giving the -argument.) Lines with at least N columns of indentation disappear from -the screen. The only indication of their presence are three dots -(`...'), which appear at the end of each visible line that is followed -by one or more invisible ones. - - The invisible lines are still present in the buffer, and most editing -commands see them as usual, so it is very easy to put point in the -middle of invisible text. When this happens, the cursor appears at the -end of the previous line, after the three dots. If point is at the end -of the visible line, before the newline that ends it, the cursor -appears before the three dots. - - The commands `C-n' and `C-p' move across the invisible lines as if -they were not there. - - To make everything visible again, type `C-x $' with no argument. -