C3 — Key and Environment Overrides
These change fundamental shell behavior: how keys work, which pager opens,
and what the prompt looks like. Disabling __fish_config_op_overrides removes
all of them.
| Override | What it replaces or sets |
|---|---|
Vi mode |
fish_vi_key_bindings replaces default Emacs mode |
PATH setup |
Prepends custom bin directories to the PATH |
exit → smart_exit |
exit wrapper that captures scrollback before closing |
PAGER=ov |
ov used by git, man, and all $PAGER-aware tools |
EDITOR=nvim |
nvim fallback to vi for git commit, etc. |
GPG_TTY |
Sets GPG_TTY to current terminal tty |
MANPAGER=bat pipeline |
man pages rendered with syntax highlighting |
CDPATH=. ~/projects ~ |
bare dir names resolve against ~/projects and ~ |
Bang-bang system |
! and $ keys expand history; !^, !, !-N, !?str?, ^old^new abbreviations; six expand_bang_ helpers |
Autopair |
( [ { " ' auto-close to (), [], {}, "", '' |
Puffer key intercepts |
. ! $ * keys intercepted for smart expansion |
Starship prompt |
fish_prompt replaced by Starship + OSC 133 markers |
Catppuccin colors |
30+ fish_color_* variables set to Mocha palette |
FZF_DEFAULT_OPTS |
FZF themed to Catppuccin Mocha colors |
Right prompt |
fish_right_prompt: exit code (on failure) + dim timestamp; always rendered; Docker context added when starship+C3 active |
The bang-bang system spans key_bindings.fish, abbr.fish, puffer.fish, and
six expand_bang_*.fish functions. All are gated together — disabling C3
removes the entire bang-expansion system at once.
When C3 is disabled, exit falls back to builtin exit with no scrollback
capture, no Kitty IPC, and no file I/O on exit. The scrollback capture block
is independently controlled by C5 (see below).
Sub-categories
Section titled “Sub-categories”__fish_config_op_overrides sub-divides into three sub-categories, each
with its own __fish_config_op_overrides_<slug> toggle:
key-bindings
Section titled “key-bindings”Vi mode, autopair, puffer key intercepts, bang-bang history expansion,
and smart_exit’s plain-exit path.
environment
Section titled “environment”$PATH, $PAGER/$EDITOR/$GPG_TTY, and $CDPATH.
prompt
Section titled “prompt”Starship, the right prompt, Catppuccin syntax/prompt colors, and FZF
theming ($FZF_DEFAULT_OPTS) – all driven by the same guard as a single
unit, not independently toggleable from each other.