为了使~变得更整洁,我想将尽可能多的用户配置文件移到$XDG_CONFIG_HOME,默认情况下为~/.config。所以我想将所有zsh用户文件存储在$XDG_CONFIG_HOME/zsh/中。到目前为止已经有了:

% ls $XDG_CONFIG_HOME/zsh/
histfile  zsh_cache zshrc

容易,您只需要填写~/.zshrc即可。现在,最棘手的部分似乎使zsh直接读取$ XDG_CONFIG_HOME/zsh/zshrc,而无需从〜/.zshrc采购它。您将如何进行?

最佳答案

可以编辑/etc/zsh/zshenv来设置$XDG_CONFIG_HOME目录和$ZDOTDIR。但是,这需要对此文件具有写特权。

因此,假设zsh读取时已定义$HOME(我不知道是这种情况),则可以添加到/etc/zsh/zshenv中:

if [[ -z "$XDG_CONFIG_HOME" ]]
then
        export XDG_CONFIG_HOME="$HOME/.config/"
fi

if [[ -d "$XDG_CONFIG_HOME/zsh" ]]
then
        export ZDOTDIR="$XDG_CONFIG_HOME/zsh/"
fi

关于zsh - 如何在$ XDG_CONFIG_HOME中进行zsh搜索配置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21162988/

10-12 05:57