Как скрыть предупреждение терминала, когда плагин 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