【问题标题】:oh-my-zsh plugins not workingoh-my-zsh 插件不工作
【发布时间】:2011-10-11 16:07:43
【问题描述】:

我刚刚发现了 oh-my-zsh,但我无法让它工作。虽然主题工作得很好,但插件却不行。我选择了一些插件,例如。 macports,但我既没有完成端口命令,也没有适当的别名工作。这是我的 .zshrc:



    # Path to your oh-my-zsh configuration.
    export ZSH=$HOME/.oh-my-zsh

    # Set name of the theme to load.
    # Look in ~/.oh-my-zsh/themes/
    # Optionally, if you set this to "random", it'll load a random theme each
    # time that oh-my-zsh is loaded.
    export ZSH_THEME="steeef"

    # Set to this to use case-sensitive completion
    # export CASE_SENSITIVE="true"

    # Comment this out to disable weekly auto-update checks
    # export DISABLE_AUTO_UPDATE="true"

    # Uncomment following line if you want to disable colors in ls
    # export DISABLE_LS_COLORS="true"

    # Uncomment following line if you want to disable autosetting terminal title.
    # export DISABLE_AUTO_TITLE="true"

    # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
    # Example format: plugins=(rails git textmate ruby lighthouse)
    plugins=(git osx github macports textmate svn)

    source $ZSH/oh-my-zsh.sh

    # Customize to your needs...
    export     PATH=/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin/:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/local/cuda/bin:/usr/local/cuda/bin:/opt/local/bin:/opt/local/sbin

textmate 和 osx 插件似乎也不起作用 - zsh 只是抱怨未知命令并停止。 git 和 svn 有一些基本的完成,但我不确定它是由插件完成还是只是一个正常的 zsh 完成。我必须导出一些东西才能使用这些插件吗?或者如果没有,该怎么做才能解决这个问题?

【问题讨论】:

  • 您是如何断定它们不起作用的?你能把zsh错误贴在这里吗?
  • 当输入应该可用的命令时,错误只是一个正常的输出,例如“command not found”。
  • 你能粘贴你最终使用的路径吗?我也有同样的问题,真的很有帮助
  • 抱歉,2 年前,我已经更换了系统,不再使用 oh-my-zsh,因为与正确配置的 bash 相比性能较差。

标签: zsh zshrc


【解决方案1】:

确保在初始化 zsh 之前定义了 plugins 变量:

plugins=(git wd)
export ZSH=/home/<user>/.oh-my-zsh
source $ZSH/oh-my-zsh.sh

【讨论】:

  • 我的问题是:在 ZSH lin 之后我有插件栏:
  • 对我来说,解决方案是将source $ZSH/oh-my-zsh.sh 移动到.zshrc 的末尾,在我所有的用户配置之后。
  • 在进一步调查中,在使用bindkey -v 设置 vi 模式并在 vi 模式下重新映射一些 zsh 快捷方式和一些键之前,该问题似乎有 source $ZSH/oh-my-zsh.sh,否则插件将正常工作。问题是,如果您之后采购,vi 模式将停止工作。有问题的 OMZ 插件是 fzf。
  • plugins 之前我有# :D
【解决方案2】:

我被这个咬了。

发生的事情是您进行了手动安装并且手动安装的说明没有提到您需要自己设置PATH

所以你最终得到了默认的 PATH。自动设置代码的源代码会复制您当前的路径并将其附加到 .zshrc,如果您依赖非标准的 PATH 条目(例如,您在 Mac 上运行 Homebrew),这还不够。

所以修复很简单:

启动旧 shell 及其配置文件,然后将 $PATH 的值复制并粘贴到 ~/.zshrc 文件的顶部。

Ciao!

【讨论】:

  • 你知道为什么这会导致你的插件无法工作(zsh 在路径上需要什么?)我似乎无法让我的工作(在 arch linux 上) .
【解决方案3】:

我刚才也遇到了同样的问题!我的 Archlinux 中安装了一个名为 grml-zsh-config 的软件包。我删除了这个包,oh-my-zsh 主题开始工作了。

【讨论】:

    【解决方案4】:

    在我的例子中,在 ~/.zshrc 我有重复的插件变量

    plugins=(git)
    .
    .
    .
    plugins=(git autojump zsh-syntax-highlighting zsh-autosuggestions)
    

    检查您是否属于这种情况,因为这样只会使用您的 git 插件。

    删除第一个插件变量,它应该可以工作。

    【讨论】:

      【解决方案5】:

      我在使用 kubectl 插件时遇到了这个问题。

      查看~/.oh-my-zsh/plugins/kubectl/kubectl.plugin.zsh 的内容,我意识到我的内容与 github repo 上的内容不同。使用来自oh-my-zsh repo 的内容手动更新文件,插件开始工作。猜猜我必须更新我的 oh-my-zsh 安装以获取最新的插件内容,但这对我有用。

      【讨论】:

        【解决方案6】:

        就我而言,我忘记将自定义插件名称添加到 .zshrc 文件中:

        plugins=(customPluginName)
        

        并重新加载 .zshrc:

        source ~/.zshrc
        

        【讨论】:

          猜你喜欢
          • 2017-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-10
          • 1970-01-01
          相关资源
          最近更新 更多