Terminal 哦,我的zsh非常慢(加载时间约10秒)

Terminal 哦,我的zsh非常慢(加载时间约10秒),terminal,zsh,oh-my-zsh,zshrc,Terminal,Zsh,Oh My Zsh,Zshrc,我正在使用: Mac OS X 10.10.5 (Yosemite) zsh 5.0.5 oh-my-zsh 问题是,即使打开新的终端选项卡,终端加载时间也太慢,大约10秒 我在这篇博文中尝试了解决方案:但这对我没有帮助 sudo rm -rf /private/var/log/asl/*.asl 谢谢,node给我制造了麻烦,下面是有效的解决方案: 在我的.zshrc中 有关更多信息,请访问: 谢谢请评论主题中的所有git提示代码 我的mac电脑上的zsh速度非常慢。任何命令,比如cd、

我正在使用:

Mac OS X 10.10.5 (Yosemite)
zsh 5.0.5
oh-my-zsh
问题是,即使打开新的终端选项卡,终端加载时间也太慢,大约10秒

我在这篇博文中尝试了解决方案:但这对我没有帮助

sudo rm -rf /private/var/log/asl/*.asl

谢谢,node给我制造了麻烦,下面是有效的解决方案:

在我的.zshrc中

有关更多信息,请访问:


谢谢

请评论主题中的所有git提示代码

我的mac电脑上的zsh速度非常慢。任何命令,比如cd、ls都需要2-5秒,但是在我对主题中的所有git提示代码进行了注释之后,情况就完全不同了


再次享受光滑的天气

这些是我用来优化shell启动速度和减少执行命令的延迟的步骤-

如果您使用的是powerlevel9k,那么我建议您立即切换到。 Powerlevel10k是Zsh的主题。它强调速度、灵活性和开箱即用的体验。它是流行的Powerlevel9k zsh主题的重新实现。给定相同的配置,它看起来完全相同,但渲染提示符的速度要快10-100倍。它在栈的每一个层次上都进行了优化,一直到使用修补版本的libgit2,其扫描repo的速度比原始版本快4倍。它可以消除Zsh启动延迟,即使它不是由具有即时提示等功能的主题引起的

转到“首选项->配置文件->常规->命令”,选择选项命令而不是登录Shell,并将下面的命令粘贴到它旁边的框中。 现在启动新选项卡时,您不会看到打印的上次登录时间。如果zsh不在/usr/local/bin/zsh位置,则需要使用brew安装zsh。mac提供的默认zsh是at/usr/bin/zsh,并且可能使用较旧的版本,如5.2,当与iTerm或oh my zsh一起使用时,可能会导致速度较慢

要在zsh中快速粘贴,请在终端中执行以下命令。 第2点应该已经考虑了缓慢的登录时间。但为了安全起见,请执行以下命令 你可能正在使用大量的插件,它们速度很慢,并且会造成延迟。您需要指出这些插件并删除它们。为此,您将需要zsh分析。请点击此链接了解更多详细信息-
我知道这是一个非常古老的问题,但我尝试了以前的所有答案,过了一段时间问题又出现了。我尽了最大的努力彻底摆脱了我的zsh。但真正的罪魁祸首是.zsh历史。我的历史记录文件包含1000多条命令,正在减慢zsh的速度。清除后,zsh在10秒内从加载状态变为3秒

下面是一个简单的脚本来自动执行此操作

HISTORY="~/.zsh-history" # Path to zsh history file
HISTORY_LOG="path/to/where/you/wan't/to/save/history"
MAX_HISTORY=100 # Maximum lines to keep in history

if [[ $(expr $(wc -l < $HISTORY) \> $MAX_HISTORY) = "1" ]]; then
    cat $HISTORY >> $HISTORY_LOG && echo '' > $HISTORY
fi
将此脚本添加到启动时运行,当它达到100行以上时,它将清除您的历史记录。我把它保存到另一个地方,以防以后找不到


您还可以更改脚本,使其在历史记录中始终保留100行。也就是说,移除前n行以保持行数100。但我个人更喜欢这种方法。

那么,你找到解决方案了吗??plugins=git评论这一行会有所不同,谢谢这里要注意的是MAX_HISTORY是要保存在历史中的行数,而不是命令数。非常感谢!
login -pfq username /usr/local/bin/zsh -il
mkdir -p $ZSH_CUSTOM/lib && touch $ZSH_CUSTOM/lib/misc.zsh
mkdir -p .hushlogin
HISTORY="~/.zsh-history" # Path to zsh history file
HISTORY_LOG="path/to/where/you/wan't/to/save/history"
MAX_HISTORY=100 # Maximum lines to keep in history

if [[ $(expr $(wc -l < $HISTORY) \> $MAX_HISTORY) = "1" ]]; then
    cat $HISTORY >> $HISTORY_LOG && echo '' > $HISTORY
fi