Navigation - Keyboard Shortcuts, Tabs & Command Palette
Pane layout
Section titled “Pane layout”lazyaz uses a miller-columns layout — parent, focused, and child panes arranged left to right. As you drill into resources, the focused pane shifts right and the previous pane becomes the parent column on the left.
| Key | Action |
|---|---|
Tab / Shift+Tab | Cycle pane focus |
Enter / l / Right | Open / drill in |
h / Left | Go back |
Backspace | Parent folder (blobs pane, hierarchy mode), otherwise go back one pane |
/ | Filter focused pane |
Ctrl+D / Ctrl+U / PgDown / PgUp | Half-page scroll |
a | Action menu |
K | Inspect panel |
S | Switch subscription |
d | Reload subscriptions |
r | Refresh current scope |
T | Theme picker |
N | Notifications history |
F | Activity overlay |
? / F1 | Help |
q / Ctrl+C | Quit (q is suppressed while a filter or text-input is focused; Ctrl+C always works) |
| Key | Action |
|---|---|
Tab / Shift+Tab | Cycle pane focus |
Enter / Right | Open / drill in |
Left | Go back |
Backspace | Parent folder (blobs pane, hierarchy mode), otherwise go back one pane |
Ctrl+F | Filter focused pane |
PgDown / PgUp | Half-page scroll |
a | Action menu |
Ctrl+I | Inspect panel |
Ctrl+S | Switch subscription |
Ctrl+R | Reload subscriptions |
F5 | Refresh current scope |
Ctrl+T | Theme picker |
Ctrl+N | Notifications history |
Ctrl+G | Activity overlay |
F1 | Help |
Ctrl+Q / Ctrl+C | Quit |
The Notifications history (N) overlay keeps the last 1 000 events.
Transient toasts auto-dismiss after ~1.5 s (or 5 s for errors). Errors from
background fetches land here too — including fetches in tabs you’re not
currently looking at — so a failed refresh is never silently lost. The
list truncates each event to one line; the pane under it shows the
selected event in full, word-wrapped, so a long Azure error is readable.
Press y to copy the selected event’s complete text to the clipboard. The
Activity overlay (F) shows in-flight cache fetches across all tabs
and lets you cancel them mid-flight — note that some long-running
operations (Service Bus requeue/move) are not yet routed through it.
Run Blob Storage, Service Bus, and Key Vault side by side. Each tab has its own subscription context.
| Key | Action |
|---|---|
Ctrl+T | New tab |
Ctrl+W | Close tab |
L | Next tab |
H | Previous tab |
1–9 | Jump to tab |
Ctrl+P | Command palette |
| Key | Action |
|---|---|
Ctrl+N | New tab |
Ctrl+W | Close tab |
Ctrl+PgDown | Next tab |
Ctrl+PgUp | Previous tab |
Alt+1–Alt+9 | Jump to tab |
Ctrl+P | Command palette |
Filtering
Section titled “Filtering”Every filter in the app — pane filters (/), overlay pickers, the command
palette, the file browser — uses fzf’s matching algorithm and understands
fzf’s extended-search syntax. Matching is case-insensitive.
| Pattern | Matches |
|---|---|
logs | fuzzy match |
'logs | exact substring |
^data | prefix |
.json$ | suffix |
^app$ | exact equal |
!tmp | does not contain tmp (also !^data, !.tmp$) |
^data .json$ | AND — all space-separated terms must match |
'parquet | 'avro | OR — pipe joins alternatives |
Use \ (backslash-space) to match a literal space. Note: the Blob tab’s
server prefix search sends a literal prefix to the Azure API and does not
use this syntax.
Filters match the visible row text. One exception: the Service Bus messages pane also matches the message body preview, so you can find a message by its content.
Action menu
Section titled “Action menu”Press a to open a context-aware action menu for the current pane. The menu
shows only actions relevant to your current selection — download, yank, sort,
requeue, and more depending on the resource type. Type to filter, Enter to
execute.
Command palette
Section titled “Command palette”Press Ctrl+P to open the command palette. It lists every available
command grouped by section — new tabs (Blob / Service Bus / Key Vault /
Dashboard / Azurite preset / Blob-by-connection-string), open tabs (Go to Tab N), tab management (close / next / previous), the Azure Login /
Switch Tenant flow, theme picker, notifications history, activity
overlay, help, and quit. Type to fuzzy-filter, Enter to execute.
Note: switching subscription is not in the palette — it’s the top-level
shortcut S (or Ctrl+S in standard).
Jump list
Section titled “Jump list”lazyaz keeps a vim-style jump list that tracks where you’ve been across
tabs, following vim’s rules: a jump is a scope change — drilling into a
different container, folder, vault, kind, namespace, or queue, switching
subscription, or jumping between tabs. Local motion (cursor moves, pane
focus changes, scrolling) is never recorded. The position you were at when
you jumped is what gets recorded, down to the folder and the selected row,
so Ctrl+O puts the cursor back exactly where you left.
| Key | Action |
|---|---|
Ctrl+O | Jump back to the previous position |
Ctrl+I / Ctrl+N / Ctrl+] | Jump forward |
Jumps cross tab boundaries — pressing Ctrl+O can return you to a different
tab you had open (including the dashboard, which restores the focused
widget). Making a new jump while walked back abandons the forward history,
exactly like vim. The list holds up to 100 entries and is deduplicated so
rapid back-and-forth doesn’t bloat it.
Some terminal + multiplexer combinations can’t distinguish Ctrl+I from Tab,
which is why Ctrl+N and Ctrl+] are also bound to jump forward.