#zsh #oh-my-zsh
#zsh #о, мой zsh
Вопрос:
Я использую Fedora 31 и установил ZSH (Oh-my-zsh) с PowerLevel10k. Когда я открываю gnome-terminal, я получаю ZSH в качестве оболочки по умолчанию, как я и ожидал. Но Powerlevel10k загружается только при вводе: source ~/.zshrc
Это содержимое моего файла zshrc:
plugins=(git)
source $ZSH/oh-my-zsh.sh
ZSH_THEME=powerlevel10k/powerlevel10k
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
"~/.zshrc" 110L, 4104C
Еще одна важная вещь заключается в том, что каждый раз, когда я печатаю source ~/.zshrc
, я получаю следующую ошибку, но с Powerlevel10k все работает нормально:
[ERROR]: When using instant prompt, Powerlevel10k must be loaded before the first prompt.
Комментарии:
1. Итак, реальная проблема в том, что zsh не является исходным кодом вашего
~/.zshrc
при запуске? Можете ли вы подтвердить, что это действительно так? Если да, это нужно исправить в первую очередь.2. Я действительно не знаю, проблема ли в этом, потому что ZSH работает очень хорошо, но когда я набираю команду «source», у меня тоже работает powerlevel10k.
3. Но тогда это тривиально для отладки, поскольку интерактивный zsh в любом случае должен иметь исходный код .zshrc. Просто включите трассировку, чтобы увидеть, что происходит!
Ответ №1:
Вам нужно переместиться ZSH_THEME=powerlevel10k/powerlevel10k
выше source $ZSH/oh-my-zsh.sh
. ZSH_THEME
указывает Oh My Zsh, какая тема должна быть загружена, поэтому ее необходимо установить перед исходным кодом Oh My Zsh.