首页 > 解决方案 > zsh 的标准文件夹结构是什么?

问题描述

为了组织我的 zsh 自定义文件文件夹结构,是否有 zsh 的标准文件夹结构?

我不是在谈论 Oh-My-Zsh 或任何其他框架,而是在谈论“香草”zsh 自定义文件。

从现在开始,我已经看到了这种类型的文件夹结构:

~/.zsh/
      custom/
            plugins/
            themes/

或者

~/.zsh/
      functions/
      themes/
      library/

谢谢

标签: zshdirectory-structure

解决方案


没有标准的文件夹结构。Zsh 可让您以几乎任何您喜欢的方式组织文件。不过有几个规则:

  • Zsh 点文件默认在$HOME. 通常,您要使用的唯一 Zsh 点文件是.zshrc.
  • 如果你想把你的 Zsh 点文件放在别处,那么你需要创建一个文件~/.zshenv,并在其中分配$ZDOTDIR你想要保留其余点文件的目录。一般来说,你不应该在~/.zshenv.
  • 没有标准位置$HISTFILE,但在 macOS 和 Debian 上,/etc/zshrc将其设置为${ZDOTDIR:-$HOME}/.zsh_history.
  • 函数没有标准位置(包括主题和完成)。相反,您添加到您的任何目录都$fpath将被搜索功能。Zsh 文档中的示例将自定义函数(包括主题和完成)放在~/myfnsor中~/myfuncs

    旁注:默认情况下,由$fpath和组成。因此,如果您是系统管理员,并且您希望向系统的所有用户提供功能,您可以将它们放入./usr/local/share/zsh/site-functions/usr/share/zsh/site-functions/usr/share/zsh/<version>/functions/usr/local/share/zsh/site-functions

  • 完成转储文件默认保存为${ZDOTDIR:-$HOME}/.zcompdump. 您可以使用 更改此设置compinit -d <dumpfile>
  • 完成缓存文件默认保存为${ZDOTDIR:-$HOME}/.zcompcache/,但您可以使用zstyle ':completion:*' cache-path <dir>.
  • 插件不是 Zsh 的标准部分,因此根本没有标准位置。

推荐阅读