zsh 启动更快

iLe*_*ing 4 performance zsh profiling

我喜欢 tmux,但是每当我需要使用新窗格或新窗口创建拆分时,它都必须运行我的 zsh init 脚本和.profile等等。它们大约需要几秒钟才能运行。初始化诸如fasd 之类的东西。

有没有可能让它更快启动?

Gil*_*il' 7

“初始化诸如 fasd 之类的东西。” ——好吧,做复杂的事情肯定需要一些时间。

以下是一些加速 zsh 启动的通用技巧:

  • 只运行你真正需要的命令。不要使用像 oh-my-zsh 这样的大型通用框架,它定义了另一个假装迎合所有人的配置层(但实际上并不如此)。
  • 避免运行子进程。对于短字符串操作,使用的zsh的内置结构,不cutsedawk,等。
  • 对任何大的文件使用字节编译文件。
  • 确保缓存完成信息:传递-dcompinit.
  • 懒惰地加载东西,即第一次使用。autoload随意使用。

要找到需要这么长时间的内容,请分析您的.zshrc.

  • 您可以从 zsh 分析器获得一些测量值。zmodload zsh/zprof在您的顶部添加.zshrc并运行zprof.
  • 您可以跟踪 zsh 正在做什么(请注意,跟踪本身会减慢速度,但以几乎一致的方式)。添加setopt prompt_subst; zmodload zsh/datetime; PS4='+[$EPOCHREALTIME]%N:%i> '; set -x在您的.zshrc.