我正在尝试将.zshrc移动到一个文件夹,我保持这种文件与Github同步。
但现在每当我启动zsh会话时,它都不会使用该配置文件。
假设我将文件更改为〜/ .dotfiles,如何将〜/ .dotfiles / .zshrc添加到PATH(?!)以使zsh以该配置启动?
执行source~./ dotfiles / .zshrc仅适用于该会话。如果我关闭终端,则不再起作用。
答案 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放在最后。