35 lines
1 KiB
Bash
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)"
|