TUI Table Navigation

June 24, 2026 · View on GitHub

When viewing query results in the TUI, you have full Vim-style navigation and editing capabilities.

Basic Navigation

KeyAction
h, Move left
j, Move down
k, Move up
l, Move right
gJump to first row
GJump to last row
0, _, HomeJump to first column
$, EndJump to last column
Ctrl+u, PgUpPage up
Ctrl+d, PgDownPage down

Data Operations

KeyAction
vEnter visual selection mode
yCopy selected cell(s) to clipboard
xExport selected cell(s) as csv, tsv, json, sql insert statement, markdown or html to clipboard
EnterShow cell value in detail view (with JSON formatting)
uUpdate current cell
DDelete current row
eEdit and re-run query
sSave current query
HShow keyboard shortcuts overlay
?Toggle keybindings help in footer
q, Ctrl+c, EscQuit table view
KeyAction
/Search cell content
nJump to next cell match
NJump to previous cell match
fSearch column names
;Jump to next column match
,Jump to previous column match

Detail View Mode

Press Enter on any cell to open a detailed view that shows the full cell content. If the content is valid JSON, it will be automatically formatted with proper indentation.

In Detail View:

KeyAction
, , j, kScroll through content
uUpdate cell content (opens editor with formatted JSON)
oOpen value in $EDITOR (read-only)
yCopy value to clipboard
q, Esc, EnterClose detail view

Help Overlay

Press H to open a categorized keyboard shortcuts reference. The overlay is context-aware — it adjusts the "Actions" section based on the current view (tables list, query without primary key, etc.). Press H, q, or Esc to close.

Configurable Keybindings

All keybindings can be customized in ~/.config/squix/config.yaml under the keybindings key. Each action accepts a single key or a list of keys.

keybindings:
  quit: ["q", "ctrl+c"]
  move_up: k
  move_down: j
  search: "/"
  help: H

Keybindings are resolved per mode — different views can bind the same key to different actions:

ModeContext
normalMain table view
detailCell detail view (opened with Enter)
helpHelp overlay

Unknown action names print a warning at startup. Conflicting keys within the same mode also print a warning.

Action Reference

ActionDefaultDescription
move_upk, upMove selection up
move_downj, downMove selection down
move_lefth, leftMove selection left
move_rightl, rightMove selection right
jump_first_rowgJump to first row
jump_last_rowGJump to last row
jump_first_col0, home, _Jump to first column
jump_last_col$, endJump to last column
page_upctrl+u, pgupPage up
page_downctrl+d, pgdownPage down
visual_modevVisual (characterwise) selection
visual_line_modeVVisual line selection
yankyCopy selection to clipboard
exportxExport selected cells
export_allXExport all rows
enterenterOpen detail view / select table
updateuUpdate current cell
delete_rowDDelete current row
edit_sqleEdit and re-run SQL
save_querysSave current query
search/Search cell content
search_colfSearch column names
next_matchnNext search match
prev_matchNPrevious search match
prev_col_match,Previous column match
next_col_match;Next column match
helpHShow help overlay
toggle_footer?Toggle footer keybinds display
quitq, ctrl+cQuit table view
detail_closeq, esc, enterClose detail view
detail_edituUpdate cell from detail view
detail_yankyCopy from detail view
detail_scroll_upk, upScroll detail view up
detail_scroll_downj, downScroll detail view down
detail_openoOpen value in editor (detail view)
help_closeH, q, escClose help overlay