dotfiles/.zshrc

79 lines
2.4 KiB
Bash

if [ -f ~/.bash_profile ]; then
source ~/.bash_profile;
fi
# 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
# Set variables
export HTML_TIDY=~/.tidy.conf
# Other settings
setopt autocd # Change directory without typing "cd" in front of it.
alias scp='noglob \scp' # Allows wildcards in scp commands
alias rsync='noglob \rsync' # Allows wildcards in rsync commands
# setxkbmap -option caps:escape # Change capslock key to escape
zstyle ':completion:*' rehash true # Find new executables for autcompletion
stty -ixon # Ignore and pass through ctrl-s and ctrl-q as normal input (quicksave bin for vim)