Zim Configuration - zshrc
· 閱讀時間約 1 分鐘
# =====================
# Homebrew (MUST be early for PATH)
# =====================
eval "$(/opt/homebrew/bin/brew shellenv)"
# =====================
# Zimfw Initialization
# =====================
zstyle ':zim:git' aliases-prefix 'g'
ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim
[[ -f ${ZIM_HOME}/zimfw.zsh ]] || {
if (( ${+commands[curl]} )); then
curl -fsSL --create-dirs -o ${ZIM_HOME}/zimfw.zsh \
https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh
else
mkdir -p ${ZIM_HOME} && wget -nv -O ${ZIM_HOME}/zimfw.zsh \
https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh
fi
}
[[ ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]] || source ${ZIM_HOME}/zimfw.zsh init -q
source ${ZIM_HOME}/init.zsh
# =====================
# Environment Variables
# =====================
export XDG_CONFIG_HOME="$HOME/.config"
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
# =====================
# Aliases
# =====================
alias rm="rm -iv"
alias py="python"
alias mkdir='mkdir -pv'
alias kc="kubectx"
alias kn="kubens"
alias tf='terraform'
# =====================
# fzf Configuration (env vars only, init after Zim)
# =====================
export FZF_COMPLETION_TRIGGER='**'
export FZF_COMPLETION_OPTS='--border'
export FZF_DEFAULT_OPTS='--layout=reverse --height=40%'
export FZF_DEFAULT_COMMAND='fd --type f --hidden --exclude .git'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
# =====================
# Custom Functions
# =====================
back() { git reset HEAD~; }
goto_gitroot() { cd "$(git-root)"; }
autocommit() { git add .; git commit -m "$(date)"; git push origin main; }
# =====================
# Tools that require compdef (must be after Zim)
# =====================
eval "$(fzf --zsh)"
eval "$(zoxide init zsh)"
eval "$(mise activate zsh)"
eval "$(starship init zsh)"