The one long table becomes sections (moving, entering, selecting, changing, formatting, sheets, data tools, files and menus, macros), and lists keys it lacked: Ctrl+F, Ctrl+H, PgUp and PgDn, Alt+PgUp and Alt+PgDn, Home, End, Ctrl+Home, Ctrl+End, Esc, Alt+D. The pivot and chart editors' keys live in data.md and charts.md, linked. The mouse and the screen are tables; vim keys say they're kept as keymap = vim, and VISUAL gets a table with its : key.
- commit
- 09b05a9dff29998c64c224070b0d8f39efadd428
- parent
- b94d6e306aa35a5d4604f613d1e8b5ed5239f82f
- author
- Dami <dami.etoile@gmail.com>
| M | docs/ | 5 | +- |
| M | docs/ | 241 | +++++++++++++++++++----------- |
@@ -73,8 +73,9 @@ then text ignoring case, then booleans, then errors, with blanks last.
7373 7474 Data > Create a filter puts a filter on the selection or the table around7575 the active cell; headers show `▾`. Alt+Down or a click on `▾` opens the76-column's filter: check values in a searchable list, or pick a condition such77-as "greater than" or "text contains". Filtered-out rows are hidden, not76+column's filter: check values in a list (Space checks one, typing77+narrows the list), or pick a condition such as "greater than" or "text78+contains". Filtered-out rows are hidden, not7879 deleted: row numbers show the gap, navigation skips them, formulas still7980 count them, and the status line says how many rows are hidden.8081 @@ -1,75 +1,133 @@
11 # Keys and mouse22 33 Inside the grid, 012 behaves like Google Sheets: if you know a Sheets4-shortcut, try it. Everything is also reachable from the menus (F10 or5-Alt+letter) and the command palette (Ctrl+K), which shows each command's6-shortcut. F1 or Ctrl+/ lists every binding, generated from the same table7-the app uses, so it never drifts from what the keys do.4+shortcut, try it. Every command is also in the menus (F10 or Alt+letter)5+and the command palette (Ctrl+K), which show each command's key. F1 or6+Ctrl+/ lists every binding, generated from the table the app uses, so it7+never drifts from what the keys do. This page is the same list with the8+mouse and the vim keymap added.9+10+## Moving around11+12+| Key | Action |13+|---|---|14+| Arrows | Move one cell |15+| Ctrl+arrows, End | Jump to the edge of the data (End: rightwards) |16+| Tab, Shift+Tab | Right, left |17+| PgUp, PgDn | A screen up, down |18+| Alt+PgUp, Alt+PgDn | A screen left, right |19+| Home, Ctrl+Home, Ctrl+End | Column A, cell A1, the last used cell |20+| Ctrl+G, F5 | Go to a cell, a range or a named range, on any sheet (`Sheet2!B3`) |21+22+## Entering data23+24+| Key | Action |25+|---|---|26+| Type | Replace the cell: `=` starts a formula, `'` forces text, and `$1,200`, `12%`, `9/26/2026` or `14:30` are numbers that keep their format ([formulas.md](formulas.md#what-you-type)) |27+| Enter, Tab | Accept and move down or right; Enter goes back to the column a run of Tabs began in |28+| Enter, F2, double-click | Edit the cell |29+| Esc | Cancel the entry |30+| Ctrl+Enter | Enter the same entry in every selected cell |31+| Arrows, Shift+arrows | While typing a formula, after an operator: point at a cell, or a range |32+| F4 | While typing a formula: cycle the reference at the caret through `A1`, `$A$1`, `A$1`, `$A1` |33+| Up, Down; Tab, Enter | While suggestions for a function, range or sheet name show: pick one; insert it (a sheet as `Summary!`, then arrows point into it). Esc hides them |34+35+## Selecting36+37+| Key | Action |38+|---|---|39+| Shift+arrows, Ctrl+Shift+arrows | Extend the selection, a cell at a time or to the edge of the data; the status line shows Sum, Avg and Count |40+| Ctrl+Space, Shift+Space | Whole columns, whole rows |41+| Ctrl+A | The data around the active cell, then everything |42+| Esc | Deselect |43+44+## Changing the sheet845 946 | Key | Action |1047 |---|---|11-| Type | Replace the cell. `=` starts a formula, `'` forces text; `$1,200`, `12%`, `9/26/2026` and `14:30` are numbers that keep their format |12-| Enter / Tab | Accept and move down / right (Enter returns to where a run of Tabs began) |13-| Enter or F2, double-click | Edit the cell |14-| Arrows while typing a formula | After an operator, pick a cell; Shift+arrows pick a range |15-| Shift+arrows, drag, Shift+click | Select; the status line shows Sum, Avg and Count |16-| Ctrl+arrows | Jump to the edge of the data (add Shift to select) |17-| Click a header, Ctrl+Space, Shift+Space | Select whole columns or rows |18-| Ctrl+A | Select the data, then everything |19-| Del / Backspace | Clear the selection (formatting stays) |20-| Ctrl+Z, Ctrl+Y or Ctrl+Shift+Z | Undo, redo |48+| Del, Backspace | Clear the selection; formatting stays |49+| Ctrl+Z; Ctrl+Y, Ctrl+Shift+Z | Undo; redo |2150 | Ctrl+C, Ctrl+X, Ctrl+V | Copy, cut, paste; references adjust as in Sheets, and copies also go to the system clipboard |2251 | Ctrl+Shift+V | Paste values only |23-| Paste from the terminal | Tab-separated or multi-line text fills a block of cells |24-| Ctrl+D, Ctrl+R | Fill down, fill right; top rows that start a series (1, 2 over blanks) continue it |25-| Drag the fill handle | The ▟ at the selection's corner, shown on hover: continue a series (1, 2, 3; Jan, Feb; Mon, Tue; dates; Item 1, Item 2) or copy |26-| View > Freeze | Keep rows or columns on screen while the rest scrolls |27-| Data > Sort sheet, Sort range | Sort by the active column A to Z or Z to A, or pick columns and order on a bar (Left/Right column, Space order, Alt+A add, Alt+H header row) |28-| Alt+Down, click ▾ in a header | With a filter (Data > Create a filter): pick the column's values (Space checks, type to search) or a condition |29-| Data > Pivot table | Summarize the table on a new sheet; in the pivot editor Up/Down pick a line, Space adds a field (or opens a filter, flips a total, changes the data range), Left/Right change a field's order or summary, S its "show as", R or F2 renames a value, Shift+Up/Down move it, Del removes it, Enter keeps, Esc undoes. Data > Edit pivot table reopens it |30-| Alt+Shift+F | Frequency table of the active column on a new sheet (Data > Frequency table), as VisiData's Shift+F |31-| Ctrl+Alt+= / Ctrl+Alt+- | Insert rows above / delete the selected rows (columns when whole columns are selected) |32-| Ctrl+Enter while typing | Enter the same entry in every selected cell |33-| F4 while typing a formula | Cycle the reference at the caret through A1, $A$1, A$1, $A1 |34-| Typing a function, range or sheet name | Suggestions drop down: Up/Down pick, Tab or Enter insert (a sheet as `Summary!`, then arrows point into it), Esc hides them; inside a function's parentheses the context line shows its arguments with the current one marked |35-| Alt+, / Alt+. | Trace precedents / dependents: highlight the cells a formula reads, or the formulas that read the cell, and jump to the first; press again for the next, Esc to go back (Excel's Ctrl+[ and Ctrl+], which terminals send as Esc) |36-| Data > Named ranges | Name ranges for formulas (`=SUM(Sales)`): Enter goes to one, F2 renames or repoints it, Ctrl+D deletes it; Data > Define named range names the selection |37-| Shift+F2, Insert > Note | Add or edit the active cell's note on the context line (Alt+Enter or Shift+Enter starts a new line); see [data.md](data.md#notes) |38-| Data > Protect sheets and ranges | Protect a range or the sheet so edits to it ask first; Enter goes to a protection, Ctrl+D removes it; see [data.md](data.md#protected-sheets-and-ranges) |39-| Ctrl+Shift+1 ... 6 | Number, time, date, currency, percent, scientific format |52+| Paste in the terminal | Tab-separated or multi-line text fills a block of cells |53+| Ctrl+D, Ctrl+R | Fill down, fill right; a series started in the top rows (1, 2 over blanks) continues |54+| Ctrl+Alt+=, Ctrl+Alt+- | Insert rows above, delete the selected rows (columns when whole columns are selected) |55+56+[data.md](data.md#copy-paste-and-fill) says how formats travel with57+copies and which series the fill handle continues.58+59+## Formatting60+61+| Key | Action |62+|---|---|63+| Ctrl+Shift+1 | Number |64+| Ctrl+Shift+2 | Time |65+| Ctrl+Shift+3 | Date |66+| Ctrl+Shift+4 | Currency |67+| Ctrl+Shift+5 | Percent |68+| Ctrl+Shift+6 | Scientific |4069 | Ctrl+B, Ctrl+I, Ctrl+U, Alt+Shift+5 | Bold, italic, underline, strikethrough |41-| Ctrl+Shift+L / E / R | Align left, center, right |70+| Ctrl+Shift+L, Ctrl+Shift+E, Ctrl+Shift+R | Align left, center, right |4271 | Ctrl+\ | Clear formatting |43-| Ctrl+S, Ctrl+O, Ctrl+Q | Save, open (imports other formats), quit |44-| Ctrl+G or F5 | Go to a cell, a range or a named range, on any sheet (`Sheet2!B3`) |45-| Ctrl+PgDn / Ctrl+PgUp, Alt+Right / Alt+Left | Next / previous sheet; while typing a formula, point into it to insert `Sheet2!A1` |46-| Shift+F11 | New sheet (also Insert > Sheet) |72+73+The rest of the formats are in the Format menu.74+75+## Sheets76+77+| Key | Action |78+|---|---|79+| Ctrl+PgDn, Ctrl+PgUp, Alt+Right, Alt+Left | Next, previous sheet; while typing a formula, point into it to insert `Sheet2!A1` |80+| Shift+F11 | New sheet |4781 | Alt+Shift+K | Go to a sheet by name |48-| Right-click a tab > Hide sheet, View > Hidden sheets | Hide a sheet (formulas still read it; next, previous and the tabs skip it), and list the hidden ones to show one again |49-| Alt+F, Alt+E, Alt+V, Alt+I, Alt+O, Alt+H, F10, click a title | Open a menu (arrows move, Enter runs, Esc closes) |82+83+## Data tools84+85+| Key | Action | More |86+|---|---|---|87+| Ctrl+F, Ctrl+H | Find; find and replace | [data.md](data.md#find-and-replace) |88+| Alt+Down | With a filter on (Data > Create a filter), open the column's filter: Space checks values, type to search, or pick a condition | [data.md](data.md#filter) |89+| Alt+, Alt+. | Trace precedents, dependents: highlight the cells a formula reads, or the formulas that read the cell, and jump to the first; again for the next, Esc to go back (Excel's Ctrl+[ and Ctrl+], which terminals send as Esc) | [formulas.md](formulas.md#building-formulas) |90+| Alt+Shift+F | Frequency table of the active column on a new sheet, as VisiData's Shift+F | [data.md](data.md#frequency-tables) |91+| Shift+F2 | Add or edit the active cell's note; Alt+Enter or Shift+Enter starts a new line | [data.md](data.md#notes) |92+93+Tools with no key of their own have their keys on screen while they're94+open, and in their docs: sorting by several columns and pivot tables95+([data.md](data.md#sort), [pivot tables](data.md#pivot-tables)),96+protected ranges ([data.md](data.md#protected-sheets-and-ranges)), and97+charts ([charts.md](charts.md)). In Data > Named ranges, Enter goes to a98+range, F2 renames or repoints it and Ctrl+D deletes it.99+100+## Files, menus and help101+102+| Key | Action |103+|---|---|104+| Ctrl+S, Ctrl+O, Ctrl+Q | Save, open (and import other formats), quit |105+| F10, Alt+F, Alt+E, Alt+V, Alt+I, Alt+O, Alt+D, Alt+H | Open a menu; arrows move, Enter runs, Esc closes |50106 | Ctrl+K, Alt+/, Ctrl+Shift+P | Search the menus: find and run any command |51-| Right-click, Shift+F10 | Cell, column or row menu |52-| F1 or Ctrl+/ | Keyboard shortcuts |53-| Insert > Chart | Chart the selection (or the table around the active cell); the editor bar picks the type with Left/Right or 1 to 6, S switches rows and columns, H and L toggle the header row and labels, K stacks columns, bars and areas, E adds a scatter's trend line, R changes the range, T the title, and A opens the axis and legend bar (N minimum, X maximum, L log scale, G gridlines, P legend position) |54-| Click a chart, then Arrows / Shift+arrows / Del | Move, resize or delete it; drag the chart or its corner with the mouse; Enter edits it |55-| Cmd- or Ctrl-click a URL | Open it: cells holding a URL, and `=HYPERLINK(url, [label])`, are terminal hyperlinks |56-| Data > Macros | Record what you do as a macro (absolute or relative references), stop and save it with a name and shortcut, run or manage saved macros; see [macros.md](macros.md) |57-| Ctrl+Alt+Shift+0 ... 9 | Run the macro with that shortcut; Esc stops a macro while it runs (the indicator says CMD) |107+| Shift+F10, right-click | The cell, column or row menu |108+| F1, Ctrl+/ | Keyboard shortcuts |109+110+## Macros111+112+| Key | Action |113+|---|---|114+| Ctrl+Alt+Shift+0 to 9 | Run the macro with that shortcut ([macros.md](macros.md#running)) |115+| Esc | Stop a macro while it runs (the mode indicator says CMD) |58116 59117 ## Vim keys60118 61119 File > Settings > Vim keys (also `:settings.vim` or the palette) turns62120 on a vim keymap in the spirit of sc-im and VisiData. It is off by63-default and belongs to you, not the sheet: it isn't saved in `.012`64-files, and File > New and Open keep it. The mode indicator says65-**NORMAL** where it would say READY, **VISUAL** while selecting with66-`v` or `V`, and **COMMAND** on the `:` line; typing into a cell is67-ENTER or EDIT, as always, and Enter, Tab or Esc there return to NORMAL.68-Keys vim doesn't take keep their Sheets meaning (arrows, Del, Ctrl+S,69-Ctrl+C/V, Alt+letter menus, F-keys); Ctrl+D, Ctrl+U and Ctrl+R are70-vim's, so fill down and fill right are in the Edit menu. F1 lists the71-vim keys first, and the menus and palette show them where Sheets' keys72-are taken.121+default and belongs to you, not the sheet: it's kept in the config file122+as `keymap = vim` ([config.md](config.md#keymap)), never in `.012` files.123+The mode indicator says **NORMAL** where it would say READY, **VISUAL**124+while selecting with `v` or `V`, and **COMMAND** on the `:` line; typing125+into a cell is ENTER or EDIT, as always, and Enter, Tab or Esc there126+return to NORMAL. Keys vim doesn't take keep their Sheets meaning127+(arrows, Del, Ctrl+S, Ctrl+C and Ctrl+V, Alt+letter menus, F-keys);128+Ctrl+D, Ctrl+U and Ctrl+R are vim's, so fill down and fill right are in129+the Edit menu. F1 lists the vim keys first, and the menus and palette130+show them where Sheets' keys are taken.73131 74132 | Keys (NORMAL) | Action |75133 |---|---|@@ -84,7 +142,7 @@ are taken.
84142 | `=` | Start a formula |85143 | `o` `O` | Insert a row below or above and start typing in it |86144 | `x` | Clear the cell (with a count, that many to the right) |87-| `dd` `yy` | Cut or copy the row (with a count, that many rows); `p` pastes them back |145+| `dd` `yy` | Cut or copy the row (with a count, that many rows) |88146 | `p` `P` | Paste rows cut or copied with `dd` or `yy` as new rows below or above, with their row formats; other copied cells paste at the active cell |89147 | `u`, Ctrl+R | Undo, redo |90148 | `v` `V` | Select cells or whole rows (VISUAL); motions stretch the selection |@@ -93,10 +151,14 @@ are taken.
93151 | `:` | The command line |94152 | Esc | Cancel a count or sequence, leave VISUAL, deselect |95153 96-In VISUAL mode `d` or `x` deletes the selection (whole rows with `V`,97-the cells' contents with `v`) and keeps a copy to paste, `y` copies it,98-`p` pastes over it, `o` goes to the other corner, and `v`, `V` or Esc go99-back to NORMAL.154+| Keys (VISUAL) | Action |155+|---|---|156+| `d` `x` | Delete the selection (whole rows with `V`, the cells' contents with `v`), keeping a copy to paste |157+| `y` | Copy the selection |158+| `p` | Paste over the selection |159+| `o` | Go to the other corner |160+| `:` | The command line, acting on the selection |161+| `v` `V`, Esc | Back to NORMAL |100162 101163 The `:` line takes:102164 @@ -104,11 +166,11 @@ The `:` line takes:
104166 |---|---|105167 | `:B12`, `:Sheet2!A1`, `:C3:D9`, `:Sales` | Go to a cell, range or named range |106168 | `:40` | Go to row 40 |107-| `:w`, `:w name`, `:w out.csv` | Save, Save as, or Download as another format, just as the File menu does |169+| `:w`, `:w name`, `:w out.csv` | Save, Save as, or Download as another format, as the File menu does |108170 | `:q`, `:q!` | Quit (asking about unsaved changes), quit discarding them |109171 | `:wq`, `:x` | Save and quit; `:x` saves only if something changed |110172 | `:e name`, `:e!` | Open a sheet or import a file; refused with unsaved changes unless `:e!` |111-| `:edit.fill_down`, `:fill down` | Any command, by its ID or title |173+| `:edit.fill_down`, `:fill down` | Any command, by its id or title |112174 113175 Completions for commands appear under the line as you type, drawn from114176 the same registry as the menus and palette: Tab puts the highlighted@@ -118,31 +180,36 @@ line isn't a command itself (`:fill d` Enter fills down).
118180 119181 ## Mouse120182 121-Click a cell to select it, drag to select a range, Shift+click to extend,122-and click a column or row header (or the corner) to select whole columns,123-rows or everything. Double-click edits. Drag a column header's right edge124-to resize it; double-click the edge to fit the contents. Dragging past the125-edge of the grid scrolls. Right-click opens the cell, column or row menu.126-The mouse pointer changes shape over cells, resize handles and the formula127-bar in terminals that support it (OSC 22).128-129-The sheet tabs at the left of the status line take the mouse too: click a130-tab to show its sheet, double-click to rename it, right-click for its menu131-(rename, duplicate, delete, hide, move left or right), drag it onto another tab to132-move it there, and click `+` to add a sheet. When the tabs don't all fit,133-`‹` and `›` step through them. While typing a formula, clicking a tab points134-into that sheet, as in Sheets.135-136-In Ghostty and xterm, Shift+click normally starts the terminal's own text137-selection; 012 asks the terminal to pass it through (XTSHIFTESCAPE) and138-restores that on exit.183+| Gesture | Action |184+|---|---|185+| Click, drag, Shift+click | Select a cell, a range, or extend the selection; dragging past the edge scrolls |186+| Click a column or row header, or the corner | Select whole columns, rows, or everything |187+| Double-click | Edit the cell |188+| Drag the fill handle (▟ at the selection's corner, shown on hover) | Continue a series (1, 2, 3; Jan, Feb; Mon, Tue; dates; Item 1, Item 2) or copy |189+| Drag a column header's right edge; double-click it | Resize the column; fit it to its contents |190+| Right-click | The cell, column or row menu |191+| Click `▾` in a header | Open the column's filter |192+| Click a chart; drag it or its corner | Select it; move or resize it (then arrows move it, Shift+arrows resize, Enter edits, Del deletes) |193+| Cmd- or Ctrl-click a link | Open a URL in a cell or a `=HYPERLINK(url, [label])` |194+| Hover a cell with a note | Show the note beside it |195+196+The sheet tabs at the left of the status line take the mouse too: click197+a tab to show its sheet, double-click to rename it, right-click for its198+menu (rename, duplicate, delete, hide, move left or right), drag it onto199+another tab to move it there, and click `+` to add a sheet. When the200+tabs don't all fit, `‹` and `›` step through them. While typing a201+formula, clicking a cell or a tab points at it, as in Sheets.202+203+The pointer changes shape over cells, resize handles and the formula bar204+in terminals that support it (OSC 22). In Ghostty and xterm, Shift+click205+normally starts the terminal's own text selection; 012 asks the terminal206+to pass it through (XTSHIFTESCAPE) and restores that on exit.139207 140208 ## The screen141209 142-The top three lines are the **menu bar** with the mode indicator on the143-right (and `REC` beside it while a macro is recorded), the **formula bar** (name box, then the cell's contents or the entry144-being typed) and the **context line**, which holds prompts, key hints,145-formula errors and explanations. The bottom line is the **status line**:146-the sheet tabs (as tmux lists its windows, the sheet shown highlighted),147-the file name, whether it's modified, and Sum, Avg and Count for a148-selection.210+| Line | Shows |211+|---|---|212+| Menu bar (top) | The menus, and the mode indicator on the right (`REC` beside it while a macro records) |213+| Formula bar | The name box, then the cell's contents or the entry being typed |214+| Context line | Prompts, key hints, formula errors and explanations, and bars such as find and the chart editor |215+| Status line (bottom) | The sheet tabs (the one shown highlighted), the file name, whether it's modified, and Sum, Avg and Count for a selection |