Problem
mitmproxy currently has q and Q as direct keybindings:
| Key |
Action |
q |
Exit current view / prompt to quit at top level |
Q |
Exit immediately |
This works, but it's inconsistent with the vim pattern that most terminal users expect. In vim, q records macros while :q quits. The command-form (:q) is the deliberate quit action, not a raw keypress.
mitmproxy already has a command system via :, but quitting requires verbose commands like :console.view.pop (quit with confirmation) or :console.exit (quit immediately).
Proposal
Add short aliases to match vim conventions:
| Alias |
Maps to |
Behavior |
:q |
console.view.pop |
Pop view / prompt to quit at top level |
:q! |
console.exit |
Exit immediately without prompt |
This preserves the existing q/Q keybindings while adding the familiar command-form for users who prefer explicit commands over direct keypresses.
Implementation
Minimal change, just registering aliases in the command system. Happy to submit a PR if there's interest.
Problem
mitmproxy currently has
qandQas direct keybindings:qQThis works, but it's inconsistent with the vim pattern that most terminal users expect. In vim,
qrecords macros while:qquits. The command-form (:q) is the deliberate quit action, not a raw keypress.mitmproxy already has a command system via
:, but quitting requires verbose commands like:console.view.pop(quit with confirmation) or:console.exit(quit immediately).Proposal
Add short aliases to match vim conventions:
:qconsole.view.pop:q!console.exitThis preserves the existing
q/Qkeybindings while adding the familiar command-form for users who prefer explicit commands over direct keypresses.Implementation
Minimal change, just registering aliases in the command system. Happy to submit a PR if there's interest.