ZSH с Powerlevel10k не работал при запуске терминала

#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.