如何为我的.zshrc文件指定自定义路径?

时间:2014-12-26 15:50:13

标签: zsh

我正在尝试将.zshrc移动到一个文件夹,我保持这种文件与Github同步。

但现在每当我启动zsh会话时,它都不会使用该配置文件。

假设我将文件更改为〜/ .dotfiles,如何将〜/ .dotfiles / .zshrc添加到PATH(?!)以使zsh以该配置启动?

执行source~./ dotfiles / .zshrc仅适用于该会话。如果我关闭终端,则不再起作用。

7 个答案:

答案 0 :(得分:7)

您可以symlink

ln -s /path/to/original /path/to/symlink

对于zshrc,您可以执行以下操作:

ln -s ~/.dotiles/.zshrc ~/.zshrc

答案 1 :(得分:6)

符号链接的一个替代方法是将其放在~/.zshenv

ZDOTDIR=~/.dotfiles

如果您想在.zshenv~/.dotfiles,也可以在其中一个全局配置文件中设置ZDOTDIR/etc/zshenv是一个不错的选择)。< / p>

答案 2 :(得分:3)

或者,你可以做我做的事情并使用GNU Stow。我在一个存储库中得到了我的dotfiles,每个类别都有一个子目录,如下所示:

dotfilerepo/zsh/.zshrc
dotfilerepo/zsh/.zlogin
dotfilerepo/git/.gitconfig
dotfilerepo/vim/.vimrc

然后我可以进入repo并执行stow zsh并且它会创建一个从〜/ .zshrc到repo / zsh / .zshrc的符号链接,另一个从zsh / .zlogin到〜/ .zlogin。 stow vim从vim子目录创建符号链接到〜等等。

我有一个脚本,install-linkfarm,它可以执行所有的stow命令,所以当我移动到新机器上时,我克隆了我的repo,cd到它并运行install-linkfarm,我很高兴。

答案 3 :(得分:0)

您甚至可以将其全部内容放入~/.zshrc

if [ -r ~/.dotfiles/.zshrc ]; then
    source ~/.dotfiles/.zshrc
fi

答案 4 :(得分:0)

请使用下面提到的export命令来解决您的问题。

export ZDOTDIR=$HOME/.dotfiles

答案 5 :(得分:0)

在Linux 中,您可以检查zsh是否正在加载 / etc / zsh / zshrc ,并进行编辑。

在这种情况下,请添加以下内容以将其重定向到您的自定义脚本:

sh $HOME/.dotfiles/zshrc

答案 6 :(得分:-1)

这是一个有趣的黑客,不需要你使用sym-links。 在.xsession中,(或。* wmrc)具有以下内容:

xterm -e 'zsh -c ". ~/.dotfiles/.zshrc; zsh"'.

而不只是:

xterm
确保在所有其他xterm选项之后将-e放在最后。