Quick reference

Every keybind in one place. Click any section header for the full guide.

Global ALL MODES

Key Action
F1 / ? Toggle help popup
Shift+Tab Switch focus: input ↔ results
Ctrl+Y Copy (focus-aware: query if input, results if results)
Ctrl+O Copy results (regardless of focus)
Ctrl+W Save result to file
Ctrl+T Toggle function tooltip
Ctrl+E Toggle error overlay (plain-language jq errors)
Ctrl+A Toggle AI assistant
Ctrl+S Open snippets
Ctrl+R Open history popup
Ctrl+F Open search in results
Enter Exit and print filtered JSON
Ctrl+Q Exit and print just the query string
Ctrl+C / q Quit silently

Input — INSERT mode INSERT

Cyan border. Just type — every keystroke re-runs jq.

Key Action
Type chars Edit query (real-time results)
Tab Accept autocomplete suggestion
/ Navigate autocomplete
/ Move cursor
Home / End Line start / end
Backspace / Delete Delete char
Ctrl+P / Ctrl+N Cycle history (older / newer)
Ctrl+d / Ctrl+u Scroll results half page
Esc NORMAL mode / close autocomplete
Mouse click Position cursor
Mouse wheel Horizontal scroll
Horizontal swipe Horizontal pan (terminal-dependent)

Input — NORMAL mode NORMAL

Yellow border. Vim motions, operators, text objects, undo/redo. Toggle from INSERT with Esc.

Key Action
h l Move 1 char
0 ^ Home Line start
$ End Line end
w Next word start
b Previous word start
e Word end

Enter INSERT

Key Action
i At cursor
a After cursor
I Line start
A Line end

Edit

Key Action
x Delete char at cursor
X Delete char before
u Undo
Ctrl+r Redo
yy Focus-aware copy
Key Action
f{c} Find forward to char
F{c} Find backward to char
t{c} Till forward (stop before)
T{c} Till backward (stop after)
; Repeat in same direction
, Repeat in opposite direction

Operators (delete + change)

Key Action
dw db de Delete word fwd/back/end
d$ d0 d^ Delete to end / start
dd D Delete line / to end
df{c} dF{c} dt{c} dT{c} Delete to/till char
cw cb ce Change word fwd/back/end
c$ c0 c^ cc C Change to end / start / line
cf{c} cF{c} ct{c} cT{c} Change to/till char

Text objects

Key Action
ciw diw Inner word
ci" di" ci' di' ci\ di`` Inside quotes
ci( di( ci[ di[ ci{ di{ Inside brackets
ci\| di\| Inside pipe segment (jq-aware)
ca" da" etc. Around quotes (incl. quotes)
ca( da( etc. Around brackets (incl. brackets)
ca\| da\| Around pipe segment (incl. one pipe)

Other

Key Action
/ Open search
Ctrl+d Ctrl+u Scroll results half page

Results pane RESULTS

Focus with Shift+Tab or click.

Cursor

Key Action
j k Move 1 line
J K Move 10 lines
Ctrl+d PgDn Half page down
Ctrl+u PgUp Half page up
g Home Top
G End Bottom

Query navigation

Key Action
> Zoom into value at cursor
< Step back to prior query (or click the [ < Back ] badge on the results border)
* Iterate nearest array ([N][])
^ Step up one level
} Wrap value as {key} object
] [ Jump to next / prev sibling (wraps)

Horizontal scroll

Key Action
h l 1 column
H L 10 columns
0 Left edge
$ Right edge
Horizontal swipe Scroll left/right (terminal-dependent)

Visual line selection

Key Action
v V Enter visual line mode
j k Extend selection
y Yank to clipboard
Esc v V Exit
Click + drag Select with mouse
Key Action
Ctrl+F Open from any pane
/ Open from results / NORMAL input
Enter Confirm + jump to next
n / Enter Next match
N / Shift+Enter Previous match
Tab Toggle search bar ↔ results
Ctrl+F / / Re-enter edit mode
Esc Close

Case-insensitive.

Query history

Quick cycling (no popup)

Key Action
Ctrl+P Previous (older)
Ctrl+N Next (newer)
Key Action
Ctrl+R / (NORMAL) Open
/ Navigate
Type chars Fuzzy filter
Enter / Tab Apply
Ctrl+D Delete selected
Click Delete entry under mouse
Esc Close

Snippet library

Browse mode

Key Action
Ctrl+S Open
/ Navigate
Type chars Fuzzy filter
Enter Apply
Ctrl+N New from current query
Ctrl+E Edit selected
Ctrl+R Replace selected’s query with current input
Ctrl+D Delete
Esc Close

Create / edit mode

Key Action
Tab / Shift+Tab Navigate fields
Enter Save
Esc Cancel

AI assistant AI

Key Action
Ctrl+A Toggle popup
Alt+1..5 Apply suggestion N
Alt+ / Alt+ Navigate
Alt+j / Alt+k Navigate (vim)
Enter Apply selected
Ctrl+A / Esc Close

Mouse

Gesture Action
Click pane Focus
Click + drag (results) Multi-line visual selection
Double-click result row Drill into value (same as >)
Mouse wheel Vertical scroll
Horizontal swipe (results / input) Scroll left/right (terminal-dependent)
Click suggestion Select
Double-click suggestion Apply
Hover history row Reveal delete button
Click help tab Switch tab
Click scrollbar Reposition / drag

Source picker

Shown on bare jiq launch (no flag, no piped stdin) when the clipboard contains a JSON object or array. Otherwise jiq drops straight to the paste editor.

Key Action
/ / Tab Toggle Clipboard ↔ Paste
Enter Confirm highlighted source
Esc Quit jiq

CLI flags

Flag Behavior
jiq <file> Load from file
cat <file> \| jiq Load from piped stdin
jiq Smart picker (peeks clipboard at launch)
jiq --clipboard Force clipboard auto-load, skip the picker
jiq --paste Open paste editor immediately, no clipboard read
jiq --debug Write debug log to /tmp/jiq-debug.log

Combining --clipboard or --paste with piped stdin or a file argument exits non-zero with an “ambiguous input source” error.

Paste editor

Full-screen text area with VIM editing. Opens via --paste, the picker’s Paste option, or as a fallback when the clipboard isn’t queryable.

Key Action
Paste (Cmd/Ctrl+Shift+V) Insert JSON
Enter Validate + load
Ctrl+X Clear textarea
All NORMAL-mode VIM keys Edit
j / k / g / G Navigate lines