为了组织我的zsh自定义文件文件夹结构,有标准的zsh目录结构吗?
我说的不是Oh My Zsh或任何其他框架,而是";香草";zsh自定义文件。
从现在开始,我看到了这种类型的目录结构:
~/.zsh/
custom/
plugins/
themes/
或
~/.zsh/
functions/
themes/
library/
没有标准的文件夹结构。Zsh可以让你以几乎任何你喜欢的方式组织你的文件。
不过,有几个规则:
- 默认情况下,Zsh在
$HOME
中查找点文件 - 要将Zsh点文件保留在其他位置,请创建一个文件
~/.zshenv
,然后在其中将$ZDOTDIR
分配给要保留其余点文件的目录(并确保不在.zshenv
中放置任何其他内容( .zshrc
通常是您需要的唯一Zsh点文件。其他大多数只是出于遗产原因$HISTFILE
没有标准位置,但在macOS和Debian上,/etc/zshrc
将其设置为${ZDOTDIR:-$HOME}/.zsh_history
- 用户功能(包括主题和完成(没有标准位置。相反,添加到
$fpath
中的任何目录都将搜索函数。Zsh文档中的示例将自定义函数放在~/myfns
或~/myfuncs
中 - 共享功能应转到
/usr/local/share/zsh/site-functions
。默认情况下,此目录位于每个用户的$fpath
中 - 完成转储文件默认保存为
${ZDOTDIR:-$HOME}/.zcompdump
。您可以通过在调用compinit
时传递-d <dumpfile>
来更改这一点(您应该只调用一次( - 默认情况下,完成缓存文件保存为
${ZDOTDIR:-$HOME}/.zcompcache/
,但您可以使用zstyle ':completion:*' cache-path <dir>
对此进行更改 - 插件不是Zsh的标准部分(它们是由Oh My Zsh组成的(,因此根本没有任何标准的位置或处理