# ~/.config/zsh/keybinds.zsh — zle ports of fish_user_key_bindings.fish. # Keys owned by kitty.conf never reach the shell and are NOT bound here: # ctrl-h/j/k/l → vim-aware split nav (pass_keys.py). bindkey -e # pin emacs keymap ($EDITOR containing "vi" would pick viins) unsetopt flow_control # free ^Q/^S in zle so the ctrl-q exit bind fires # Generic runner: widget `run-` executes (function or binary) with # the tty as stdin, then repaints — fish's `commandline -f repaint`. # cwd changes from gho/yy persist: widgets run in the shell process. # gho, pj and `tv git-files` open television cables (~/.config/television/ # cable) — the same keys do the same in fish and bash. _zle-run() { local cmd=${WIDGET#run-} zle -I $cmd