mirror of
https://github.com/Matir/skel.git
synced 2026-05-26 05:29:09 -07:00
140 lines
3.6 KiB
Bash
Executable File
140 lines
3.6 KiB
Bash
Executable File
# For interactive shells
|
|
HISTFILE=~/.zhistory
|
|
HISTSIZE=10000
|
|
SAVEHIST=10000
|
|
setopt \
|
|
alwaystoend \
|
|
appendhistory \
|
|
autocd \
|
|
autolist \
|
|
automenu \
|
|
autoparamslash \
|
|
autopushd \
|
|
banghist \
|
|
cbases \
|
|
completeinword \
|
|
extendedglob \
|
|
extendedhistory \
|
|
histexpiredupsfirst \
|
|
histfindnodups \
|
|
histignoredups \
|
|
histignorespace \
|
|
histlexwords \
|
|
histsavenodups \
|
|
histverify \
|
|
interactivecomments \
|
|
longlistjobs \
|
|
multios \
|
|
nohup \
|
|
nomatch \
|
|
notify \
|
|
pushdignoredups \
|
|
pushdsilent \
|
|
pushdtohome \
|
|
rcquotes \
|
|
sharehistory
|
|
unsetopt \
|
|
beep \
|
|
cdablevars \
|
|
histbeep \
|
|
listbeep \
|
|
flowcontrol \
|
|
mailwarning \
|
|
hup \
|
|
bgnice \
|
|
checkjobs
|
|
# vi keybindings
|
|
bindkey -v
|
|
|
|
# Allow core files
|
|
ulimit -c unlimited
|
|
|
|
DIRSTACKSIZE=16
|
|
# Set terminal title
|
|
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%} "
|
|
|
|
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
|
zstyle ':completion::complete:*' use-cache on
|
|
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
|
|
|
|
# .profile is universal
|
|
. ~/.profile
|
|
# Deduplicate the path
|
|
typeset -U path
|
|
|
|
# Additional 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 emacs 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
|
|
# zsh-only-ism to avoid error if glob doesn't expand
|
|
for file in $HOME/.zshrc.d/[a-zA-Z0-9]*.zsh(N) ; do
|
|
source "$file"
|
|
done
|
|
# extra completions, prompt
|
|
fpath=(~/.zshrc.completions ~/.zshrc.d/matir_prompt $fpath)
|
|
# Completion
|
|
zstyle ':compinstall' filename "${HOME}/.zshrc"
|
|
zstyle ':completion:*' users root ${USER}
|
|
# Modules after fpath
|
|
autoload -Uz compinit && compinit -i
|
|
autoload -Uz promptinit && promptinit
|
|
# Prompt
|
|
prompt matir
|
|
# Virtualenvwrapper
|
|
if test -f /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh ; then
|
|
source /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh
|
|
fi
|
|
# Enable grc if we have it
|
|
if ls --version 2>&1 >/dev/null ; then
|
|
alias ls='ls --color -C'
|
|
fi
|
|
[[ -s "/etc/grc.zsh" ]] && source /etc/grc.zsh
|
|
# Syntax highlighting and substring search
|
|
if test -f /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ; then
|
|
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
fi
|
|
if test -f ${HOME}/.zshrc.d/_zsh-history-substring-search.zsh ; then
|
|
source ${HOME}/.zshrc.d/_zsh-history-substring-search.zsh
|
|
bindkey '^[[A' history-substring-search-up
|
|
bindkey '^[[B' history-substring-search-down
|
|
bindkey -M vicmd 'k' history-substring-search-up
|
|
bindkey -M vicmd 'j' history-substring-search-down
|
|
fi
|
|
fi # End interactive-only block
|
|
|
|
# In case ack is named ack-grep
|
|
if [ -x /usr/bin/ack-grep ] ; then
|
|
alias ack='/usr/bin/ack-grep'
|
|
fi
|
|
|
|
# Setup PATH for tools
|
|
PATH=${PATH}:${HOME}/bin/tools
|
|
|
|
# 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
|