# sheets

A terminal spreadsheet editor with vim keybindings. Opens CSV files in an interactive TUI, or queries/modifies cells directly from the command line without entering the UI.

**Usage:**

```sh
sheets budget.csv              # open in TUI
sheets budget.csv B9           # print cell B9
sheets budget.csv B1:B3        # print range
sheets budget.csv B7=10 B8=20  # modify cells inline
sheets <<< "ID,Name,Age\n1,Alice,24\n2,Bob,32"  # pipe in data
```

**Vim-style navigation:** `h/j/k/l` to move, `gg/G/5G` to jump, `0/^/$` for columns, `Ctrl+U/D` for page scrolling, `/` and `?` for search, marks with `m`, jump history with `Ctrl+O/I`.

**Editing:** `i` to insert, `c` to clear and edit, `dd` to delete row, `o/O` to insert rows, `y/p` for copy/paste, `u/Ctrl+R` for undo/redo, `.` to repeat.

**Visual mode:** `v/V` for range selection, `=` to insert formulas on a selection.

**Command mode:** `:w` save, `:w path.csv` save-as, `:e path.csv` open file, `:q` quit, `:B9` jump to cell.

**Install:** `go install github.com/maaslalani/sheets@main` or grab a binary from releases.

By Maas Lalani, who also built [gum](https://github.com/charmbracelet/gum) and other Charm tools.

**Repo:** https://github.com/maaslalani/sheets — 978 stars, MIT license.
