summaryrefslogtreecommitdiff
path: root/_posts/2008-06-18-keep-your-zshrc-simple.md
blob: 8a632b6a6dff79b424cdacf78cd1c276f256cbb8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
---
layout: post
title: keep your zshrc simple
summary: In which I explain how I maintain my zsh configuration.
---

Keep your .zshrc simple. Mine looks like this :

{% highlight vim %}
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:

    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.