source ~/.bash_profile # extra files in ~/.zsh/configs/pre , ~/.zsh/configs , and ~/.zsh/configs/post # these are loaded first, second, and third, respectively. _load_settings() { _dir="$1" if [ -d "$_dir" ]; then if [ -d "$_dir/pre" ]; then for config in "$_dir"/pre/**/*~*.zwc(N-.); do . $config done fi for config in "$_dir"/**/*(N-.); do case "$config" in "$_dir"/(pre|post)/*|*.zwc) : ;; *) . $config ;; esac done if [ -d "$_dir/post" ]; then for config in "$_dir"/post/**/*~*.zwc(N-.); do . $config done fi fi } _load_settings "$HOME/.zsh/configs" # Local config [[ -f ~/.zshrc.local ]] && source ~/.zshrc.local # aliases [[ -f ~/.aliases ]] && source ~/.aliases # Save history SAVEHIST=3000 HISTSIZE=3000 HISTFILE="$HOME/.zsh_history" setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits. setopt SHARE_HISTORY # Share history between all sessions. setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history. setopt HIST_IGNORE_DUPS # Don't record an entry that was just recorded again. setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate. setopt HIST_FIND_NO_DUPS # Do not display a line previously found. setopt HIST_IGNORE_SPACE # Don't record an entry starting with a space. setopt HIST_SAVE_NO_DUPS # Don't write duplicate entries in the history file. setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry. setopt HIST_VERIFY # Don't execute immediately upon history expansion. setopt HIST_BEEP # Beep when accessing nonexistent history. # Prompt PS1="(%*) %F{green}%n%f@%F{magenta}%m%f %F{blue}%B%~%b%f %# " # https://wiki.gentoo.org/wiki/Zsh/Guide#Prompts # Other settings setopt autocd # Change directory without typing "cd" in front of it. zstyle ':completion:*' rehash true # Find new executables for autcompletion