Spreadsheets in your terminal.
Launch the TUI
> sheets budget.csv
Read from stdin:
> sheets <<< ID,Name,Age
1,Alice,24
2,Bob,32
3,Charlie,26
Read a specific cell:
> sheets budget.csv B9
2760
Or, range:
> sheets budget.csv B1:B3
1200
950
810
Modify a cell:
> sheets budget.csv B7=10 B8=20
=|(B1:B8).Press : to open the command prompt, then use commands such as:
Keybindings can be customized via a Helix-style TOML config file at ~/.config/sheets/config.toml (or $XDG_CONFIG_HOME/sheets/config.toml).
[keys.normal]
"C-c" = "quit"
"C-s" = "command_prompt"
[keys.insert]
"C-c" = "commit_down"
[keys.select]
"d" = "cut_selection"
Each section maps a key to an action name. Only specify the bindings you want to override — unset keys keep their defaults. Set a key to "nop" to disable it.
| Action | Description |
|---|---|
move_left | Move one cell left |
move_right | Move one cell right |
move_up | Move one cell up |
move_down | Move one cell down |
move_to_first_col | Jump to first column |
move_to_first_nonempty_col | Jump to first non-empty column |
move_to_last_nonempty_col | Jump to last non-empty column |
move_to_window_top | Jump to top visible row |
move_to_window_middle | Jump to middle visible row |
move_to_window_bottom | Jump to bottom visible row |
scroll_half_up | Scroll half page up |
scroll_half_down | Scroll half page down |
goto_pending | Start goto cell input |
goto_bottom | Jump to last row |
jump_forward | Jump list forward |
jump_backward | Jump list backward |
| Action | Description |
|---|---|
enter_insert | Edit current cell |
enter_insert_start | Edit from start of cell |
change_cell | Clear cell and edit |
delete_pending | Start delete row |
open_col_after | Insert column after and edit |
open_col_before | Insert column before and edit |
open_row_below | Insert row below and edit |
open_row_above | Insert row above and edit |
yank | Copy cell |
cut | Cut cell |
paste | Paste |
undo | Undo |
redo | Redo |
repeat_change | Repeat last change |
toggle_bold | Toggle bold formatting |
| Action | Description |
|---|---|
quit | Quit |
command_prompt | Open command prompt |
search_forward | Search forward |
search_backward | Search backward |
search_next | Next search match |
search_prev | Previous search match |
enter_select | Enter visual select |
enter_row_select | Enter row select |
register_pending | Select register |
mark_set | Set mark |
mark_jump | Jump to mark |
mark_jump_exact | Jump to mark (exact) |
align_pending | Start alignment command |
| Action | Description |
|---|---|
copy_selection | Copy selection |
copy_selection_ref | Copy selection as reference |
cut_selection | Cut selection |
delete_selection | Clear selection without affecting clipboard |
formula_from_selection | Insert formula from selection |
toggle_row_select | Toggle row selection |
toggle_selection_bold | Toggle bold on selection |
| Action | Description |
|---|---|
commit_down | Commit and move down |
commit_right | Commit and move right |
commit_left | Commit and move left |
commit_up | Commit and move up |
cursor_left | Move cursor left |
cursor_right | Move cursor right |
cursor_home | Move cursor to start |
cursor_end | Move cursor to end |
delete_at_cursor | Delete at cursor |
delete_before_cursor | Delete before cursor |
delete_to_start | Delete to start |
delete_to_end | Delete to end |
delete_word_before | Delete word before cursor |
insert_space | Insert space |
Key notation: C-x for Ctrl+x, S-tab for Shift+Tab, ret for Enter, space, backspace, del, esc, up/down/left/right, home/end, tab. Literal characters like h, j, :, / are written as-is.
Install with Homebrew on macOS or Linux:
brew install sheets
Or install with Go:
go install github.com/maaslalani/sheets@main
Or download a binary from the releases.
I'd love to hear your feedback on improving sheets.
Feel free to reach out via:
zzz
(top 24 of 69)
3,417 followers · starred Apr 2026
613 followers · starred Apr 2026
186 followers · starred Apr 2026
788 followers · starred Apr 2026
Spreadsheets in your terminal.
Launch the TUI
> sheets budget.csv
Read from stdin:
> sheets <<< ID,Name,Age
1,Alice,24
2,Bob,32
3,Charlie,26
Read a specific cell:
> sheets budget.csv B9
2760
Or, range:
> sheets budget.csv B1:B3
1200
950
810
Modify a cell:
> sheets budget.csv B7=10 B8=20
=|(B1:B8).Press : to open the command prompt, then use commands such as:
Keybindings can be customized via a Helix-style TOML config file at ~/.config/sheets/config.toml (or $XDG_CONFIG_HOME/sheets/config.toml).
[keys.normal]
"C-c" = "quit"
"C-s" = "command_prompt"
[keys.insert]
"C-c" = "commit_down"
[keys.select]
"d" = "cut_selection"
Each section maps a key to an action name. Only specify the bindings you want to override — unset keys keep their defaults. Set a key to "nop" to disable it.
| Action | Description |
|---|---|
move_left | Move one cell left |
move_right | Move one cell right |
move_up | Move one cell up |
move_down | Move one cell down |
move_to_first_col | Jump to first column |
move_to_first_nonempty_col | Jump to first non-empty column |
move_to_last_nonempty_col | Jump to last non-empty column |
move_to_window_top | Jump to top visible row |
move_to_window_middle | Jump to middle visible row |
move_to_window_bottom | Jump to bottom visible row |
scroll_half_up | Scroll half page up |
scroll_half_down | Scroll half page down |
goto_pending | Start goto cell input |
goto_bottom | Jump to last row |
jump_forward | Jump list forward |
jump_backward | Jump list backward |
| Action | Description |
|---|---|
enter_insert | Edit current cell |
enter_insert_start | Edit from start of cell |
change_cell | Clear cell and edit |
delete_pending | Start delete row |
open_col_after | Insert column after and edit |
open_col_before | Insert column before and edit |
open_row_below | Insert row below and edit |
open_row_above | Insert row above and edit |
yank | Copy cell |
cut | Cut cell |
paste | Paste |
undo | Undo |
redo | Redo |
repeat_change | Repeat last change |
toggle_bold | Toggle bold formatting |
| Action | Description |
|---|---|
quit | Quit |
command_prompt | Open command prompt |
search_forward | Search forward |
search_backward | Search backward |
search_next | Next search match |
search_prev | Previous search match |
enter_select | Enter visual select |
enter_row_select | Enter row select |
register_pending | Select register |
mark_set | Set mark |
mark_jump | Jump to mark |
mark_jump_exact | Jump to mark (exact) |
align_pending | Start alignment command |
| Action | Description |
|---|---|
copy_selection | Copy selection |
copy_selection_ref | Copy selection as reference |
cut_selection | Cut selection |
delete_selection | Clear selection without affecting clipboard |
formula_from_selection | Insert formula from selection |
toggle_row_select | Toggle row selection |
toggle_selection_bold | Toggle bold on selection |
| Action | Description |
|---|---|
commit_down | Commit and move down |
commit_right | Commit and move right |
commit_left | Commit and move left |
commit_up | Commit and move up |
cursor_left | Move cursor left |
cursor_right | Move cursor right |
cursor_home | Move cursor to start |
cursor_end | Move cursor to end |
delete_at_cursor | Delete at cursor |
delete_before_cursor | Delete before cursor |
delete_to_start | Delete to start |
delete_to_end | Delete to end |
delete_word_before | Delete word before cursor |
insert_space | Insert space |
Key notation: C-x for Ctrl+x, S-tab for Shift+Tab, ret for Enter, space, backspace, del, esc, up/down/left/right, home/end, tab. Literal characters like h, j, :, / are written as-is.
Install with Homebrew on macOS or Linux:
brew install sheets
Or install with Go:
go install github.com/maaslalani/sheets@main
Or download a binary from the releases.
I'd love to hear your feedback on improving sheets.
Feel free to reach out via:
zzz
(top 24 of 69)
3,417 followers · starred Apr 2026
613 followers · starred Apr 2026
186 followers · starred Apr 2026
788 followers · starred Apr 2026