GNU Info

Info Node: (emacs)Indirect Buffers

(emacs)Indirect Buffers


Next: Buffer Convenience Prev: Several Buffers Up: Buffers
Enter node , (file) or (file)node

Indirect Buffers
================

   An "indirect buffer" shares the text of some other buffer, which is
called the "base buffer" of the indirect buffer.  In some ways it is
the analogue, for buffers, of a symbolic link between files.

`M-x make-indirect-buffer <RET> BASE-BUFFER <RET> INDIRECT-NAME <RET>'
     Create an indirect buffer named INDIRECT-NAME whose base buffer is
     BASE-BUFFER.

`M-x clone-indirect-buffer <RET>'
     Create an indirect buffer that is a twin copy of the current
     buffer.

`C-x 4 c'
     Create an indirect buffer that is a twin copy of the current
     buffer, and select it in another window
     (`clone-indirect-buffer-other-window').

   The text of the indirect buffer is always identical to the text of
its base buffer; changes made by editing either one are visible
immediately in the other.  But in all other respects, the indirect
buffer and its base buffer are completely separate.  They have
different names, different values of point, different narrowing,
different markers, different major modes, and different local variables.

   An indirect buffer cannot visit a file, but its base buffer can.  If
you try to save the indirect buffer, that actually works by saving the
base buffer.  Killing the base buffer effectively kills the indirect
buffer, but killing an indirect buffer has no effect on its base buffer.

   One way to use indirect buffers is to display multiple views of an
outline.  Note: Outline Views.

   A quick and handy way to make an indirect buffer is with the command
`M-x clone-indirect-buffer'.  It creates and selects an indirect buffer
whose base buffer is the current buffer.  With a numeric argument, it
prompts for the name of the indirect buffer; otherwise it defaults to
the name of the current buffer, modifying it by adding a `<N>' prefix
if required.  `C-x 4 c' (`clone-indirect-buffer-other-window') works
like `M-x clone-indirect-buffer', but it selects the cloned buffer in
another window.  These commands come in handy if you want to create new
`*info*' or `*Help*' buffers, for example.

   The more general way is with the command `M-x make-indirect-buffer'.
It creates an indirect buffer from buffer BASE-BUFFER, under the name
INDIRECT-NAME.  It prompts for both BASE-BUFFER and INDIRECT-NAME using
the minibuffer.


automatically generated by info2www version 1.2.2.9