73 lines
2.3 KiB
Bash
73 lines
2.3 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
|
|
|
|
|
|
# Other settings
|
|
|
|
setopt autocd # Change directory without typing "cd" in front of it.
|
|
alias scp='\scp' # Allows wildcards in scp commands
|
|
alias rsync='\rsync' # Allows wildcards in rsync commands
|
|
setxkbmap -option caps:escape # Change capslock key to escape
|
|
zstyle ':completion:*' rehash true # Find new executables for autcompletion
|
|
|