dotfiles/.zshrc

35 lines
1 KiB
Bash

# 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)"