/[emacs]/emacs/man/killing.texi
ViewVC logotype

Diff of /emacs/man/killing.texi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.36 by teirllm, Fri Sep 3 02:36:11 2004 UTC revision 1.37 by rms, Sat Jan 1 05:02:09 2005 UTC
# Line 2  Line 2 
2  @c Copyright (C) 1985,86,87,93,94,95,97,2000,2001,2004  @c Copyright (C) 1985,86,87,93,94,95,97,2000,2001,2004
3  @c   Free Software Foundation, Inc.  @c   Free Software Foundation, Inc.
4  @c See file emacs.texi for copying conditions.  @c See file emacs.texi for copying conditions.
 @iftex  
 @chapter Killing and Moving Text  
   
   @dfn{Killing} means erasing text and copying it into the @dfn{kill  
 ring}, from which it can be retrieved by @dfn{yanking} it.  Some systems  
 use the terms ``cutting'' and ``pasting'' for these operations.  
   
   The most common way of moving or copying text within Emacs is to kill it  
 and later yank it elsewhere in one or more places.  This is very safe  
 because Emacs remembers several recent kills, not just the last one.  It  
 is versatile, because the many commands for killing syntactic units can  
 also be used for moving those units.  But there are other ways of  
 copying text for special purposes.  
   
   On terminals that support multiple windows for multiple applications,  
 the kill commands also provide a way to select text for other applications  
 to copy, and the Emacs yank commands can access selections made by  
 other programs.  
   
   Emacs has only one kill ring for all buffers, so you can kill text in  
 one buffer and yank it in another buffer.  
5    
6  @end iftex  @node Killing, Yanking, Mark, Top
7    @chapter Killing and Moving Text
8    
9  @ifnottex  @ifnottex
10  @raisesections  @raisesections
11  @end ifnottex  @end ifnottex
12    
13  @node Killing, Yanking, Mark, Top    @dfn{Killing} means erasing text and copying it into the @dfn{kill
14    ring}, from which you can bring it back into the buffer by
15    @dfn{yanking} it.  (Some systems use the terms ``cutting'' and
16    ``pasting'' for these operations.)  This is the most common way of
17    moving or copying text within Emacs.  Killing and yanking is very safe
18    because Emacs remembers several recent kills, not just the last one.
19    It is versatile, because the many commands for killing syntactic units
20    can also be used for moving those units.  But there are other ways of
21    copying text for special purposes.
22    
23    @iftex
24  @section Deletion and Killing  @section Deletion and Killing
25    @end iftex
26    
27  @cindex killing text  @cindex killing text
28  @cindex cutting text  @cindex cutting text
29  @cindex deletion  @cindex deletion
30    Most commands which erase text from the buffer save it in the @dfn{kill    Most commands which erase text from the buffer save it in the kill
31  ring} so that you can move or copy it to other parts of the buffer.  ring.  These commands are known as @dfn{kill} commands.  The commands
32  These commands are known as @dfn{kill} commands.  The rest of the  that erase text but do not save it in the kill ring are known as
33  commands that erase text do not save it in the kill ring; they are known  @dfn{delete} commands.  The @kbd{C-x u} (@code{undo}) command
34  as @dfn{delete} commands.  (This distinction is made only for erasure of  (@pxref{Undo}) can undo both kill and delete commands; the importance
35  text in the buffer.)  If you do a kill or delete command by mistake, you  of the kill ring is that you can also yank the text in a different
36  can use the @kbd{C-x u} (@code{undo}) command to undo it  place or places.  Emacs has only one kill ring for all buffers, so you
37  (@pxref{Undo}).  can kill text in one buffer and yank it in another buffer.
   
 @vindex kill-read-only-ok  
 @cindex read-only text, killing  
   You cannot kill read-only text, since such text does not allow any  
 kind of modification.  But some users like to use the kill commands to  
 copy read-only text into the kill ring, without actually changing it.  
 Therefore, the kill commands work specially in a read-only buffer:  
 they move over text, and copy it to the kill ring, without actually  
 deleting it from the buffer.  Normally, Emacs beeps and prints an  
 error message when this happens.  But if you set the variable  
 @code{kill-read-only-ok} to a non-@code{nil} value, it just prints a  
 message in the echo area, telling you what is happening.  
