我目前正在尝试使用几个git子模块(如dotbot和dotbot-brewfile )来开发dotfiles存储库。我想在这篇文章中问几个问题,以确保我更好地处理与zsh相关的插件和powerlevel10k主题。
~/dotfiles/Homebrew/Brewfile
tap 'romkatv/powerlevel10k'
brew 'zsh-syntax-highlighting'如果我用国产软件安装powerlevel10k,还需要添加这个命令吗?
- description: install powerlevel10k
command: "if [ ! -d ~/.oh-my-zsh/custom/themes/powerlevel10k ]; then git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $HOME/.oh-my-zsh/custom/themes/powerlevel10k; fi"我还试图找出我遗漏了什么,以便在我的zshrc文件中可以使用下面的zsh插件。我需要从自制软件下载每一个吗?然后,我需要弄清楚,因为这是为我的dotfiles,有文件,我需要源,以便我的zshrc文件知道这些插件在哪里。
~/dotfiles/zsh/..zshrc
plugins=(zsh-autosuggestions zsh-syntax-highlighting)发布于 2022-03-12 02:15:02
您询问的命令将下载zsh-syntax-highlighting并将其安装到特定的位置。另外,它应该以不同的方式编写,以说明任何将其ZSH_CUSTOM变量设置为非默认值的人。无论您的自定义文件夹设置如何,$HOME/.oh-my-zsh/custom/themes/powerlevel10k部分都应该是${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k,这样它才能按预期工作。
也就是说,您可能不想使用该命令(如果您想要brew安装)。如果使用它可以修复一些问题,那就意味着您可能没有使用brew安装到的位置。在试图更新或查找东西时,这可能会让人感到困惑。另一种方法是删除插件的brew安装,而只使用以下命令(替换我提到的部分)。
设置插件的上下文
看上去你可能在用哦-天哪。通常,它将环境变量ZSH设置为它安装的目录(通常在主目录中,在以句点AKA $HOME/.oh-my-zsh开头的目录中)。您可能还会看到它设置了环境变量ZSH_CUSTOM (默认是$ZSH/custom,在默认上下文中,这是另一种表示$HOME/.oh-my-zsh/custom的方式,但我个人喜欢在其他地方设置它,比如dotfiles目录中的另一个目录)。
了解$ZSH和$ZSH_CUSTOM,并了解这些值,可以更容易地理解插件是否可以安装(以及从哪个位置安装)。在每个目录中(对于每个目录设置的位置),我们都希望它们有plugins/和themes/目录。我们还期望一个子目录(为了匹配所需的插件名称而编写)至少位于$ZSH_CUSTOM/plugins或$ZSH/plugins目录中的一个目录中。如果两个地方都存在插件,那么$ZSH_CUSTOM/plugins插件将优先使用。
示例:
如果.zshrc文件中有以下内容(使用假插件名):
plugins=(first-plugin another-plugin third-doohickey favorite-thingy)虽然存在以下目录(注意不正确的破折号和下划线):
$ZSH_CUSTOM/plugins/first-plugin/
$ZSH_CUSTOM/plugins/another_plugin/
$ZSH_CUSTOM/plugins/fourth-thing/
...
$ZSH/plugins/some-plugin/
$ZSH/plugins/another-plugin/
$ZSH/plugins/favorite-thingy/
...
<some-other-directory>/plugins/third-doohickey/
...然后,假设目录中有预期的文件,那么加载的插件的实际来源(按顺序排列)是:
$ZSH_CUSTOM/plugins/first-plugin/
$ZSH/plugins/another-plugin/
$ZSH/plugins/favorite-thingy/注意,它永远不会找到third-doohickey,因为它不在一个有效的位置。当然,插件变量中没有列出的插件将被忽略。
插件顺序
虽然不常见,但有时您列出的顺序(因此来源)插件确实重要。具体来说,我相信我听说最好让zsh-syntax-highlighting尽可能接近尾声,zsh-autosuggestions应该紧随其后。他们应该是那个顺序的最后两个。我不能百分之百确定这有多少是真的,但这就是我得到的。
摘要
这一切都表明,如果您的brew安装(甚至是您提到的命令)将插件放在一个与$ZSH_CUSTOM/plugins或$ZSH/plugins不匹配的目录中,它将无法工作。您可以更改文件位置,也可以根据需要更改变量值。
类似地,列表后面的插件可以覆盖先前的插件设置,但是需要知道其他插件上下文的插件需要稍后列出。否则,它不会像你想的那样工作,至少在你修好订单之前是这样。
#zsh #噢-我的-zsh #shell #dotfiles #zshrc
https://stackoverflow.com/questions/71167835
复制相似问题