···7373| Key | Action |
7474|-----|--------|
7575| `m` | mark / unmark email + advance cursor |
7676-| `U` | clear all marks |
7777-| `u` | undo last move or delete (reverses x, A, M* — not screener actions) |
7676+| `ctrl+u` | clear all marks |
7777+| `U` | undo last move or delete (reverses x, A, M* — not screener actions) |
7878| `X (Trash only)` | permanently delete marked or cursor email(s) — no undo |
79798080
+2-2
internal/ui/keys.go
···5757 }},
5858 {"Multi-select", [][2]string{
5959 {"m", "mark / unmark email + advance cursor"},
6060- {"U", "clear all marks"},
6161- {"u", "undo last move or delete (reverses x, A, M* — not screener actions)"},
6060+ {"ctrl+u", "clear all marks"},
6161+ {"U", "undo last move or delete (reverses x, A, M* — not screener actions)"},
6262 {"X (Trash only)", "permanently delete marked or cursor email(s) — no undo"},
6363 }},
6464 {"Leader Key Mappings (space prefix)", [][2]string{
+2-2
internal/ui/model.go
···14121412 m.loading = true
14131413 return m, tea.Batch(m.spinner.Tick, m.deleteAllExecCmd(m.cfg.Folders.Trash, uids))
1414141414151415- case "U": // clear all marks
14151415+ case "ctrl+u": // clear all marks
14161416 m.markedUIDs = make(map[uint32]bool)
14171417 return m, m.applyFilter()
1418141814191419- case "u": // undo last move/delete
14191419+ case "U": // undo last move/delete
14201420 if len(m.undoStack) == 0 {
14211421 m.status = "Nothing to undo."
14221422 return m, nil