How to specify a custom path for my .zshrc file?

99封情书 提交于 2019-12-01 16:25:26

问题


I'm trying to move .zshrc to a folder where I keep this kind of files synced with Github.

But now whenever I start a zsh session it doesn't use that config file.

Assuming I changed the file to ~/.dotfiles how can I add ~/.dotfiles/.zshrc to the PATH(?!) to make zsh start with that config?

Doing source ~./dotfiles/.zshrc only works for that session. Doesn't work anymore if I close the terminal.


回答1:


You can symlink:

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

For the zshrc you can do something like:

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



回答2:


One alternative to a symlink is to put this in ~/.zshenv:

ZDOTDIR=~/.dotfiles

If you want .zshenv in ~/.dotfiles as well, you can look into setting ZDOTDIR in one of the global configuration files (/etc/zshenv is a good choice).




回答3:


Alternatively, you can do what I do and use GNU Stow. I've got my dotfiles in a repository, one subdirectory per category, like so:

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

then I can cd into repo and do stow zsh and it'll create a symlink from ~/.zshrc to repo/zsh/.zshrc, another from zsh/.zlogin to ~/.zlogin. stow vim to create symlinks from the vim subdirectory to ~, etc.

I've got a script, install-linkfarm, that does all the stow commands so when I move onto a new machine, I clone my repo, cd to it and run install-linkfarm and am good to go.




回答4:


You can put this in ~/.zshrc, even as its entire contents:

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



回答5:


Here is an interesting hack that doesn't require you to use sym-links. In your .xsession, (or .*wmrc) have the following:

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

instead of just:

xterm
Make sure to put the -e at the end after all of your other xterm options.

来源:https://stackoverflow.com/questions/27659100/how-to-specify-a-custom-path-for-my-zshrc-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!