summaryrefslogtreecommitdiffstats
path: root/zsh/.zshinput
diff options
context:
space:
mode:
Diffstat (limited to 'zsh/.zshinput')
-rw-r--r--zsh/.zshinput47
1 files changed, 47 insertions, 0 deletions
diff --git a/zsh/.zshinput b/zsh/.zshinput
new file mode 100644
index 0000000..3ab9ac4
--- /dev/null
+++ b/zsh/.zshinput
@@ -0,0 +1,47 @@
+bindkey -v
+
+source ~/.config/sh/fzf/shell/key-bindings.zsh
+
+autoload history-search-end
+zle -N history-beginning-search-backward-end history-search-end
+zle -N history-beginning-search-forward-end history-search-end
+bindkey "^[[A" history-beginning-search-backward-end
+bindkey "^[[B" history-beginning-search-forward-end
+bindkey "^[OA" history-beginning-search-backward-end
+bindkey "^[OB" history-beginning-search-forward-end
+
+bindkey -M viins '^R' fzf-history-widget
+bindkey -M vicmd '^R' fzf-history-widget
+bindkey -M vicmd '/' history-incremental-search-backward
+bindkey -M vicmd '?' history-incremental-search-forward
+bindkey -rM viins '^[/'
+
+bindkey -M vicmd ')' vi-digit-or-beginning-of-line
+bindkey -M vicmd 'e' vi-change
+bindkey -M vicmd 'E' vi-change-eol
+bindkey -M vicmd ',' execute-named-cmd
+bindkey -M vicmd '!' vi-insert
+bindkey -M vicmd '_' vi-first-non-blank
+bindkey -M vicmd '|' send-break
+bindkey -M vicmd '\' send-break
+
+bindkey "^?" backward-delete-char
+bindkey "^H" backward-delete-char
+bindkey "^U" backward-kill-line
+
+bindkey "^[[3~" delete-char
+
+page-up-within-tmux() {
+ if [[ $TMUX == '' ]]; then
+ # no-op; default behavior isn't useful, and anyway you don't want to do
+ # something TOO cool here since you won't be able to do it inside tmux.
+ # TODO if there's any way to command the /emu/ to scroll up one page, i
+ # would love to hear about it
+ else
+ tmux copy-mode -u
+ fi
+}
+zle -N page-up-within-tmux
+
+# page up
+bindkey "${terminfo[kpp]}" page-up-within-tmux