38    
39    The delete commands include @kbd{C-d} (@code{delete-char}) and    The delete commands include @kbd{C-d} (@code{delete-char}) and
40  @key{DEL} (@code{delete-backward-char}), which delete only one  @key{DEL} (@code{delete-backward-char}), which delete only one
41  character at a time, and those commands that delete only spaces or  character at a time, and those commands that delete only spaces or
42  newlines.  Commands that can destroy significant amounts of nontrivial  newlines.  Commands that can erase significant amounts of nontrivial
43  data generally do a kill operation instead.  The commands' names and  data generally do a kill operation instead.  The commands' names and
44  individual descriptions use the words @samp{kill} and @samp{delete} to  individual descriptions use the words @samp{kill} and @samp{delete} to
45  say which kind of operation they perform.  say which kind of operation they perform.
46    
47    On window systems, the most recent kill done in Emacs is also the  @vindex kill-read-only-ok
48  primary selection, if it is more recent than any selection you made in  @cindex read-only text, killing
49  another program.  This means that the paste commands of other window    You cannot kill read-only text, since such text does not allow any
50  applications copy the text that you killed in Emacs.  kind of modification.  But some users like to use the kill commands to
51    copy read-only text into the kill ring, without actually changing it.
52  @cindex Delete Selection mode  Therefore, the kill commands work specially in a read-only buffer:
53  @cindex mode, Delete Selection  they move over text, and copy it to the kill ring, without actually
54  @findex delete-selection-mode  deleting it from the buffer.  Normally, kill commands beep and display
55    Many window systems follow the convention that insertion while text  an error message when this happens.  But if you set the variable
56  is selected deletes the selected text.  You can make Emacs behave this  @code{kill-read-only-ok} to a non-@code{nil} value, they just print a
57  way by enabling Delete Selection mode, with @kbd{M-x  message in the echo area to explain why the text has not been erased.
 delete-selection-mode}, or using Custom.  Another effect of this mode  
 is that @key{DEL}, @kbd{C-d} and some other keys, when a selection  
 exists, will kill the whole selection.  It also enables Transient Mark  
 mode (@pxref{Transient Mark}).  
58    
59  @menu  @menu
60  * Deletion::            Commands for deleting small amounts of text and  * Deletion::            Commands for deleting small amounts of text and
# Line 87  mode (@pxref{Transient Mark}). Line 62  mode (@pxref{Transient Mark}).
62  * Killing by Lines::    How to kill entire lines of text at one time.  * Killing by Lines::    How to kill entire lines of text at one time.
63  * Other Kill Commands:: Commands to kill large regions of text and  * Other Kill Commands:: Commands to kill large regions of text and
64                            syntactic units such as words and sentences.                            syntactic units such as words and sentences.
65    * Graphical Kill::      The kill ring on graphical terminals:
66                              yanking between applications.
67  @end menu  @end menu
68    
69  @need 1500  @need 1500
# Line 652  rectangle shifts right. Line 629  rectangle shifts right.
629  @code{string-rectangle}, but inserts the string on each line,  @code{string-rectangle}, but inserts the string on each line,
630  shifting the original text to the right.  shifting the original text to the right.
631    
632    @node Graphical Kill
633    @section Killing on Graphical Terminals
634    
635      On multi-window terminals, the most recent kill done in Emacs is
636    also the primary selection, if it is more recent than any selection
637    you made in another program.  This means that the paste commands of
638    other applications with separate windows copy the text that you killed
639    in Emacs.  In addition, Emacs yank commands treat other applications'
640    selections as part of the kill ring, so you can yank them into Emacs.
641    
642    @cindex Delete Selection mode
643    @cindex mode, Delete Selection
644    @findex delete-selection-mode
645      Many window systems follow the convention that insertion while text
646    is selected deletes the selected text.  You can make Emacs behave this
647    way by enabling Delete Selection mode, with @kbd{M-x
648    delete-selection-mode}, or using Custom.  Another effect of this mode
649    is that @key{DEL}, @kbd{C-d} and some other keys, when a selection
650    exists, will kill the whole selection.  It also enables Transient Mark
651    mode (@pxref{Transient Mark}).
652    
653    
654  @ifnottex  @ifnottex
655  @lowersections  @lowersections
656  @end ifnottex  @end ifnottex

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.37

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26