A selection is a a chunk of text marked for further manipulation. A selection can either span a range of text between two locations in a buffer, or it can cover a rectangular area.
The simplest way to make a range selection is to drag the mouse from the start of the selection to the end. All text between the two locations will be marked. Shift-clicking a location in the buffer will create a selection from the caret position to where you clicked.
Holding down Shift in addition to a caret movement key (Left, Up, Home, etc) will extend the selection in the specified direction. If no selection exists, one will be created.
Edit>Select All (keyboard equivalent: Control-A) selects the entire buffer, and Edit>Select None (keyboard equivalent: Escape) deactivates the selection.
Figure 3-4. A range selection
A rectangular selection can be created by dragging the mouse while holding down Control. Holding down Shift and Control while clicking a location in the buffer will extend a rectangular selection. Edit>Selection>Rectangular Selection (keyboard equivalent: Control-\) will toggle the current selection between range and rectangle mode.
It is possible to select a rectangle with zero width but non-zero height. This can be used to insert a new column between two existing columns. Such "zero-width" selections are shown as a thin vertical line.
Deleting, replacing, copying, pasting, and so on works as expected on rectangles. All built in commands are rectangle-aware; however, some plugins might not be. Note that because rectangular selections are implemented using character offsets, rather than absolute screen positions, they might not behave as one might expect when proportional-width fonts or tabs are used. For best results use monospaced fonts and soft tabs when editing columnar files.
Figure 3-5. A rectangular selection