Более быстрый запуск zsh

Мне нравится tmux, но всякий раз, когда мне нужно создать раскол с новой панелью или новым окном, она должна запускать мои скрипты zsh init и .profile и т. Д. И они занимают несколько секунд для запуска. Инициализация таких вещей, как fasd и т. Д.

Возможно ли запустить его быстрее?

One Solution collect form web for “Более быстрый запуск zsh”

«Инициализация таких вещей, как fasd и т. Д.» – хорошо, что выполнение сложных вещей обязательно займет некоторое время.

Вот несколько общих советов по ускорению запуска zsh:

  • Выполняйте только команды, которые вам действительно нужны. Не используйте огромные общие фреймворки, такие как oh-my-zsh, которые определяют еще один уровень конфигурации, который претендует на удовлетворение потребностей всех (но на самом деле этого не делает).
  • Избегайте выполнения подпроцессов. Для коротких манипуляций с строками используйте встроенные конструкции zsh, а не cut , sed , awk и т. Д.
  • Используйте байт-скомпилированные файлы для чего-то большого.
  • Убедитесь, что информация о завершении кэширования: pass -d для compinit .
  • Загружайте вещи лениво, т.е. при первом использовании. Используйте autoload загрузку.

Чтобы найти то, что так долго, профайл .zshrc .

  • Вы можете получить некоторые измерения из профилировщика zsh. Добавьте zmodload zsh/zprof вверху вашего .zshrc и запустите zprof .
  • Вы можете проследить, что делает zsh (обратите внимание, что сама трассировка замедлит работу, но, в основном, единообразно). Добавить setopt prompt_subst; zmodload zsh/datetime; PS4='+[$EPOCHREALTIME]%N:%i> '; set -x setopt prompt_subst; zmodload zsh/datetime; PS4='+[$EPOCHREALTIME]%N:%i> '; set -x setopt prompt_subst; zmodload zsh/datetime; PS4='+[$EPOCHREALTIME]%N:%i> '; set -x в верхней части вашего .zshrc .
  • Временное сохранение вывода команд оболочки в tmpfs
  • Запретить расширение переменных в контурах
  • Как указать тайм-аут для завершения вкладки в zsh?
  • Livesearch с первыми 10 матчами в качестве предварительного просмотра для zsh-history?
  • LS_COLORS не соблюдается на Cygwin
  • Как реализовать «генераторы», такие как $ RANDOM?
  • Могу ли я предотвратить замедление zsh с большой историей?
  • Различные оболочки для интерактивной и неинтерактивной работы
  • Выполнение скрипта в разрешениях zsh-файла
  • zsh expand-or-complete для всех файлов независимо от команды / контекста
  • Определение псевдонима и его немедленное использование
  • Linux и Unix - лучшая ОС в мире.