X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=info%2Fxemacs.info-9;h=6f85972f5675589e7b7478a77b7f64adbbddd1df;hb=8a7a6a7d4b484344455aa637fa67fded622699cd;hp=29af4a34b094879b2c65e38ba776e94440c5e2a2;hpb=376658ea71d16dced8acff36c3e385ac3738d868;p=chise%2Fxemacs-chise.git- diff --git a/info/xemacs.info-9 b/info/xemacs.info-9 index 29af4a3..6f85972 100644 --- a/info/xemacs.info-9 +++ b/info/xemacs.info-9 @@ -1,4 +1,4 @@ -This is ../info/xemacs.info, produced by makeinfo version 3.12s from +This is ../info/xemacs.info, produced by makeinfo version 4.0 from xemacs/xemacs.texi. INFO-DIR-SECTION XEmacs Editor @@ -30,6 +30,454 @@ versions, except that the sections entitled "The GNU Manifesto", translation approved by the author instead of in the original English.  +File: xemacs.info, Node: Change Window, Prev: Pop Up Window, Up: Windows + +Deleting and Rearranging Windows +================================ + +`C-x 0' + Get rid of the selected window (`delete-window'). That is a zero. + If there is more than one Emacs frame, deleting the sole remaining + window on that frame deletes the frame as well. If the current + frame is the only frame, it is not deleted. + +`C-x 1' + Get rid of all windows except the selected one + (`delete-other-windows'). + +`C-x ^' + Make the selected window taller, at the expense of the other(s) + (`enlarge-window'). + +`C-x }' + Make the selected window wider (`enlarge-window-horizontally'). + + To delete a window, type `C-x 0' (`delete-window'). (That is a +zero.) The space occupied by the deleted window is distributed among +the other active windows (but not the minibuffer window, even if that +is active at the time). Once a window is deleted, its attributes are +forgotten; there is no automatic way to make another window of the same +shape or showing the same buffer. The buffer continues to exist, and +you can select it in any window with `C-x b'. + + `C-x 1' (`delete-other-windows') is more powerful than `C-x 0'; it +deletes all the windows except the selected one (and the minibuffer). +The selected window expands to use the whole frame except for the echo +area. + + To readjust the division of space among existing windows, use `C-x +^' (`enlarge-window'). It makes the currently selected window longer +by one line or as many lines as a numeric argument specifies. With a +negative argument, it makes the selected window smaller. `C-x }' +(`enlarge-window-horizontally') makes the selected window wider by the +specified number of columns. The extra screen space given to a window +comes from one of its neighbors, if that is possible; otherwise, all +the competing windows are shrunk in the same proportion. If this makes +some windows too small, those windows are deleted and their space is +divided up. Minimum window size is specified by the variables +`window-min-height' and `window-min-width'. + + You can also resize windows within a frame by clicking the left mouse +button on a modeline, and dragging. + + Clicking the right button on a mode line pops up a menu of common +window manager operations. This menu contains the following options: + +Delete Window + Remove the window above this modeline from the frame. + +Delete Other Windows + Delete all windows on the frame except for the one above this + modeline. + +Split Window + Split the window above the mode line in half, creating another + window. + +Split Window Horizontally + Split the window above the mode line in half horizontally, so that + there will be two windows side-by-side. + +Balance Windows + Readjust the sizes of all windows on the frame until all windows + have roughly the same number of lines. + + +File: xemacs.info, Node: Mule, Next: Major Modes, Prev: Windows, Up: Top + +World Scripts Support +********************* + + If you compile XEmacs with mule option, it supports a wide variety of +world scripts, including Latin script, as well as Arabic script, +Simplified Chinese script (for mainland of China), Traditional Chinese +script (for Taiwan and Hong-Kong), Greek script, Hebrew script, IPA +symbols, Japanese scripts (Hiragana, Katakana and Kanji), Korean scripts +(Hangul and Hanja) and Cyrillic script (for Beylorussian, Bulgarian, +Russian, Serbian and Ukrainian). These features have been merged from +the modified version of Emacs known as MULE (for "MULti-lingual +Enhancement to GNU Emacs"). + +* Menu: + +* Mule Intro:: Basic concepts of Mule. +* Language Environments:: Setting things up for the language you use. +* Input Methods:: Entering text characters not on your keyboard. +* Select Input Method:: Specifying your choice of input methods. +* Coding Systems:: Character set conversion when you read and + write files, and so on. +* Recognize Coding:: How XEmacs figures out which conversion to use. +* Specify Coding:: Various ways to choose which conversion to use. + + +File: xemacs.info, Node: Mule Intro, Next: Language Environments, Prev: Mule, Up: Mule + +Introduction to world scripts +============================= + + The users of these scripts have established many more-or-less +standard coding systems for storing files. XEmacs translates between +the internal character encoding and various other coding systems when +reading and writing files, when exchanging data with subprocesses, and +(in some cases) in the `C-q' command (see below). + + The command `C-h h' (`view-hello-file') displays the file +`etc/HELLO', which shows how to say "hello" in many languages. This +illustrates various scripts. + + Keyboards, even in the countries where these character sets are used, +generally don't have keys for all the characters in them. So XEmacs +supports various "input methods", typically one for each script or +language, to make it convenient to type them. + + The prefix key `C-x ' is used for commands that pertain to +world scripts, coding systems, and input methods. + + +File: xemacs.info, Node: Language Environments, Next: Input Methods, Prev: Mule Intro, Up: Mule + +Language Environments +===================== + + All supported character sets are supported in XEmacs buffers if it is +compile with mule; there is no need to select a particular language in +order to display its characters in an XEmacs buffer. However, it is +important to select a "language environment" in order to set various +defaults. The language environment really represents a choice of +preferred script (more or less) rather that a choice of language. + + The language environment controls which coding systems to recognize +when reading text (*note Recognize Coding::). This applies to files, +incoming mail, netnews, and any other text you read into XEmacs. It may +also specify the default coding system to use when you create a file. +Each language environment also specifies a default input method. + + The command to select a language environment is `M-x +set-language-environment'. It makes no difference which buffer is +current when you use this command, because the effects apply globally to +the XEmacs session. The supported language environments include: + + Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-ISO, English, + Ethiopic, Greek, Japanese, Korean, Latin-1, Latin-2, Latin-3, + Latin-4, Latin-5. + + Some operating systems let you specify the language you are using by +setting locale environment variables. XEmacs handles one common special +case of this: if your locale name for character types contains the +string `8859-N', XEmacs automatically selects the corresponding +language environment. + + To display information about the effects of a certain language +environment LANG-ENV, use the command `C-h L LANG-ENV ' +(`describe-language-environment'). This tells you which languages this +language environment is useful for, and lists the character sets, +coding systems, and input methods that go with it. It also shows some +sample text to illustrate scripts used in this language environment. +By default, this command describes the chosen language environment. + + +File: xemacs.info, Node: Input Methods, Next: Select Input Method, Prev: Language Environments, Up: Mule + +Input Methods +============= + + An "input method" is a kind of character conversion designed +specifically for interactive input. In XEmacs, typically each language +has its own input method; sometimes several languages which use the same +characters can share one input method. A few languages support several +input methods. + + The simplest kind of input method works by mapping ASCII letters into +another alphabet. This is how the Greek and Russian input methods work. + + A more powerful technique is composition: converting sequences of +characters into one letter. Many European input methods use composition +to produce a single non-ASCII letter from a sequence that consists of a +letter followed by accent characters. For example, some methods convert +the sequence `'a' into a single accented letter. + + The input methods for syllabic scripts typically use mapping followed +by composition. The input methods for Thai and Korean work this way. +First, letters are mapped into symbols for particular sounds or tone +marks; then, sequences of these which make up a whole syllable are +mapped into one syllable sign. + + Chinese and Japanese require more complex methods. In Chinese input +methods, first you enter the phonetic spelling of a Chinese word (in +input method `chinese-py', among others), or a sequence of portions of +the character (input methods `chinese-4corner' and `chinese-sw', and +others). Since one phonetic spelling typically corresponds to many +different Chinese characters, you must select one of the alternatives +using special XEmacs commands. Keys such as `C-f', `C-b', `C-n', +`C-p', and digits have special definitions in this situation, used for +selecting among the alternatives. displays a buffer showing all +the possibilities. + + In Japanese input methods, first you input a whole word using +phonetic spelling; then, after the word is in the buffer, XEmacs +converts it into one or more characters using a large dictionary. One +phonetic spelling corresponds to many differently written Japanese +words, so you must select one of them; use `C-n' and `C-p' to cycle +through the alternatives. + + Sometimes it is useful to cut off input method processing so that the +characters you have just entered will not combine with subsequent +characters. For example, in input method `latin-1-postfix', the +sequence `e '' combines to form an `e' with an accent. What if you +want to enter them as separate characters? + + One way is to type the accent twice; that is a special feature for +entering the separate letter and accent. For example, `e ' '' gives +you the two characters `e''. Another way is to type another letter +after the `e'--something that won't combine with that--and immediately +delete it. For example, you could type `e e '' to get separate +`e' and `''. + + Another method, more general but not quite as easy to type, is to use +`C-\ C-\' between two characters to stop them from combining. This is +the command `C-\' (`toggle-input-method') used twice. *Note Select +Input Method::. + + `C-\ C-\' is especially useful inside an incremental search, because +stops waiting for more characters to combine, and starts searching for +what you have already entered. + + The variables `input-method-highlight-flag' and +`input-method-verbose-flag' control how input methods explain what is +happening. If `input-method-highlight-flag' is non-`nil', the partial +sequence is highlighted in the buffer. If `input-method-verbose-flag' +is non-`nil', the list of possible characters to type next is displayed +in the echo area (but not when you are in the minibuffer). + + +File: xemacs.info, Node: Select Input Method, Next: Coding Systems, Prev: Input Methods, Up: Mule + +Selecting an Input Method +========================= + +`C-\' + Enable or disable use of the selected input method. + +`C-x C-\ METHOD ' + Select a new input method for the current buffer. + +`C-h I METHOD ' +`C-h C-\ METHOD ' + Describe the input method METHOD (`describe-input-method'). By + default, it describes the current input method (if any). + +`M-x list-input-methods' + Display a list of all the supported input methods. + + To choose an input method for the current buffer, use `C-x +C-\' (`select-input-method'). This command reads the input method name +with the minibuffer; the name normally starts with the language +environment that it is meant to be used with. The variable +`current-input-method' records which input method is selected. + + Input methods use various sequences of ASCII characters to stand for +non-ASCII characters. Sometimes it is useful to turn off the input +method temporarily. To do this, type `C-\' (`toggle-input-method'). +To reenable the input method, type `C-\' again. + + If you type `C-\' and you have not yet selected an input method, it +prompts for you to specify one. This has the same effect as using `C-x + C-\' to specify an input method. + + Selecting a language environment specifies a default input method for +use in various buffers. When you have a default input method, you can +select it in the current buffer by typing `C-\'. The variable +`default-input-method' specifies the default input method (`nil' means +there is none). + + Some input methods for alphabetic scripts work by (in effect) +remapping the keyboard to emulate various keyboard layouts commonly used +for those scripts. How to do this remapping properly depends on your +actual keyboard layout. To specify which layout your keyboard has, use +the command `M-x quail-set-keyboard-layout'. + + To display a list of all the supported input methods, type `M-x +list-input-methods'. The list gives information about each input +method, including the string that stands for it in the mode line. + + +File: xemacs.info, Node: Coding Systems, Next: Recognize Coding, Prev: Select Input Method, Up: Mule + +Coding Systems +============== + + Users of various languages have established many more-or-less +standard coding systems for representing them. XEmacs does not use +these coding systems internally; instead, it converts from various +coding systems to its own system when reading data, and converts the +internal coding system to other coding systems when writing data. +Conversion is possible in reading or writing files, in sending or +receiving from the terminal, and in exchanging data with subprocesses. + + XEmacs assigns a name to each coding system. Most coding systems are +used for one language, and the name of the coding system starts with the +language name. Some coding systems are used for several languages; +their names usually start with `iso'. There are also special coding +systems `binary' and `no-conversion' which do not convert printing +characters at all. + + In addition to converting various representations of non-ASCII +characters, a coding system can perform end-of-line conversion. XEmacs +handles three different conventions for how to separate lines in a file: +newline, carriage-return linefeed, and just carriage-return. + +`C-h C CODING ' + Describe coding system CODING. + +`C-h C ' + Describe the coding systems currently in use. + +`M-x list-coding-systems' + Display a list of all the supported coding systems. + + The command `C-h C' (`describe-coding-system') displays information +about particular coding systems. You can specify a coding system name +as argument; alternatively, with an empty argument, it describes the +coding systems currently selected for various purposes, both in the +current buffer and as the defaults, and the priority list for +recognizing coding systems (*note Recognize Coding::). + + To display a list of all the supported coding systems, type `M-x +list-coding-systems'. The list gives information about each coding +system, including the letter that stands for it in the mode line (*note +Mode Line::). + + Each of the coding systems that appear in this list--except for +`binary', which means no conversion of any kind--specifies how and +whether to convert printing characters, but leaves the choice of +end-of-line conversion to be decided based on the contents of each file. +For example, if the file appears to use carriage-return linefeed between +lines, that end-of-line conversion will be used. + + Each of the listed coding systems has three variants which specify +exactly what to do for end-of-line conversion: + +`...-unix' + Don't do any end-of-line conversion; assume the file uses newline + to separate lines. (This is the convention normally used on Unix + and GNU systems.) + +`...-dos' + Assume the file uses carriage-return linefeed to separate lines, + and do the appropriate conversion. (This is the convention + normally used on Microsoft systems.) + +`...-mac' + Assume the file uses carriage-return to separate lines, and do the + appropriate conversion. (This is the convention normally used on + the Macintosh system.) + + These variant coding systems are omitted from the +`list-coding-systems' display for brevity, since they are entirely +predictable. For example, the coding system `iso-8859-1' has variants +`iso-8859-1-unix', `iso-8859-1-dos' and `iso-8859-1-mac'. + + In contrast, the coding system `binary' specifies no character code +conversion at all--none for non-Latin-1 byte values and none for end of +line. This is useful for reading or writing binary files, tar files, +and other files that must be examined verbatim. + + The easiest way to edit a file with no conversion of any kind is with +the `M-x find-file-literally' command. This uses `binary', and also +suppresses other XEmacs features that might convert the file contents +before you see them. *Note Visiting::. + + The coding system `no-conversion' means that the file contains +non-Latin-1 characters stored with the internal XEmacs encoding. It +handles end-of-line conversion based on the data encountered, and has +the usual three variants to specify the kind of end-of-line conversion. + + +File: xemacs.info, Node: Recognize Coding, Next: Specify Coding, Prev: Coding Systems, Up: Mule + +Recognizing Coding Systems +========================== + + Most of the time, XEmacs can recognize which coding system to use for +any given file-once you have specified your preferences. + + Some coding systems can be recognized or distinguished by which byte +sequences appear in the data. However, there are coding systems that +cannot be distinguished, not even potentially. For example, there is no +way to distinguish between Latin-1 and Latin-2; they use the same byte +values with different meanings. + + XEmacs handles this situation by means of a priority list of coding +systems. Whenever XEmacs reads a file, if you do not specify the coding +system to use, XEmacs checks the data against each coding system, +starting with the first in priority and working down the list, until it +finds a coding system that fits the data. Then it converts the file +contents assuming that they are represented in this coding system. + + The priority list of coding systems depends on the selected language +environment (*note Language Environments::). For example, if you use +French, you probably want XEmacs to prefer Latin-1 to Latin-2; if you +use Czech, you probably want Latin-2 to be preferred. This is one of +the reasons to specify a language environment. + + However, you can alter the priority list in detail with the command +`M-x prefer-coding-system'. This command reads the name of a coding +system from the minibuffer, and adds it to the front of the priority +list, so that it is preferred to all others. If you use this command +several times, each use adds one element to the front of the priority +list. + + Sometimes a file name indicates which coding system to use for the +file. The variable `file-coding-system-alist' specifies this +correspondence. There is a special function +`modify-coding-system-alist' for adding elements to this list. For +example, to read and write all `.txt' using the coding system +`china-iso-8bit', you can execute this Lisp expression: + + (modify-coding-system-alist 'file "\\.txt\\'" 'china-iso-8bit) + +The first argument should be `file', the second argument should be a +regular expression that determines which files this applies to, and the +third argument says which coding system to use for these files. + + You can specify the coding system for a particular file using the +`-*-...-*-' construct at the beginning of a file, or a local variables +list at the end (*note File Variables::). You do this by defining a +value for the "variable" named `coding'. XEmacs does not really have a +variable `coding'; instead of setting a variable, it uses the specified +coding system for the file. For example, `-*-mode: C; coding: +iso-8859-1;-*-' specifies use of the iso-8859-1 coding system, as well +as C mode. + + Once XEmacs has chosen a coding system for a buffer, it stores that +coding system in `buffer-file-coding-system' and uses that coding +system, by default, for operations that write from this buffer into a +file. This includes the commands `save-buffer' and `write-region'. If +you want to write files from this buffer using a different coding +system, you can specify a different coding system for the buffer using +`set-buffer-file-coding-system' (*note Specify Coding::). + + File: xemacs.info, Node: Specify Coding, Prev: Recognize Coding, Up: Mule Specifying a Coding System @@ -680,480 +1128,3 @@ insert automatically a matching `\end' (on a new line following the `\begin'). A blank line is inserted between the two, and point is left there. - -File: xemacs.info, Node: TeX Print, Prev: TeX Editing, Up: TeX Mode - -TeX Printing Commands -..................... - - You can invoke TeX as an inferior of Emacs on either the entire -contents of the buffer or just a region at a time. Running TeX in this -way on just one chapter is a good way to see what your changes look -like without taking the time to format the entire file. - -`C-c C-r' - Invoke TeX on the current region, plus the buffer's header - (`tex-region'). - -`C-c C-b' - Invoke TeX on the entire current buffer (`tex-buffer'). - -`C-c C-l' - Recenter the window showing output from the inferior TeX so that - the last line can be seen (`tex-recenter-output-buffer'). - -`C-c C-k' - Kill the inferior TeX (`tex-kill-job'). - -`C-c C-p' - Print the output from the last `C-c C-r' or `C-c C-b' command - (`tex-print'). - -`C-c C-q' - Show the printer queue (`tex-show-print-queue'). - - You can pass the current buffer through an inferior TeX using `C-c -C-b' (`tex-buffer'). The formatted output appears in a file in `/tmp'; -to print it, type `C-c C-p' (`tex-print'). Afterward use `C-c C-q' -(`tex-show-print-queue') to view the progress of your output towards -being printed. - - The console output from TeX, including any error messages, appears -in a buffer called `*TeX-shell*'. If TeX gets an error, you can switch -to this buffer and feed it input (this works as in Shell mode; *note -Interactive Shell::). Without switching to this buffer, you can scroll -it so that its last line is visible by typing `C-c C-l'. - - Type `C-c C-k' (`tex-kill-job') to kill the TeX process if you see -that its output is no longer useful. Using `C-c C-b' or `C-c C-r' also -kills any TeX process still running. - - You can pass an arbitrary region through an inferior TeX by typing -`C-c C-r' (`tex-region'). This is tricky, however, because most files -of TeX input contain commands at the beginning to set parameters and -define macros. Without them, no later part of the file will format -correctly. To solve this problem, `C-c C-r' allows you to designate a -part of the file as containing essential commands; it is included -before the specified region as part of the input to TeX. The -designated part of the file is called the "header". - - To indicate the bounds of the header in Plain TeX mode, insert two -special strings in the file: `%**start of header' before the header, -and `%**end of header' after it. Each string must appear entirely on -one line, but there may be other text on the line before or after. The -lines containing the two strings are included in the header. If -`%**start of header' does not appear within the first 100 lines of the -buffer, `C-c C-r' assumes there is no header. - - In LaTeX mode, the header begins with `\documentstyle' and ends with -`\begin{document}'. These are commands that LaTeX requires you to use, -so you don't need to do anything special to identify the header. - - When you enter either kind of TeX mode, Emacs calls with no -arguments the value of the variable `text-mode-hook', if that value -exists and is not `nil'. Emacs then calls the variable `TeX-mode-hook' -and either `plain-TeX-mode-hook' or `LaTeX-mode-hook' under the same -conditions. - - -File: xemacs.info, Node: Outline Mode, Prev: TeX Mode, Up: Text Mode - -Outline Mode ------------- - - Outline mode is a major mode similar to Text mode but intended for -editing outlines. It allows you to make parts of the text temporarily -invisible so that you can see just the overall structure of the -outline. Type `M-x outline-mode' to turn on Outline mode in the -current buffer. - - When you enter Outline mode, Emacs calls with no arguments the value -of the variable `text-mode-hook', if that value exists and is not -`nil'; then it does the same with the variable `outline-mode-hook'. - - When a line is invisible in outline mode, it does not appear on the -screen. The screen appears exactly as if the invisible line were -deleted, except that an ellipsis (three periods in a row) appears at -the end of the previous visible line (only one ellipsis no matter how -many invisible lines follow). - - All editing commands treat the text of the invisible line as part of -the previous visible line. For example, `C-n' moves onto the next -visible line. Killing an entire visible line, including its -terminating newline, really kills all the following invisible lines as -well; yanking everything back yanks the invisible lines and they remain -invisible. - -* Menu: - -* Format: Outline Format. What the text of an outline looks like. -* Motion: Outline Motion. Special commands for moving through outlines. -* Visibility: Outline Visibility. Commands to control what is visible. - - -File: xemacs.info, Node: Outline Format, Next: Outline Motion, Prev: Outline Mode, Up: Outline Mode - -Format of Outlines -.................. - - Outline mode assumes that the lines in the buffer are of two types: -"heading lines" and "body lines". A heading line represents a topic in -the outline. Heading lines start with one or more stars; the number of -stars determines the depth of the heading in the outline structure. -Thus, a heading line with one star is a major topic; all the heading -lines with two stars between it and the next one-star heading are its -subtopics; and so on. Any line that is not a heading line is a body -line. Body lines belong to the preceding heading line. Here is an -example: - - * Food - - This is the body, - which says something about the topic of food. - - ** Delicious Food - - This is the body of the second-level header. - - ** Distasteful Food - - This could have - a body too, with - several lines. - - *** Dormitory Food - - * Shelter - - A second first-level topic with its header line. - - A heading line together with all following body lines is called -collectively an "entry". A heading line together with all following -deeper heading lines and their body lines is called a "subtree". - - You can customize the criterion for distinguishing heading lines by -setting the variable `outline-regexp'. Any line whose beginning has a -match for this regexp is considered a heading line. Matches that start -within a line (not at the beginning) do not count. The length of the -matching text determines the level of the heading; longer matches make -a more deeply nested level. Thus, for example, if a text formatter has -commands `@chapter', `@section' and `@subsection' to divide the -document into chapters and sections, you can make those lines count as -heading lines by setting `outline-regexp' to -`"@chap\\|@\\(sub\\)*section"'. Note the trick: the two words -`chapter' and `section' are the same length, but by defining the regexp -to match only `chap' we ensure that the length of the text matched on a -chapter heading is shorter, so that Outline mode will know that -sections are contained in chapters. This works as long as no other -command starts with `@chap'. - - Outline mode makes a line invisible by changing the newline before it -into an ASCII Control-M (code 015). Most editing commands that work on -lines treat an invisible line as part of the previous line because, -strictly speaking, it is part of that line, since there is no longer a -newline in between. When you save the file in Outline mode, Control-M -characters are saved as newlines, so the invisible lines become ordinary -lines in the file. Saving does not change the visibility status of a -line inside Emacs. - - -File: xemacs.info, Node: Outline Motion, Next: Outline Visibility, Prev: Outline Format, Up: Outline Mode - -Outline Motion Commands -....................... - - Some special commands in Outline mode move backward and forward to -heading lines. - -`C-c C-n' - Move point to the next visible heading line - (`outline-next-visible-heading'). - -`C-c C-p' - Move point to the previous visible heading line - (`outline-previous-visible-heading'). - -`C-c C-f' - Move point to the next visible heading line at the same level as - the one point is on (`outline-forward-same-level'). - -`C-c C-b' - Move point to the previous visible heading line at the same level - (`outline-backward-same-level'). - -`C-c C-u' - Move point up to a lower-level (more inclusive) visible heading - line (`outline-up-heading'). - - `C-c C-n' (`next-visible-heading') moves down to the next heading -line. `C-c C-p' (`previous-visible-heading') moves similarly backward. -Both accept numeric arguments as repeat counts. The names emphasize -that invisible headings are skipped, but this is not really a special -feature. All editing commands that look for lines ignore the invisible -lines automatically. - - More advanced motion commands understand the levels of headings. -The commands `C-c C-f' (`outline-forward-same-level') and `C-c C-b' -(`outline-backward-same-level') move from one heading line to another -visible heading at the same depth in the outline. `C-c C-u' -(`outline-up-heading') moves backward to another heading that is less -deeply nested. - - -File: xemacs.info, Node: Outline Visibility, Prev: Outline Motion, Up: Outline Mode - -Outline Visibility Commands -........................... - - The other special commands of outline mode are used to make lines -visible or invisible. Their names all start with `hide' or `show'. -Most of them exist as pairs of opposites. They are not undoable; -instead, you can undo right past them. Making lines visible or -invisible is simply not recorded by the undo mechanism. - -`M-x hide-body' - Make all body lines in the buffer invisible. - -`M-x show-all' - Make all lines in the buffer visible. - -`C-c C-d' - Make everything under this heading invisible, not including this - heading itself (`hide-subtree'). - -`C-c C-s' - Make everything under this heading visible, including body, - subheadings, and their bodies (`show-subtree'). - -`M-x hide-leaves' - Make the body of this heading line, and of all its subheadings, - invisible. - -`M-x show-branches' - Make all subheadings of this heading line, at all levels, visible. - -`C-c C-i' - Make immediate subheadings (one level down) of this heading line - visible (`show-children'). - -`M-x hide-entry' - Make this heading line's body invisible. - -`M-x show-entry' - Make this heading line's body visible. - - Two commands that are exact opposites are `M-x hide-entry' and `M-x -show-entry'. They are used with point on a heading line, and apply -only to the body lines of that heading. The subtopics and their bodies -are not affected. - - Two more powerful opposites are `C-c C-h' (`hide-subtree') and `C-c -C-s' (`show-subtree'). Both should be used when point is on a heading -line, and both apply to all the lines of that heading's "subtree": its -body, all its subheadings, both direct and indirect, and all of their -bodies. In other words, the subtree contains everything following this -heading line, up to and not including the next heading of the same or -higher rank. - - Intermediate between a visible subtree and an invisible one is having -all the subheadings visible but none of the body. There are two -commands for doing this, one that hides the bodies and one that makes -the subheadings visible. They are `M-x hide-leaves' and `M-x -show-branches'. - - A little weaker than `show-branches' is `C-c C-i' (`show-children'). -It makes just the direct subheadings visible--those one level down. -Deeper subheadings remain invisible. - - Two commands have a blanket effect on the whole file. `M-x -hide-body' makes all body lines invisible, so that you see just the -outline structure. `M-x show-all' makes all lines visible. You can -think of these commands as a pair of opposites even though `M-x -show-all' applies to more than just body lines. - - You can turn off the use of ellipses at the ends of visible lines by -setting `selective-display-ellipses' to `nil'. The result is no -visible indication of the presence of invisible lines. - - -File: xemacs.info, Node: Words, Next: Sentences, Prev: Text Mode, Up: Text - -Words -===== - - Emacs has commands for moving over or operating on words. By -convention, the keys for them are all `Meta-' characters. - -`M-f' - Move forward over a word (`forward-word'). - -`M-b' - Move backward over a word (`backward-word'). - -`M-d' - Kill up to the end of a word (`kill-word'). - -`M-' - Kill back to the beginning of a word (`backward-kill-word'). - -`M-@' - Mark the end of the next word (`mark-word'). - -`M-t' - Transpose two words; drag a word forward or backward across other - words (`transpose-words'). - - Notice how these keys form a series that parallels the -character-based `C-f', `C-b', `C-d', `C-t' and . `M-@' is related -to `C-@', which is an alias for `C-'. - - The commands `Meta-f' (`forward-word') and `Meta-b' -(`backward-word') move forward and backward over words. They are -analogous to `Control-f' and `Control-b', which move over single -characters. Like their `Control-' analogues, `Meta-f' and `Meta-b' -move several words if given an argument. `Meta-f' with a negative -argument moves backward, and `Meta-b' with a negative argument moves -forward. Forward motion stops after the last letter of the word, while -backward motion stops before the first letter. - - `Meta-d' (`kill-word') kills the word after point. To be precise, -it kills everything from point to the place `Meta-f' would move to. -Thus, if point is in the middle of a word, `Meta-d' kills just the part -after point. If some punctuation comes between point and the next -word, it is killed along with the word. (To kill only the next word -but not the punctuation before it, simply type `Meta-f' to get to the -end and kill the word backwards with `Meta-'.) `Meta-d' takes -arguments just like `Meta-f'. - - `Meta-' (`backward-kill-word') kills the word before point. It -kills everything from point back to where `Meta-b' would move to. If -point is after the space in `FOO, BAR', then `FOO, ' is killed. To -kill just `FOO', type `Meta-b Meta-d' instead of `Meta-'. - - `Meta-t' (`transpose-words') exchanges the word before or containing -point with the following word. The delimiter characters between the -words do not move. For example, transposing `FOO, BAR' results in -`BAR, FOO' rather than `BAR FOO,'. *Note Transpose::, for more on -transposition and on arguments to transposition commands. - - To operate on the next N words with an operation which applies -between point and mark, you can either set the mark at point and then -move over the words, or you can use the command `Meta-@' (`mark-word') -which does not move point but sets the mark where `Meta-f' would move -to. It can be given arguments just like `Meta-f'. - - The word commands' understanding of syntax is completely controlled -by the syntax table. For example, any character can be declared to be -a word delimiter. *Note Syntax::. - - -File: xemacs.info, Node: Sentences, Next: Paragraphs, Prev: Words, Up: Text - -Sentences -========= - - The Emacs commands for manipulating sentences and paragraphs are -mostly on `Meta-' keys, and therefore are like the word-handling -commands. - -`M-a' - Move back to the beginning of the sentence (`backward-sentence'). - -`M-e' - Move forward to the end of the sentence (`forward-sentence'). - -`M-k' - Kill forward to the end of the sentence (`kill-sentence'). - -`C-x ' - Kill back to the beginning of the sentence - (`backward-kill-sentence'). - - The commands `Meta-a' and `Meta-e' (`backward-sentence' and -`forward-sentence') move to the beginning and end of the current -sentence, respectively. They resemble `Control-a' and `Control-e', -which move to the beginning and end of a line. Unlike their -counterparts, `Meta-a' and `Meta-e' move over successive sentences if -repeated or given numeric arguments. Emacs assumes the typist's -convention is followed, and thus considers a sentence to end wherever -there is a `.', `?', or `!' followed by the end of a line or two -spaces, with any number of `)', `]', `'', or `"' characters allowed in -between. A sentence also begins or ends wherever a paragraph begins or -ends. - - Neither `M-a' nor `M-e' moves past the newline or spaces beyond the -sentence edge at which it is stopping. - - `M-a' and `M-e' have a corresponding kill command, just like `C-a' -and `C-e' have `C-k'. The command is `M-k' (`kill-sentence') which -kills from point to the end of the sentence. With minus one as an -argument it kills back to the beginning of the sentence. Larger -arguments serve as repeat counts. - - There is a special command, `C-x ' (`backward-kill-sentence'), -for killing back to the beginning of a sentence, which is useful when -you change your mind in the middle of composing text. - - The variable `sentence-end' controls recognition of the end of a -sentence. It is a regexp that matches the last few characters of a -sentence, together with the whitespace following the sentence. Its -normal value is: - - "[.?!][]\"')]*\\($\\|\t\\| \\)[ \t\n]*" - -This example is explained in the section on regexps. *Note Regexps::. - - -File: xemacs.info, Node: Paragraphs, Next: Pages, Prev: Sentences, Up: Text - -Paragraphs -========== - - The Emacs commands for manipulating paragraphs are also `Meta-' keys. - -`M-[' - Move back to previous paragraph beginning - (`backward-paragraph'). - -`M-]' - Move forward to next paragraph end (`forward-paragraph'). - -`M-h' - Put point and mark around this or next paragraph - (`mark-paragraph'). - - `Meta-[' moves to the beginning of the current or previous paragraph, -while `Meta-]' moves to the end of the current or next paragraph. -Blank lines and text formatter command lines separate paragraphs and are -not part of any paragraph. An indented line starts a new paragraph. - - In major modes for programs (as opposed to Text mode), paragraphs -begin and end only at blank lines. As a result, the paragraph commands -continue to be useful even though there are no paragraphs per se. - - When there is a fill prefix, paragraphs are delimited by all lines -which don't start with the fill prefix. *Note Filling::. - - To operate on a paragraph, you can use the command `Meta-h' -(`mark-paragraph') to set the region around it. This command puts -point at the beginning and mark at the end of the paragraph point was -in. If point is between paragraphs (in a run of blank lines or at a -boundary), the paragraph following point is surrounded by point and -mark. If there are blank lines preceding the first line of the -paragraph, one of the blank lines is included in the region. Thus, for -example, `M-h C-w' kills the paragraph around or after point. - - The precise definition of a paragraph boundary is controlled by the -variables `paragraph-separate' and `paragraph-start'. The value of -`paragraph-start' is a regexp that matches any line that either starts -or separates paragraphs. The value of `paragraph-separate' is another -regexp that matches only lines that separate paragraphs without being -part of any paragraph. Lines that start a new paragraph and are -contained in it must match both regexps. For example, normally -`paragraph-start' is `"^[ \t\n\f]"' and `paragraph-separate' is `"^[ -\t\f]*$"'. - - Normally it is desirable for page boundaries to separate paragraphs. -The default values of these variables recognize the usual separator for -pages. -