Skip to main content
Toni uses vi-style keybindings for efficient navigation. This reference covers all keybindings organized by screen and mode.

Global Keybindings

Available everywhere:
KeyAction
?Toggle help screen
ctrl+cQuit immediately
qQuit (from top-level screens)
Press ? anytime to view the full help screen with all keybindings.
When browsing tables and lists:

Movement

KeyAction
j / Move down one row
k / Move up one row
h / Go back / previous screen
l / Open / select item
enterOpen / select item
ggJump to top of list
GJump to bottom of list
ctrl+dHalf page down
ctrl+uHalf page up
pgdownHalf page down
pgupHalf page up

Tab Navigation

KeyAction
b / fPrevious / next tab
B / FFirst / last tab (Visits / Restaurants)
vGo to Visits screen
rGo to Restaurants screen
wGo to Want to Visit screen

Table Controls

KeyAction
tabNext column (move active column right)
shift+tabPrevious column (move active column left)
/ then 1-9Jump to specific column number
sCycle sort on active column (none → asc → desc → none)
SSort descending (deprecated, use s instead)
nFilter by selected cell value
NClear all filters
cHide active column
CShow all columns (reveal hidden)

Actions

KeyAction
aAdd new entry (context-sensitive)
eEdit current entry (from detail screens)
dDelete current entry (from detail screens)
uUndo last action
ctrl+rRedo last undone action
escBack / cancel

Visits Screen

Specific to the Visits table:
KeyAction
aAdd new visit (quick-add)
rGo to Restaurants screen
wGo to Want to Visit screen
enter / lOpen visit details
j/kNavigate visits
b/fSwitch between tabs
tabNext column
sCycle sort on active column
nFilter by cell value
/Jump to column (press 1-9)
gg / GTop / bottom
ctrl+d / ctrl+uHalf page down/up
From the Visits screen, pressing a opens the visit form for quick-add with all fields empty.

Restaurants Screen

Specific to the Restaurants table:
KeyAction
aAdd new restaurant
vLog visit for selected restaurant
wGo to Want to Visit screen
hBack to Visits screen
enter / lOpen restaurant details
j/kNavigate restaurants
b/fSwitch tabs
tab / shift+tabNext/previous column
sCycle sort
nFilter by value
c / CHide/show columns
u / ctrl+rUndo/redo
Press v on any restaurant to quickly log a visit with the restaurant pre-filled.

Want to Visit Screen

Specific to the Want-to-Visit table:
KeyAction
aAdd new want-to-visit entry
vGo to Visits screen
rGo to Restaurants screen
enter / lOpen entry details
j/kNavigate entries
b/fSwitch tabs
tabNext column
sCycle sort
nFilter by value
/Jump to column
gg / GTop/bottom
ctrl+d / ctrl+uHalf page down/up

Visit Detail Screen

When viewing a single visit:
KeyAction
h / esc / bBack to Visits list
eEdit this visit
dDelete this visit

Restaurant Detail Screen

When viewing a single restaurant with visit history:
KeyAction
h / esc / bBack to Restaurants list
vAdd visit for this restaurant
eEdit restaurant details
dDelete restaurant (and all visits)
Deleting a restaurant from the detail screen also deletes all associated visits and want-to-visit entries.

Want-to-Visit Detail Screen

When viewing a single want-to-visit entry:
KeyAction
h / esc / bBack to Want to Visit list
cConvert to visit (mark as visited)
eEdit this entry
dDelete this entry
Press c to convert a want-to-visit entry to a visit. This opens the visit form with the restaurant pre-filled.

Insert/Edit Mode (Forms)

When in any form (add/edit visit, restaurant, or want-to-visit):
KeyAction
tabNext field
shift+tabPrevious field
ctrl+sSave form
escCancel and return without saving

Autocomplete (Restaurant Field)

When the autocomplete dropdown is visible:
KeyAction
j / Move down in results
k / Move up in results
enter / tabSelect highlighted suggestion
escClose dropdown
Autocomplete appears after typing 2+ characters in the Restaurant field (visit and want-to-visit forms only).

Undo/Redo System

Undo and redo are available globally in navigation mode:
KeyAction
uUndo last action
ctrl+rRedo last undone action
Supported operations:
  • Create/update/delete visits
  • Create/update/delete restaurants
  • Create/update/delete want-to-visit entries
  • Convert want-to-visit to visit
After any delete operation, you’ll see “(u to undo)” in the status message. Press u immediately to restore.

Column Jump Feature

Quickly jump to specific columns in tables:
1

Press '/'

Activates column jump mode
2

Press a number 1-9

Jumps to that column (if it exists)
3

Press 'esc' to cancel

Exits column jump mode without jumping
Example: /3 jumps to the third visible column.

Sorting Columns

Cycle through sort modes on any column:
  1. Navigate to the column with tab / shift+tab
  2. Press s repeatedly to cycle:
    • No sort (default order)
    • Ascending (A→Z, 0→9, oldest→newest)
    • Descending (Z→A, 9→0, newest→oldest)
    • Back to no sort
The active sort is shown in the column header.

Filtering Tables

Filter tables by cell values:
1

Navigate to a cell

Use j/k and tab to select a cell with the value you want
2

Press 'n' to filter

Shows only rows matching that value in that column
3

Press 'N' to clear

Removes all active filters
Example: Navigate to a cell with Rating 8, press n to see only visits with rating 8.

Help Screen

Press ? to toggle the full-screen help overlay:
  • Organized by screen and mode
  • Shows all available keybindings
  • Press ? or esc to close

Keybinding Design Philosophy

Toni’s keybindings follow these principles:
  1. Vi-style navigation: h/j/k/l for movement
  2. Context-aware: Keys perform different actions based on screen
  3. Mnemonic: a = add, e = edit, d = delete, v = visit, r = restaurants, w = want-to-visit
  4. No modes confusion: Clear distinction between navigation (nav mode) and forms (insert mode)
  5. Consistent patterns: Same keys work similarly across screens

Quick Reference Summary

Most Common Actions

TaskKeybinding
Add visita (from Visits screen)
Add restauranta (from Restaurants screen)
Log visit for restaurantv (from Restaurants list)
Open detailsenter or l
Edit entrye (from detail screen)
Delete entryd (from detail screen)
Go backh, b, or esc
Save formctrl+s
Cancel formesc
Undou
Help?
Quitq (top-level) or ctrl+c
MovementKeybinding
Up/Downk/j or arrows
Next/Prev tabf/b
Top/Bottomgg/G
Page up/downctrl+u/ctrl+d

Table Essentials

ActionKeybinding
Next columntab
Sort columns (cycle)
Filter valuen
Clear filterN
Jump to column/ then number
Bookmark this page for quick reference, or press ? in the app to see context-sensitive help anytime.

Build docs developers (and LLMs) love