M1 Pro Mac 上的 zsh 需要 20 秒才能加载

M1 Pro Mac 上的 zsh 需要 20 秒才能加载

我有一台 M1 Pro Macbook Pro,我在这台机器上安装了 zsh。但是,当我启动终端会话时,需要 20 多秒才能加载会话。这真的很令人沮丧,我一直找不到解决办法。

zsh 版本:

❯ zsh --version
zsh 5.8.1 (x86_64-apple-darwin21.0)

我尝试过 iTerm2、Hyper 和原生 Mac 终端。两者都需要很长时间才能加载。

以下是我的.zshrc 文件:

export ZSH="$HOME/.oh-my-zsh"
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
typeset -g POWERLEVEL9K_INSTANT_PROMPT=off
ZSH_THEME="powerlevel10k/powerlevel10k"
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion




alias k=kubectl
alias tf=terraform

source ~/powerlevel10k/powerlevel10k.zsh-theme

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
#compdef _velero velero



export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

任何建议都会非常有用。

答案1

检查每个命令/模块的初始化时间

放入zmodload zsh/zprofzshrc第一行,并zprof在zshrc末尾执行。

看看是否有什么东西在初始化中花费了大量时间。删除它并更改将其加载到此类函数中的方式。

loadnvm() {
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
}

相关内容