Previous: Text Based Tables, Up: Text [Contents][Index]

### 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.

Previous: Text Based Tables, Up: Text [Contents][Index]