Более быстрый запуск 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 .
  • Гибридный код в сценариях оболочки. Обмен переменными
  • Как обновить приглашение на изменение каталога
  • Как я могу расширить все переменные в командной строке в Zsh?
  • Могу ли я использовать встроенный подстановочный знак Zsh для замены использования `find` здесь?
  • Bash и / или Zsh: Возможно ли настроить режим вставки Vi для создания привязки, которая перемещает определенное количество символов?
  • как grep для пакетов на основе несжатого размера файла?
  • Как функция может вызвать функцию, которую она «переопределяет»?
  • Безмоментный запуск задачи в фоновом режиме
  • сбросить терминал с помощью сочетания клавиш (без клавиши ввода)
  • Отметьте дескриптор как терминал для теста -t
  • Поддерживают ли оболочки рекурсию?
  • Автозаполнение zsh без запроса
  • Linux и Unix - лучшая ОС в мире.