manpagez: man pages & more
info emacs
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

26.1.1 Mouse Commands for Editing

The mouse commands for selecting and copying a region are mostly compatible with the xterm program. You can use the same mouse commands for copying between Emacs and other window-based programs. Most of these commands also work in Emacs when you run it under an xterm terminal.

If you select a region with any of these mouse commands, and then immediately afterward type the <DELETE> function key, it deletes the region that you selected. The <BACKSPACE> function key and the ASCII character <DEL> do not do this; if you type any other key in between the mouse command and <DELETE>, it does not do this.


Move point to where you click (mouse-set-point). This is normally the left button.

Normally, Emacs does not distinguish between ordinary mouse clicks and clicks that select a frame. When you click on a frame to select it, that also changes the selected window and cursor position according to the mouse click position. On the X window system, you can change this behavior by setting the variable x-mouse-click-focus-ignore-position to t. Then the first click selects the frame, but does not affect the selected window or cursor position. If you click again in the same place, since that click will be in the selected frame, it will change the window or cursor position.


Set the region to the text you select by dragging, and copy it to the kill ring (mouse-set-region). You can specify both ends of the region with this single command.

If you move the mouse off the top or bottom of the window while dragging, the window scrolls at a steady rate until you move the mouse back into the window. This way, you can select regions that don't fit entirely on the screen. The number of lines scrolled per step depends on how far away from the window edge the mouse has gone; the variable mouse-scroll-min-lines specifies a minimum step size.

If the variable mouse-drag-copy-region is nil, this mouse command does not copy the selected region into the kill ring.


Yank the last killed text, where you click (mouse-yank-at-click). This is normally the middle button.


This command, mouse-save-then-kill, has several functions depending on where you click and the status of the region.

The most basic case is when you click Mouse-1 in one place and then Mouse-3 in another. This selects the text between those two positions as the region. It also copies the new region to the kill ring, so that you can copy it to someplace else.

If you click Mouse-1 in the text, scroll with the scroll bar, and then click Mouse-3, it remembers where point was before scrolling (where you put it with Mouse-1), and uses that position as the other end of the region. This is so that you can select a region that doesn't fit entirely on the screen.

More generally, if you do not have a highlighted region, Mouse-3 selects the text between point and the click position as the region. It does this by setting the mark where point was, and moving point to where you click.

If you have a highlighted region, or if the region was set just before by dragging button 1, Mouse-3 adjusts the nearer end of the region by moving it to where you click. The adjusted region's text also replaces the old region's text in the kill ring.

If you originally specified the region using a double or triple Mouse-1, so that the region is defined to consist of entire words or lines, then adjusting the region with Mouse-3 also proceeds by entire words or lines.

If you use Mouse-3 a second time consecutively, at the same place, that kills the region already selected.

The simplest way to kill text with the mouse is to press Mouse-1 at one end, then press Mouse-3 twice at the other end. See section Killing and Moving Text. To copy the text into the kill ring without deleting it from the buffer, press Mouse-3 just once—or just drag across the text with Mouse-1. Then you can copy it elsewhere by yanking it.

To yank the killed or copied text somewhere else, move the mouse there and press Mouse-2. See section Yanking. However, if mouse-yank-at-point is non-nil, Mouse-2 yanks at point. Then it does not matter where you click, or even which of the frame's windows you click on. The default value is nil. This variable also affects yanking the secondary selection.

Many graphical applications follow the convention that insertion while text is selected deletes the selected text. You can make Emacs behave this way by enabling Delete Selection mode—with M-x delete-selection-mode or using Custom. Another effect of this mode is that <DEL>, C-d and some other keys, when a selection exists, will kill the whole selection. It also enables Transient Mark mode (see section Transient Mark Mode).

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]
© 2000-2021
Individual documents may contain additional copyright information.