首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装ZSH插件,以便在ZSH文件中使用

安装ZSH插件,以便在ZSH文件中使用
EN

Stack Overflow用户
提问于 2022-02-18 02:46:04
回答 1查看 2K关注 0票数 0

我目前正在尝试使用几个git子模块(如dotbot和dotbot-brewfile )来开发dotfiles存储库。我想在这篇文章中问几个问题,以确保我更好地处理与zsh相关的插件和powerlevel10k主题。

~/dotfiles/Homebrew/Brewfile

代码语言:javascript
复制
tap 'romkatv/powerlevel10k'
brew 'zsh-syntax-highlighting'

如果我用国产软件安装powerlevel10k,还需要添加这个命令吗?

代码语言:javascript
复制
 - 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

代码语言:javascript
复制
plugins=(zsh-autosuggestions zsh-syntax-highlighting)
EN

回答 1

Stack Overflow用户

发布于 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文件中有以下内容(使用假插件名):

代码语言:javascript
复制
plugins=(first-plugin another-plugin third-doohickey favorite-thingy)

虽然存在以下目录(注意不正确的破折号和下划线):

代码语言:javascript
复制
$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/
...

然后,假设目录中有预期的文件,那么加载的插件的实际来源(按顺序排列)是:

代码语言:javascript
复制
$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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71167835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档