Files
skel/dotfiles/zshrc
2018-06-18 09:25:48 -07:00

81 lines
2.0 KiB
Bash
Executable File

# For interactive shells
HISTFILE=~/.zhistory
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory autocd autopushd extendedglob nohup nomatch histignorespace histlexwords histverify cbases
unsetopt beep histbeep listbeep flowcontrol
bindkey -v
# Completion
zstyle :compinstall filename "${HOME}/.zshrc"
autoload -Uz compinit && compinit
DIRSTACKSIZE=16
case $TERM in
xterm*)
precmd () {print -Pn "\e]0;%n@%m: %~\a"}
;;
esac
autoload -U colors && colors
PS1="%{$fg[black]%}[%{$fg[yellow]%}%h%{$fg[black]%}] %{%(!.$fg[red].$fg[green])%}%8>..>%n%>>%{$fg[white]%}@%{$fg[blue]%}%12>..>%m%>>%{$fg[white]%}:%{$fg[green]%}%32<...<%~%<<%{$fg[white]%}%#%{$reset_color%} "
if [ `uname` != 'Darwin' ] ; then
# ls Colors
alias ls='ls --color'
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
else
alias ls='ls -G'
fi
# Load prezto
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi
# noglob scp is so annoying
unalias scp
# Overrides to prezto
unsetopt cdablevars
# .profile is universal
# but after zprezto to use/override anything setup there
. ~/.profile
# Deduplicate the path
typeset -U path
# Keybindings
bindkey '^[[A' history-search-backward
bindkey '^[[B' history-search-forward
# ctrl-arrow keys
bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word
bindkey '^P' up-history
bindkey '^N' down-history
bindkey '^?' backward-delete-char
bindkey '^h' backward-delete-char
# ok, a few convenience bindings
bindkey '^w' backward-kill-word
bindkey '^r' history-incremental-search-backward
# Source extras and aliases if interactive
if [[ $- == *i* ]] ; then
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi
for file in $HOME/.zshrc.d/* ; do source "$file" ; done
fi
# In case ack is named ack-grep
if [ -x /usr/bin/ack-grep ] ; then
alias ack='/usr/bin/ack-grep'
fi
# Most is nice, if we have it
if command -v most >/dev/null 2>&1; then
export PAGER="most"
fi
# Load any local settings
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi