# Print user@host into title so terminal tabs are correct # Despite being called precmd() this executes after process exits, before prompt precmd() { echo -ne "\033]0;${USER}@${HOST}\007" } # Generic navigation keybinds bindkey "^[[H" beginning-of-line # HOME bindkey "^[[F" end-of-line # END bindkey "^[[3~" delete-char # DEL bindkey '^R' history-incremental-search-backward # Global aliases alias ct="clear && task" alias grep='grep -EIs --color=auto --exclude-dir=.git' # Use exa if we have it # I don't want this in .profile because it's not completely backward compatible with ls if [ -e /usr/bin/exa ]; then alias ls=exa fi setopt appendhistory # Case-insensetive tab completion autoload -Uz compinit && compinit zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' # Edit long command lines in vim with ^x^e autoload -U edit-command-line zle -N edit-command-line bindkey '^x^e' edit-command-line # Load any kind of system-local stuff [[ ! -f ~/.zshrc.local ]] || source ~/.zshrc.local eval "$(starship init zsh)"