Как скрыть предупреждение терминала, когда плагин Oh-my-ZSH не может получить доступ к внешнему приложению

Я давно пользуюсь oh-my-zsh, и он отлично работает. Я хотел бы использовать плагин для нечеткого поиска командной строки, поэтому я включил его в.zshrc:

plugins=(fzf)

Однако, если "fzf" не установлен, я получаю предупреждение при открытии окна моего терминала:

[oh-my-zsh] Плагин fzf: Не удается найти каталог установки fzf. Пожалуйста, добавьте export FZF_BASE=/path/to/fzf/install/dir на ваш.zshrc

Есть ли способ скрыть это предупреждение? Когда я устанавливаю fzf с помощью команды "sudo dnf install fzf", предупреждение исчезает, но, возможно, я хочу клонировать мои точечные файлы на другом компьютере, где он недоступен, и там не так важно находиться там.

5 ответов

Вы должны сначала установить fzf в Mac, и я использую следующую команду для установки brew install fzf

Для использования этого плагина у вас должен быть установлен fzf; в противном случае удалите его. Он ничего не сделает без предварительной установки fzf. Sudo apt install fzf

Когда вы устанавливаете fzf с помощью brew, необходимо установить brew env.
Вы можете установить PATH для fzf перед строкой plugins=(fzf) в файле .zshrc.

Но я рекомендую создать "$HOME/.zprofile" следующим образом.

Для m1 Mac.

      # Set PATH, MANPATH, etc., for Homebrew.
eval "$(/opt/homebrew/bin/brew shellenv)"

Для Intel Mac

      # Set PATH, MANPATH, etc., for Homebrew.
eval "$(/usr/local/bin/brew shellenv)"

Вы можете поставить plugins= линия внутри ifоператор, который проверяет наличие fzf на вашем пути. Например:

if [[ -n $(command -v fzf) ]] ; then
    echo "fzf found, loading oh-my-zsh fzf plugin"
    plugins=(vi-mode fzf)
else
    echo "no fzf was found in the path"
    plugins=(vi-mode)
fi

command -v похоже на which, но лучше для этого контекста, как объясняется в этом ответе. В-n делает [[ ]] оценивать как истину всякий раз, когда $() производит непустой вывод.

Для меня тоже было очень важно, brewсам был на Пути ~/.zshenvвот так:

      export PATH=/opt/homebrew/bin:$PATH 

Установил FZF с brew на M1 Mac.

В противном случае возникает ошибка:

      [oh-my-zsh] fzf plugin: Cannot find fzf installation directory.
Please add `export FZF_BASE=/path/to/fzf/install/dir` to your .zshrc
Другие вопросы по тегам