--- layout: post category: app title: keep your zshrc simple --- Keep your .zshrc simple. Mine looks like this : {% highlight bash %} autoload -U compinit zrecompile zsh_cache=${HOME}/.zsh_cache mkdir -p $zsh_cache compinit -d $zsh_cache/zcomp-$HOST for f in ~/.zshrc $zsh_cache/zcomp-$HOST; do zrecompile -p $f && rm -f $f.zwc.old done setopt extended_glob for zshrc_snipplet in ~/.zsh.d/S[0-9][0-9]*[^~] ; do source $zshrc_snipplet done function history-all { history -E 1 } {% endhighlight %} and then, in my .zsh.d directory, i've got: bc. S10_zshopts S20_environment S30_binds S40_completion S50_aliases S60_prompt S71_ssh S72_git All my aliases are in the same file, it's much easier to search/find/add