Speed up shell startup: remove duplicate compinit, lazy-load pyenv/nvm
- Remove manual compinit in .zshrc (oh-my-zsh already handles it), eliminating a redundant ~350ms call - Lazy-load pyenv init (~710ms) until first use, matching the existing kubectl lazy-load pattern - Lazy-load nvm init for when it gets installed in the future
This commit is contained in:
parent
e284e4623b
commit
8db9aa926d
3 changed files with 17 additions and 15 deletions
|
|
@ -1,6 +1,14 @@
|
|||
# NVM (Node Version Manager) configuration
|
||||
# Auto-loaded by oh-my-zsh from $ZSH_CUSTOM/tools/
|
||||
# Lazy-loaded: defers nvm init until first use
|
||||
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
|
||||
|
||||
if [[ -s "$NVM_DIR/nvm.sh" ]]; then
|
||||
function nvm() {
|
||||
unfunction nvm
|
||||
\. "$NVM_DIR/nvm.sh"
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
|
||||
nvm "$@"
|
||||
}
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
# Pyenv configuration
|
||||
# Pyenv configuration (lazy-loaded)
|
||||
# Auto-loaded by oh-my-zsh from $ZSH_CUSTOM/tools/
|
||||
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
|
||||
if command -v pyenv >/dev/null 2>&1; then
|
||||
eval "$(pyenv init - zsh)"
|
||||
if (( $+commands[pyenv] )); then
|
||||
function pyenv() {
|
||||
unfunction pyenv
|
||||
eval "$(command pyenv init - zsh)"
|
||||
pyenv "$@"
|
||||
}
|
||||
fi
|
||||
|
||||
# Virtualenvwrapper
|
||||
|
|
|
|||
10
dot_zshrc
10
dot_zshrc
|
|
@ -1,13 +1,3 @@
|
|||
# ============================================================================
|
||||
# Fast compinit - cache completions, regenerate once daily
|
||||
# ============================================================================
|
||||
autoload -Uz compinit
|
||||
if [[ -n ${ZDOTDIR:-$HOME}/.zcompdump(#qN.mh+24) ]]; then
|
||||
compinit
|
||||
else
|
||||
compinit -C
|
||||
fi
|
||||
|
||||
# ~/.zshrc - Zsh configuration for interactive shells
|
||||
# Customizations are in ~/.oh-my-zsh/custom/*.zsh (auto-loaded)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue