GNU Info

Info Node: (emacs)Transient Mark

(emacs)Transient Mark


Next: Using Region Prev: Setting Mark Up: Mark
Enter node , (file) or (file)node

Transient Mark Mode
===================

   On a terminal that supports colors, Emacs can highlight the current
region.  But normally it does not.  Why not?

   Highlighting the region whenever it exists would not be desirable in
Emacs, because once you have set a mark, there is _always_ a region (in
that buffer).  And highlighting the region all the time would be a
nuisance.  So normally Emacs highlights the region only immediately
after you have selected one with the mouse.

   You can turn on region highlighting by enabling Transient Mark mode.
This is a more rigid mode of operation in which the region "lasts" only
temporarily, so you must set up a region for each command that uses
one.  In Transient Mark mode, most of the time there is no region;
therefore, highlighting the region when it exists is useful and not
annoying.

   To enable Transient Mark mode, type `M-x transient-mark-mode'.  This
command toggles the mode, so you can repeat the command to turn off the
mode.

   Here are the details of Transient Mark mode:

   * To set the mark, type `C-<SPC>' (`set-mark-command').  This makes
     the mark active and thus begins highlighting of the region.  As
     you move point, you will see the highlighted region grow and
     shrink.

   * The mouse commands for specifying the mark also make it active.
     So do keyboard commands whose purpose is to specify a region,
     including `M-@', `C-M-@', `M-h', `C-M-h', `C-x C-p', and `C-x h'.

   * When the mark is active, you can execute commands that operate on
     the region, such as killing, indenting, or writing to a file.

   * Any change to the buffer, such as inserting or deleting a
     character, deactivates the mark.  This means any subsequent
     command that operates on a region will get an error and refuse to
     operate.  You can make the region active again by typing `C-x C-x'.

   * Commands like `M->' and `C-s', that "leave the mark behind" in
     addition to some other primary purpose, do not activate the new
     mark.  You can activate the new region by executing `C-x C-x'
     (`exchange-point-and-mark').

   * `C-s' when the mark is active does not alter the mark.

   * Quitting with `C-g' deactivates the mark.

   * Some commands operate on the region whenever it is active.  For
     instance, `C-x u' in Transient Mark mode operates on the region
     when there is a region.  Outside Transient Mark mode, you must type
     `C-u C-x u' if you want it to operate on the region.  Note:
     Undo.   Other commands that act this way are identified in their
     own documentation.

   The highlighting of the region uses the `region' face; you can
customize the appearance of the highlighted region by changing this
face.  Note: Face Customization.

   When multiple windows show the same buffer, they can have different
regions, because they can have different values of point (though they
all share one common mark position).  Ordinarily, only the selected
window highlights its region (Note: Windows).  However, if the
variable `highlight-nonselected-windows' is non-`nil', then each window
highlights its own region (provided that Transient Mark mode is enabled
and the mark in the window's buffer is active).

   When Transient Mark mode is not enabled, every command that sets the
mark also activates it, and nothing ever deactivates it.

   If the variable `mark-even-if-inactive' is non-`nil' in Transient
Mark mode, then commands can use the mark and the region even when it
is inactive.  Region highlighting appears and disappears just as it
normally does in Transient Mark mode, but the mark doesn't really go
away when the highlighting disappears.

   Transient Mark mode is also sometimes known as "Zmacs mode" because
the Zmacs editor on the MIT Lisp Machine handled the mark in a similar
way.


automatically generated by info2www version 1.2.2.9