setopt HIST_IGNORE_ALL_DUPS bindkey -v WORDCHARS=${WORDCHARS//[\/]} ZSH_AUTOSUGGEST_MANUAL_REBIND=1 ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim if [[ ! -e ${ZIM_HOME}/zimfw.zsh ]]; then if (( ${+commands[curl]} )); then curl -fsSL --create-dirs -o ${ZIM_HOME}/zimfw.zsh \ https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh else mkdir -p ${ZIM_HOME} && wget -nv -O ${ZIM_HOME}/zimfw.zsh \ https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh fi fi if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]]; then source ${ZIM_HOME}/zimfw.zsh init -q fi source ${ZIM_HOME}/init.zsh zmodload -F zsh/terminfo +p:terminfo # Bind ^[[A/^[[B manually so up/down works both before and after zle-line-init for key ('^[[A' '^P' ${terminfo[kcuu1]}) bindkey ${key} history-substring-search-up for key ('^[[B' '^N' ${terminfo[kcud1]}) bindkey ${key} history-substring-search-down for key ('k') bindkey -M vicmd ${key} history-substring-search-up for key ('j') bindkey -M vicmd ${key} history-substring-search-down unset key srcs=( "$HOME/.cargo/env" "$HOME/.zshwork" "$HOME/.zshprivate" ) for fp in $srcs; do if [[ -s "$fp" ]]; then source "$fp" fi done eval "$(/opt/homebrew/bin/brew shellenv)" eval "$(direnv hook zsh)" eval "$(jj util completion zsh)" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" [ "$TERM" = "xterm-kitty" ] && alias ssh="TERM=xterm ssh" function update_now() { cd ~/projects/personal/thermokar.st || return jj git fetch --remote pingo && jj new deploy hx now.md if [[ -n $(jj diff) ]]; then jj commit -m "$(now)" jj tug jj git push --remote pingo jj git push --remote dokku fi }