Complete K9s keyboard shortcuts reference — 23 shortcuts across 3 categories. Quick reference cheat sheet for Windows & Mac.
| Shortcut | Action |
|---|---|
| : | Command mode |
| / | Filter resources |
| Esc | Back / clear filter |
| ? | Show keyboard help |
| Enter | Drill down |
| 0 | Show all namespaces |
| G | Go to bottom |
| Ctrl + A | List resource aliases |
| Shortcut | Action |
|---|---|
| D | Describe resource |
| Y | View YAML |
| E | Edit resource |
| L | View logs |
| S | Open shell |
| A | Attach to container |
| Shift + F | Port-forward |
| Ctrl + D | Delete resource |
| Ctrl + K | Kill resource |
| Space | Mark item |
| Shortcut | Action |
|---|---|
| Shift + C | Sort by CPU |
| Shift + M | Sort by memory |
| Shift + N | Sort by name |
| Shift + A | Sort by age |
| Ctrl + C | Quit K9s |
K9s drives Kubernetes the way Vim drives text. : opens command mode — type a resource name or alias (:pods, :svc, :deploy) and the view switches instantly; Ctrl + A lists every alias if you forget one. / filters the current table as you type, Esc clears it, 0 widens the view to all namespaces, and Enter drills down — namespace to pod to container — while Esc climbs back out. ? shows context-sensitive help for whatever view you are in.
Actions apply to the highlighted row: D describes, Y shows YAML, E edits in your $EDITOR, L streams logs, S opens a shell in the container, A attaches, and Shift + F sets up a port-forward without ever typing a kubectl command. Space marks multiple rows so one action hits them all.
When a node is unhappy, the sort keys answer the first question fast: Shift + C orders by CPU, Shift + M by memory, Shift + A by age, Shift + N back to names. Combined with 0 for all namespaces, the busiest pod in the cluster surfaces in three keystrokes. Ctrl + C quits K9s when you are done.
Ctrl + D is a normal delete: it asks for confirmation and lets Kubernetes terminate the resource gracefully. Ctrl + K kills immediately — no confirmation, no grace period. Reach for K only when a pod is stuck and refusing to die politely.
Command mode: press : and type the resource or its alias — :po, :svc, :ns, :no for nodes. Ctrl + A shows the full alias table. It is dramatically faster than any menu, and it works from every view.
Filter with / to isolate the pod, then L to stream its logs; Esc returns to the table. For deeper poking, S opens a shell inside the container directly — the kubectl exec dance reduced to one key.
/ narrows what you are looking at — it filters the current table. : changes what you are looking at — it switches to a different resource view. Filter with slash, navigate with colon.
Mark them with Space — each press toggles the highlighted row — then trigger the action once: delete, or kill applies to every marked item. The mark count shows in the header so you know exactly what is in scope.
Open your assistant with this page preloaded as the source — great for follow-up questions like "which of these work in other apps?"