X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/9b3ae7e47190f786344f43cb9ef9c111c3a66a0c..af330736d14bb0fe3b8121d90bd5bbf92bdd20f8:/man/basic.texi diff --git a/man/basic.texi b/man/basic.texi index c5361d518f..f4d15f9171 100644 --- a/man/basic.texi +++ b/man/basic.texi @@ -1,5 +1,6 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000 Free Software Foundation, Inc. +@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, +@c 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @node Basic, Minibuffer, Exiting, Top @chapter Basic Editing Commands @@ -20,7 +21,7 @@ use the tutorial, run Emacs and type @kbd{Control-h t} * Moving Point:: How to move the cursor to the place where you want to change something. * Erasing:: Deleting and killing text. -* Undo:: Undoing recent changes in the text. +* Basic Undo:: Undoing recent changes in the text. * Files: Basic Files. Visiting, creating, and saving files. * Help: Basic Help. Asking what a character does. * Blank Lines:: Commands to make or delete blank lines. @@ -60,9 +61,9 @@ be @key{DEL}, and sets it up that way. But in some cases, especially with text-only terminals, you will need to tell Emacs which key to use for that purpose. If the large key not far above the @key{RET} or @key{ENTER} key doesn't delete backwards, you need to do this. -@xref{DEL Doesn't Delete}, for an explanation of how. +@xref{DEL Does Not Delete}, for an explanation of how. - Most PC keyboards have both a @key{BACKSPACE} key a short ways above + Most PC keyboards have both a @key{BACKSPACE} key not far above @key{RET} or @key{ENTER}, and a @key{DELETE} key elsewhere. On these keyboards, Emacs supports when possible the usual convention that the @key{BACKSPACE} key deletes backwards (it is @key{DEL}), while the @@ -73,13 +74,14 @@ point, the one underneath the cursor, like @kbd{C-d} (see below). @cindex newline To end a line and start typing a new one, type @key{RET}. This inserts a newline character in the buffer. If point is in the middle of -a line, @key{RET} splits the line. Typing @key{DEL} when the cursor is +a line, the effect is to split the line. Typing @key{DEL} when the cursor is at the beginning of a line deletes the preceding newline, thus joining the line with the preceding line. Emacs can split lines automatically when they become too long, if you turn on a special minor mode called @dfn{Auto Fill} mode. -@xref{Filling}, for how to use Auto Fill mode. +@xref{Filling}, for how to use Auto Fill mode and other modes for +@dfn{filling} text. If you prefer to have text characters replace (overwrite) existing text rather than shove it to the right, you can enable Overwrite mode, @@ -153,9 +155,9 @@ rebind @key{DEL} to other commands. clicking the left mouse button where you want to move to. There are also control and meta characters for cursor motion. Some -are equivalent to the arrow keys (these date back to the days before -terminals had arrow keys, and are usable on terminals which don't have -them). Others do more sophisticated things. +are equivalent to the arrow keys (it is faster to use these control +keys than move your hand over to the arrow keys). Others do more +sophisticated things. @kindex C-a @kindex C-e @@ -170,8 +172,8 @@ them). Others do more sophisticated things. @kindex RIGHT @kindex UP @kindex DOWN -@findex beginning-of-line -@findex end-of-line +@findex move-beginning-of-line +@findex move-end-of-line @findex forward-char @findex backward-char @findex next-line @@ -183,9 +185,9 @@ them). Others do more sophisticated things. @findex move-to-window-line @table @kbd @item C-a -Move to the beginning of the line (@code{beginning-of-line}). +Move to the beginning of the line (@code{move-beginning-of-line}). @item C-e -Move to the end of the line (@code{end-of-line}). +Move to the end of the line (@code{move-end-of-line}). @item C-f Move forward one character (@code{forward-char}). The right-arrow key does the same thing. @@ -219,23 +221,31 @@ numeric argument @var{n}, move to @var{n}/10 of the way from the top. @item M-> Move to the end of the buffer (@code{end-of-buffer}). @item C-v -Scroll the display one screen forward, and move point if necessary to put -it on the screen (@code{scroll-up}). This doesn't always -move point, but it is commonly used to do so. -If your keyboard has a @key{PAGEDOWN} key, it does the same thing. +@itemx @key{PAGEDOWN} +@itemx @key{PRIOR} +Scroll the display one screen forward, and move point if necessary to +put it on the screen (@code{scroll-up}). This doesn't always move +point, but it is commonly used to do so. If your keyboard has a +@key{PAGEDOWN} or @key{PRIOR} key, it does the same thing. Scrolling commands are further described in @ref{Scrolling}. @item M-v +@itemx @key{PAGEUP} +@itemx @key{NEXT} Scroll one screen backward, and move point if necessary to put it on the screen (@code{scroll-down}). This doesn't always move point, but -it is commonly used to do so. The @key{PAGEUP} key has the same -effect. +it is commonly used to do so. If your keyboard has a @key{PAGEUP} or +@key{NEXT} key, it does the same thing. @item M-x goto-char Read a number @var{n} and move point to buffer position @var{n}. Position 1 is the beginning of the buffer. -@item M-x goto-line -Read a number @var{n} and move point to line number @var{n}. Line 1 -is the beginning of the buffer. +@item M-g M-g +@itemx M-g g +@itemx M-x goto-line +Read a number @var{n} and move point to the beginning of line number +@var{n}. Line 1 is the beginning of the buffer. If point is on or +just after a number, then that is the default for @var{n}, if you just +press @key{RET} with an empty minibuffer. @item C-x C-n @findex set-goal-column @kindex C-x C-n @@ -256,13 +266,13 @@ to the end of another line. Normally, @code{track-eol} is @code{nil}. @xref{Variables}, for how to set variables such as @code{track-eol}. @vindex next-line-add-newlines - @kbd{C-n} normally gets an error when you use it on the last line of -the buffer (just as @kbd{C-p} gets an error on the first line). But -if you set the variable @code{next-line-add-newlines} to a -non-@code{nil} value, @kbd{C-n} on the last line of a buffer creates -an additional line at the end and moves down onto it. + @kbd{C-n} normally stops at the end of the buffer when you use it on +the last line of the buffer. But if you set the variable +@code{next-line-add-newlines} to a non-@code{nil} value, @kbd{C-n} on +the last line of a buffer creates an additional line at the end and +moves down onto it. -@node Erasing +@node Erasing @section Erasing Text @table @kbd @@ -273,8 +283,8 @@ Delete the character after point (@code{delete-char}). @item @key{DELETE} @itemx @key{BACKSPACE} One of these keys, whichever is the large key above the @key{RET} or -@key{ENTER} key, deletes the character before point, like @key{DEL}. -If that is @key{BACKSPACE}, and your keyboard also has @key{DELETE}, +@key{ENTER} key, deletes the character before point---it is @key{DEL}. +If @key{BACKSPACE} is @key{DEL}, and your keyboard also has @key{DELETE}, then @key{DELETE} deletes forwards, like @kbd{C-d}. @item C-k Kill to the end of the line (@code{kill-line}). @@ -302,125 +312,56 @@ line, it kills all the text up to the end of the line. If you type @xref{Killing}, for more flexible ways of killing text. -@node Undo +@node Basic Undo @section Undoing Changes -@cindex undo -@cindex changes, undoing - You can undo all the recent changes in the buffer text, up to a -certain point. Each buffer records changes individually, and the undo -command always applies to the current buffer. Usually each editing -command makes a separate entry in the undo records, but some commands -such as @code{query-replace} make many entries, and very simple commands -such as self-inserting characters are often grouped to make undoing less -tedious. + Emacs records a list of changes made in the buffer text, so you can +you can undo all the recent changes, as far as the records go. +Usually each editing command makes a separate entry in the undo +records, but sometimes an entry covers just part of a command, and +very simple commands may be grouped. @table @kbd @item C-x u -Undo one batch of changes---usually, one command worth (@code{undo}). +Undo one entry of the undo records---usually, one command worth +(@code{undo}). @item C-_ +@itemx C-/ The same. -@item C-u C-x u -Undo one batch of changes in the region. @end table -@kindex C-x u -@kindex C-_ -@findex undo - The command @kbd{C-x u} or @kbd{C-_} is how you undo. The first time -you give this command, it undoes the last change. Point moves back to -where it was before the command that made the change. - - Consecutive repetitions of @kbd{C-_} or @kbd{C-x u} undo earlier and -earlier changes, back to the limit of the undo information available. -If all recorded changes have already been undone, the undo command -prints an error message and does nothing. - - Any command other than an undo command breaks the sequence of undo -commands. Starting from that moment, the previous undo commands become -ordinary changes that you can undo. Thus, to redo changes you have -undone, type @kbd{C-f} or any other command that will harmlessly break -the sequence of undoing, then type more undo commands. - -@cindex selective undo -@kindex C-u C-x u - Ordinary undo applies to all changes made in the current buffer. You -can also perform @dfn{selective undo}, limited to the current region. -To do this, specify the region you want, then run the @code{undo} -command with a prefix argument (the value does not matter): @kbd{C-u C-x -u} or @kbd{C-u C-_}. This undoes the most recent change in the region. -To undo further changes in the same region, repeat the @code{undo} -command (no prefix argument is needed). In Transient Mark mode, any use -of @code{undo} when there is an active region performs selective undo; -you do not need a prefix argument. - - If you notice that a buffer has been modified accidentally, the -easiest way to recover is to type @kbd{C-_} repeatedly until the stars -disappear from the front of the mode line. At this time, all the -modifications you made have been canceled. Whenever an undo command -makes the stars disappear from the mode line, it means that the buffer -contents are the same as they were when the file was last read in or -saved. - - If you do not remember whether you changed the buffer deliberately, -type @kbd{C-_} once. When you see the last change you made undone, you -will see whether it was an intentional change. If it was an accident, -leave it undone. If it was deliberate, redo the change as described -above. - - Not all buffers record undo information. Buffers whose names start with -spaces don't; these buffers are used internally by Emacs and its extensions -to hold text that users don't normally look at or edit. - - You cannot undo mere cursor motion; only changes in the buffer -contents save undo information. However, some cursor motion commands -set the mark, so if you use these commands from time to time, you can -move back to the neighborhoods you have moved through by popping the -mark ring (@pxref{Mark Ring}). - -@vindex undo-limit -@vindex undo-strong-limit -@cindex undo limit - When the undo information for a buffer becomes too large, Emacs -discards the oldest undo information from time to time (during garbage -collection). You can specify how much undo information to keep by -setting two variables: @code{undo-limit} and @code{undo-strong-limit}. -Their values are expressed in units of bytes of space. - - The variable @code{undo-limit} sets a soft limit: Emacs keeps undo -data for enough commands to reach this size, and perhaps exceed it, but -does not keep data for any earlier commands beyond that. Its default -value is 20000. The variable @code{undo-strong-limit} sets a stricter -limit: the command which pushes the size past this amount is itself -forgotten. Its default value is 30000. - - Regardless of the values of those variables, the most recent change is -never discarded, so there is no danger that garbage collection occurring -right after an unintentional large change might prevent you from undoing -it. - - The reason the @code{undo} command has two keys, @kbd{C-x u} and -@kbd{C-_}, set up to run it is that it is worthy of a single-character -key, but on some keyboards it is not obvious how to type @kbd{C-_}. -@kbd{C-x u} is an alternative you can type straightforwardly on any -terminal. + The command @kbd{C-x u} (or @kbd{C-_} or @kbd{C-/}) is how you undo. +The first time you give this command, it undoes the last change. +Point moves back to where it was before the command that made the +change. + + Consecutive repetitions of @kbd{C-x u} (or its aliases) undo earlier +and earlier changes, back to the limit of the undo information +available. If all recorded changes have already been undone, the undo +command displays an error message and does nothing. + + The undo command applies only to changes in the buffer; you can't +use it to undo mere cursor motion. However, some cursor motion +commands set the mark, so if you use these commands from time to time, +you can move back to the neighborhoods you have moved through by +popping the mark ring (@pxref{Mark Ring}). @node Basic Files @section Files The commands described above are sufficient for creating and altering text in an Emacs buffer; the more advanced Emacs commands just make -things easier. But to keep any text permanently you must put it in a +things easier. However, to keep any text permanently you must put it in a @dfn{file}. Files are named units of text which are stored by the operating system for you to retrieve later by name. To look at or use the contents of a file in any way, including editing the file with Emacs, you must specify the file name. - Consider a file named @file{/usr/rms/foo.c}. In Emacs, to begin editing -this file, type + Consider a file named @file{test.emacs}. (We can assume it is in +your home directory.) In Emacs, to begin editing this file, type @example -C-x C-f /usr/rms/foo.c @key{RET} +C-x C-f test.emacs @key{RET} @end example @noindent @@ -434,8 +375,8 @@ copying the contents of the file into the buffer, and then displaying the buffer for you to edit. If you alter the text, you can @dfn{save} the new text in the file by typing @kbd{C-x C-s} (@code{save-buffer}). This makes the changes permanent by copying the altered buffer contents -back into the file @file{/usr/rms/foo.c}. Until you save, the changes -exist only inside Emacs, and the file @file{foo.c} is unaltered. +back into the file @file{test.emacs}. Until you save, the changes +exist only inside Emacs, and the file @file{test.emacs} is unaltered. To create a file, just visit the file with @kbd{C-x C-f} as if it already existed. This creates an empty buffer in which you can insert @@ -465,7 +406,6 @@ a description of all the help facilities. @xref{Help}.@refill Here are special commands and techniques for putting in and taking out blank lines. -@c widecommands @table @kbd @item C-o Insert one or more blank lines after the cursor (@code{open-line}). @@ -490,7 +430,7 @@ type the text for the new line. @kbd{C-o F O O} has the same effect as You can make several blank lines by typing @kbd{C-o} several times, or by giving it a numeric argument to tell it how many blank lines to make. -@xref{Arguments}, for how. If you have a fill prefix, then @kbd{C-o} +@xref{Arguments}, for how. If you have a fill prefix, the @kbd{C-o} command inserts the fill prefix on the new line, when you use it at the beginning of a line. @xref{Fill Prefix}. @@ -507,6 +447,7 @@ nonblank line. @cindex continuation line @cindex wrapping @cindex line wrapping +@cindex fringes, and continuation lines If you add too many characters to one line without breaking it with @key{RET}, the line grows to occupy two (or more) lines on the screen. On graphical displays, Emacs indicates line wrapping with small bent @@ -524,28 +465,23 @@ column, some columns at the end of the previous screen line may be characters in the ``empty'' columns, just before the @samp{\} character that indicates continuation. - Sometimes it is nice to have Emacs insert newlines automatically when -a line gets too long. Continuation on the screen does not do that. Use -Auto Fill mode (@pxref{Filling}) if that's what you want. + Continued lines can be rather difficult to read, since each line is +typically broken in the middle of a word. You can have Emacs insert a +newline automatically when a line gets too long, by using Auto Fill +mode. Another approach, intermediate between continued lines and Auto +Fill mode, is Long Lines mode, which ensures that wrapping only occurs +in the spaces between words. @xref{Filling}. -@vindex truncate-lines @cindex truncation - As an alternative to continuation, Emacs can display long lines by -@dfn{truncation}. This means that all the characters that do not fit -in the width of the screen or window do not appear at all. They -remain in the buffer, temporarily invisible. On terminals, @samp{$} -in the last column informs you that the line has been truncated on the -display. On window systems, a small straight arrow in the fringe to -the right of the window indicates a truncated line. - -@findex toggle-truncate-lines - Truncation instead of continuation happens whenever horizontal -scrolling is in use, and optionally in all side-by-side windows -(@pxref{Windows}). You can enable or disable truncation for a -particular buffer with the command @kbd{M-x toggle-truncate-lines}. - - @xref{Display Custom}, for additional variables that affect how text is -displayed. +@cindex line truncation, and fringes + Emacs can also display long lines by @dfn{truncation}. This means +that all the characters that do not fit in the width of the screen or +window do not appear at all. @samp{$} in the last column or a small +straight arrow in the fringe to the right of the window indicates a +truncated line. + + @xref{Display Custom}, for more information about line truncation, +and other variables that affect how text is displayed. @node Position Info @section Cursor Position Information @@ -571,6 +507,9 @@ point, and column of point (@code{what-cursor-position}). @item M-x hl-line-mode Enable or disable highlighting of the current line. @xref{Cursor Display}. +@item M-x size-indication-mode +Toggle automatic display of the size of the buffer. +@xref{Optional Mode Line}. @end table @findex what-page @@ -579,49 +518,50 @@ Display}. @cindex location of point @cindex cursor location @cindex point location - There are two commands for working with line numbers. @kbd{M-x -what-line} computes the current line number and displays it in the echo -area. To go to a given line by number, use @kbd{M-x goto-line}; it -prompts you for the number. These line numbers count from one at the -beginning of the buffer. - - You can also see the current line number in the mode line; see @ref{Mode -Line}. If you narrow the buffer, then the line number in the mode line -is relative to the accessible portion (@pxref{Narrowing}). By contrast, -@code{what-line} shows both the line number relative to the narrowed -region and the line number relative to the whole buffer. + @kbd{M-x what-line} computes the current line number and displays it +in the echo area. You can also see the current line number in the +mode line; see @ref{Mode Line}. If you narrow the buffer, then the +line number in the mode line is relative to the accessible portion +(@pxref{Narrowing}). By contrast, @code{what-line} shows both the +line number relative to the narrowed region and the line number +relative to the whole buffer. @kbd{M-x what-page} counts pages from the beginning of the file, and -counts lines within the page, printing both numbers. @xref{Pages}. +counts lines within the page, showing both numbers in the echo area. +@xref{Pages}. @kindex M-= @findex count-lines-region While on this subject, we might as well mention @kbd{M-=} (@code{count-lines-region}), -which prints the number of lines in the region (@pxref{Mark}). +which displays the number of lines in the region (@pxref{Mark}). @xref{Pages}, for the command @kbd{C-x l} which counts the lines in the current page. @kindex C-x = @findex what-cursor-position - The command @kbd{C-x =} (@code{what-cursor-position}) can be used to find out -the column that the cursor is in, and other miscellaneous information about -point. It prints a line in the echo area that looks like this: + The command @kbd{C-x =} (@code{what-cursor-position}) shows what +column the cursor is in, and other miscellaneous information about +point and the character after it. It displays a line in the echo area +that looks like this: @smallexample -Char: c (0143, 99, 0x63) point=21044 of 26883(78%) column 53 +Char: c (99, #o143, #x63) point=28062 of 36168 (78%) column=53 @end smallexample -@noindent -(In fact, this is the output produced when point is before the -@samp{column} in the example.) - The four values after @samp{Char:} describe the character that follows point, first by showing it and then by giving its character code in -octal, decimal and hex. For a non-ASCII multibyte character, these are -followed by @samp{ext} and the character's representation, in hex, in +decimal, octal and hex. For a non-@acronym{ASCII} multibyte character, these are +followed by @samp{file} and the character's representation, in hex, in the buffer's coding system, if that coding system encodes the character safely and with a single byte (@pxref{Coding Systems}). If the -character's encoding is longer than one byte, Emacs shows @samp{ext ...}. +character's encoding is longer than one byte, Emacs shows @samp{file ...}. + + However, if the character displayed is in the range 0200 through +0377 octal, it may actually stand for an invalid UTF-8 byte read from +a file. In Emacs, that byte is represented as a sequence of 8-bit +characters, but all of them together display as the original invalid +byte, in octal code. In this case, @kbd{C-x =} shows @samp{part of +display ...} instead of @samp{file}. @samp{point=} is followed by the position of point expressed as a character count. The front of the buffer counts as position 1, one character later @@ -629,16 +569,16 @@ as 2, and so on. The next, larger, number is the total number of characters in the buffer. Afterward in parentheses comes the position expressed as a percentage of the total size. - @samp{column} is followed by the horizontal position of point, in + @samp{column=} is followed by the horizontal position of point, in columns from the left edge of the window. If the buffer has been narrowed, making some of the text at the -beginning and the end temporarily inaccessible, @kbd{C-x =} prints +beginning and the end temporarily inaccessible, @kbd{C-x =} displays additional text describing the currently accessible range. For example, it might display this: @smallexample -Char: C (0103, 67, 0x43) point=252 of 889(28%) <231 - 599> column 0 +Char: C (67, #o103, #x43) point=252 of 889 (28%) <231-599> column=0 @end smallexample @noindent @@ -651,22 +591,63 @@ part), the @w{@kbd{C-x =}} output does not describe a character after point. The output might look like this: @smallexample -point=26957 of 26956(100%) column 0 +point=36169 of 36168 (EOB) column=0 @end smallexample - @w{@kbd{C-u C-x =}} displays additional information about a character, -in place of the buffer coordinates and column: the character set name -and the codes that identify the character within that character set; -ASCII characters are identified as belonging to the @code{ASCII} -character set. In addition, the full character encoding, even if it -takes more than a single byte, is shown after @samp{ext}. Here's an -example for a Latin-1 character A with a grave accent in a buffer whose -coding system is iso-2022-7bit@footnote{On terminals that support -Latin-1 characters, the character shown after @samp{Char:} is displayed -as the actual glyph of A with grave accent.}: +@cindex character set of character at point +@cindex font of character at point +@cindex text properties at point + @w{@kbd{C-u C-x =}} displays the following additional information about a +character. + +@itemize @bullet +@item +The character set name, and the codes that identify the character +within that character set; @acronym{ASCII} characters are identified +as belonging to the @code{ascii} character set. + +@item +The character's syntax and categories. + +@item +The character's encodings, both internally in the buffer, and externally +if you were to save the file. + +@item +What to type to input the character in the current input method +(if it supports the character). + +@item +If you are running Emacs on a graphical display, the font name and +glyph code for the character. If you are running Emacs on a text-only +terminal, the code(s) sent to the terminal. + +@item +The character's text properties (@pxref{Text Properties,,, +elisp, the Emacs Lisp Reference Manual}), and any overlays containing it +(@pxref{Overlays,,, elisp, the same manual}). +@end itemize + + Here's an example showing the Latin-1 character A with grave accent, +in a buffer whose coding system is @code{iso-latin-1}, whose +terminal coding system is @code{iso-latin-1} (so the terminal actually +displays the character as @samp{@`A}), and which has font-lock-mode +(@pxref{Font Lock}) enabled: @smallexample -Char: @`A (04300, 2240, 0x8c0, ext ESC , A @@) (latin-iso8859-1 64) + character: @`A (2240, #o4300, #x8c0, U+00C0) + charset: latin-iso8859-1 + (Right-Hand Part of Latin Alphabet 1@dots{} + code point: #x40 + syntax: w which means: word + category: l:Latin + to input: type "`A" with latin-1-prefix +buffer code: #x81 #xC0 + file code: #xC0 (encoded by coding system iso-latin-1) + display: terminal code #xC0 + +There are text properties here: + fontified t @end smallexample @node Arguments @@ -688,9 +669,10 @@ act in the opposite direction. @kindex M-@t{-} @findex digit-argument @findex negative-argument - If your terminal keyboard has a @key{META} key, the easiest way to -specify a numeric argument is to type digits and/or a minus sign while -holding down the @key{META} key. For example, + If your terminal keyboard has a @key{META} key (labeled @key{ALT} on +PC keyboards), the easiest way to specify a numeric argument is to +type digits and/or a minus sign while holding down the @key{META} key. +For example, @example M-5 C-n @@ -714,15 +696,14 @@ holding down modifier keys; @kbd{C-u} works on all terminals. To type a negative argument, type a minus sign after @kbd{C-u}. Just a minus sign without digits normally means @minus{}1. - @kbd{C-u} followed by a character which is neither a digit nor a minus -sign has the special meaning of ``multiply by four.'' It multiplies the -argument for the next command by four. @kbd{C-u} twice multiplies it by -sixteen. Thus, @kbd{C-u C-u C-f} moves forward sixteen characters. This -is a good way to move forward ``fast,'' since it moves about 1/5 of a line -in the usual size screen. Other useful combinations are @kbd{C-u C-n}, -@kbd{C-u C-u C-n} (move down a good fraction of a screen), @kbd{C-u C-u -C-o} (make ``a lot'' of blank lines), and @kbd{C-u C-k} (kill four -lines).@refill + @kbd{C-u} without digits or minus sign has the special meaning of +``four times'': it multiplies the argument for the next command by +four. @kbd{C-u C-u} multiplies it by sixteen. Thus, @kbd{C-u C-u +C-f} moves forward sixteen characters. This is a good way to move +forward ``fast,'' since it moves about 1/5 of a line in the usual size +screen. Other useful combinations are @kbd{C-u C-n}, @kbd{C-u C-u +C-n} (move down a good fraction of a screen), @kbd{C-u C-u C-o} (make +``a lot'' of blank lines), and @kbd{C-u C-k} (kill four lines).@refill Some commands care only about whether there is an argument, and not about its value. For example, the command @kbd{M-q} (@code{fill-paragraph}) with @@ -743,8 +724,9 @@ with an argument of one. (@xref{Killing}, for more information on A few commands treat a plain @kbd{C-u} differently from an ordinary argument. A few others may treat an argument of just a minus sign differently from an argument of @minus{}1. These unusual cases are -described when they come up; they are always for reasons of convenience -of use of the individual command. +described when they come up; they are always for reasons of +convenience of use of the individual command, and they are documented +in the command's documentation string. You can use a numeric argument to insert multiple copies of a character. This is straightforward unless the character is a digit; for @@ -787,3 +769,6 @@ additional times, to delete a total of 80 characters, by typing @kbd{C-x z z z}. The first @kbd{C-x z} repeats the command once, and each subsequent @kbd{z} repeats it once again. +@ignore + arch-tag: cda8952a-c439-41c1-aecf-4bc0d6482956 +@end ignore