# Mouse and trackpad in Skink: click, select, scroll

> Skink supports the mouse: click to place the cursor, drag to select, Alt+click for more cursors, Shift+wheel or trackpad to scroll sideways, drag to resize.

Source: https://skink.cc/editing/mouse-and-trackpad/

The mouse works in Skink without any setup. Click to place the cursor, drag to select, scroll with the wheel. Alt+click adds another cursor, and Shift+wheel or a sideways trackpad swipe scrolls long lines.

## Click, drag and scroll in the editor

| Do this | Gets you |
|---|---|
| Click | Move the cursor there |
| Drag | Select |
| Alt+click | Add a cursor there, or remove one that is there |
| Wheel | Scroll three lines at a time |
| Shift+wheel | Scroll sideways |
| Trackpad swipe left / right | Scroll sideways |

### Scrolling sideways

Sideways scrolling moves the text but keeps the line numbers in place. The view stays scrolled until the cursor moves.

When lines are wider than the view, a thin thumb on the bottom row shows where you are. Keyboard users can bind `ScrollLeft` and `ScrollRight`.

## Clickable parts of the window

| Click | Does |
|---|---|
| A tab | Switch to it |
| A tab's `x`, or middle-click a tab | Close it (asks first if it has unsaved changes) |
| A fold mark in the gutter | Open the fold |
| A git change mark in the gutter | Peek at the change: s stage, u unstage, r revert, Esc |
| A sticky header at the top | Jump to that block's first line |
| "Accept ours \| theirs \| both" on a merge conflict | Resolve that conflict block |
| A pane | Focus it |
| The file tree | Focus the tree (clicking the editor or a tab hands the keys back) |

## Resize panes and the file tree

- **Split panes**: drag the divider between two panes, or drag a pane's title row.
- **File tree**: drag its right border.

The keyboard equivalents are Alt+= / Alt+- for panes (or `:growsplit` / `:shrinksplit`) and &lt; / &gt; in the tree. See [Splits and docks](https://skink.cc/editing/splits-and-docks/).

## The mouse in terminal tabs

- Programs that use the mouse, such as `htop`, `lazygit` or an AI CLI, get your clicks and the wheel.
- Otherwise the wheel scrolls the terminal's scrollback.
- Ctrl+click on a `file:line[:col]` in the output opens that file at that line.

See [Terminal tabs](https://skink.cc/tools/terminal-tabs/).

## Select text the terminal way

Skink captures the mouse, so a plain drag selects inside Skink rather than in your terminal.

Most terminals let you hold Shift while dragging to bypass that and use the terminal's own selection. On macOS it is often Option or Fn, depending on the terminal.

Inside Skink, prefer Ctrl+C: it also reaches your clipboard over SSH.

**Note:**
There is no double-click to select a word yet. Use Ctrl+D to select the word at the cursor, and Alt+O (or `:expand`) to grow the selection to the enclosing syntax node.

## Mouse not working?

- Over `tmux`, mouse events reach Skink only if tmux passes them on. Check your tmux `mouse` setting.
- Some very old terminals do not report the mouse at all. Ghostty, Kitty, WezTerm, iTerm2, Windows Terminal, GNOME Terminal and Alacritty all do.
