emacs: Two-Column

 
 25.16 Two-Column Editing
 ========================
 
 Two-column mode lets you conveniently edit two side-by-side columns of
 text.  It uses two side-by-side windows, each showing its own buffer.
 There are three ways to enter two-column mode:
 
 ‘<F2> 2’ or ‘C-x 6 2’
      Enter two-column mode with the current buffer on the left, and on
      the right, a buffer whose name is based on the current buffer’s
      name (‘2C-two-columns’).  If the right-hand buffer doesn’t already
      exist, it starts out empty; the current buffer’s contents are not
      changed.
 
      This command is appropriate when the current buffer is empty or
      contains just one column and you want to add another column.
 
 ‘<F2> s’ or ‘C-x 6 s’
      Split the current buffer, which contains two-column text, into two
      buffers, and display them side by side (‘2C-split’).  The current
      buffer becomes the left-hand buffer, but the text in the right-hand
      column is moved into the right-hand buffer.  The current column
      specifies the split point.  Splitting starts with the current line
      and continues to the end of the buffer.
 
      This command is appropriate when you have a buffer that already
      contains two-column text, and you wish to separate the columns
      temporarily.
 
 ‘<F2> b BUFFER <RET>’
 ‘C-x 6 b BUFFER <RET>’
      Enter two-column mode using the current buffer as the left-hand
      buffer, and using buffer BUFFER as the right-hand buffer
      (‘2C-associate-buffer’).
 
    ‘<F2> s’ or ‘C-x 6 s’ looks for a column separator, which is a string
 that appears on each line between the two columns.  You can specify the
 width of the separator with a numeric argument to ‘<F2> s’; that many
 characters, before point, constitute the separator string.  By default,
 the width is 1, so the column separator is the character before point.
 
    When a line has the separator at the proper place, ‘<F2> s’ puts the
 text after the separator into the right-hand buffer, and deletes the
 separator.  Lines that don’t have the column separator at the proper
 place remain unsplit; they stay in the left-hand buffer, and the
 right-hand buffer gets an empty line to correspond.  (This is the way to
 write a line that spans both columns while in two-column mode: write it
 in the left-hand buffer, and put an empty line in the right-hand
 buffer.)
 
    The command ‘C-x 6 <RET>’ or ‘<F2> <RET>’ (‘2C-newline’) inserts a
 newline in each of the two buffers at corresponding positions.  This is
 the easiest way to add a new line to the two-column text while editing
 it in split buffers.
 
    When you have edited both buffers as you wish, merge them with ‘<F2>
 1’ or ‘C-x 6 1’ (‘2C-merge’).  This copies the text from the right-hand
 buffer as a second column in the other buffer.  To go back to two-column
 editing, use ‘<F2> s’.
 
    Use ‘<F2> d’ or ‘C-x 6 d’ to dissociate the two buffers, leaving each
 as it stands (‘2C-dissociate’).  If the other buffer, the one not
 current when you type ‘<F2> d’, is empty, ‘<F2> d’ kills it.