Home Explore Blog CI



neovim

3rd chunk of `runtime/doc/gui.txt`
3242800d4d27d675880607215f5810326025932badfb48fb0000000100000fa0
 (2)
  <LeftDrag>      yes     start or extend (1)   no
  <LeftRelease>   yes     start or extend (1)   no
  <MiddleMouse>   yes       if not active       no     put
  <MiddleMouse>   yes       if active           no     yank and put
  <RightMouse>    yes     start or extend       yes
  <A-RightMouse>  yes start or extend blockw.   yes
  <S-RightMouse>  yes        no change          yes    "#" (2)
  <C-RightMouse>  no         no change          no     "CTRL-T"
  <RightDrag>     yes         extend            no
  <RightRelease>  yes         extend            no

Insert or Replace Mode: >
  event         position     selection        change  action
                 cursor                       window
  ---------------------------------------------------------------------------
  <LeftMouse>     yes     (cannot be active)    yes
  <C-LeftMouse>   yes     (cannot be active)    yes    "CTRL-O^]" (2)
  <S-LeftMouse>   yes     (cannot be active)    yes    "CTRL-O*" (2)
  <LeftDrag>      yes     start or extend (1)   no     like CTRL-O (1)
  <LeftRelease>   yes     start or extend (1)   no     like CTRL-O (1)
  <MiddleMouse>   no      (cannot be active)    no     put register
  <RightMouse>    yes     start or extend       yes    like CTRL-O
  <A-RightMouse>  yes start or extend blockw.   yes
  <S-RightMouse>  yes     (cannot be active)    yes    "CTRL-O#" (2)
  <C-RightMouse>  no      (cannot be active)    no     "CTRL-O CTRL-T"

In a help window: >
  event         position     selection        change  action
                 cursor                       window
  ---------------------------------------------------------------------------
  <2-LeftMouse>   yes     (cannot be active)    no     "^]" (jump to help tag)

When 'mousemodel' is "popup", these are different:

                                                               *<A-LeftMouse>*
Normal Mode: >
  event         position     selection        change  action
                 cursor                       window
  ---------------------------------------------------------------------------
  <S-LeftMouse>   yes     start or extend (1)   no
  <A-LeftMouse>   yes     start/extend blockw   no
  <RightMouse>    no      popup menu            no

Insert or Replace Mode: >
  event         position     selection        change  action
                 cursor                       window
  ---------------------------------------------------------------------------
  <S-LeftMouse>   yes     start or extend (1)   no     like CTRL-O (1)
  <A-LeftMouse>   yes     start/extend blockw   no
  <RightMouse>    no      popup menu            no

(1) only if mouse pointer moved since press
(2) only if click is in same buffer

Clicking the left mouse button causes the cursor to be positioned.  If the
click is in another window that window is made the active window.  When
editing the command-line the cursor can only be positioned on the
command-line.  When in Insert mode Vim remains in Insert mode.  If 'scrolloff'
is set, and the cursor is positioned within 'scrolloff' lines from the window
border, the text is scrolled.

A selection can be started by pressing the left mouse button on the first
character, moving the mouse to the last character, then releasing the mouse
button.  You will not always see the selection until you release the button,
only in some versions (GUI, Win32) will the dragging be shown immediately.
Note that you can make the text scroll by moving the mouse at least one
character in the first/last line in the window when 'scrolloff' is non-zero.

In Normal, Visual and Select mode clicking the right mouse button causes the
Visual area to be extended.  When 'mousemodel' is "popup", the left button has
to be used while keeping the shift key pressed.  When clicking in a window
which is editing another buffer, the Visual or Select mode is stopped.

In Normal, Visual and Select mode clicking the right mouse button with the alt
key pressed causes the Visual area to become blockwise.  When

Title: Mouse Actions in Different Modes (Continued)
Summary
This section continues detailing mouse button actions in different Vim modes (Normal, Insert, Replace) when 'mousemodel' is set to "extend" or "popup". It specifies the behavior of left, middle, and right mouse buttons along with modifier keys (Ctrl, Shift, Alt) during clicks, drags, and releases, as well as in help windows. It also describes how clicking the left mouse button positions the cursor and activates windows, and how the right mouse button (or Shift+Left Mouse when 'mousemodel' is "popup") extends the Visual area.