use*_*503 4 macos zsh autocomplete zshrc oh-my-zsh
标题中有一个简单的总结,但需要进一步解释:
每当我打开终端(iterm2)时,我都会加载到 zsh 但完成似乎不起作用,然后当我手动运行时source .zshrc它会完全加载。我尝试移动 .zshrc 文件中的内容以查看加载顺序是否不正确,但它没有解决任何问题。
我的 .zshrc 文件:
# ZSH customization
export ZSH="/Users/user/.oh-my-zsh"
source $ZSH/oh-my-zsh.sh
plugins=(git docker asdf zsh-autosuggestions zsh-completions zsh-history-substring-search zsh-syntax-highlighting)
autoload -U compinit && compinit
# color
. "/Users/user/.bin/lscolors.sh" #big color file
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
# alias
alias ip="curl ifconfig.me"
alias ls="gls --color --group-directories-first -hp"
alias ydl="youtube-dl"
alias py="python"
alias code="codium"
# env
export PATH="/usr/local/opt/ncurses/bin:/usr/local/sbin:/usr/local/opt/openssl@1.1/bin:$PATH:/opt/metasploit-framework/bin:$HOME/.bin:$HOME/.cargo/bin"
export EDITOR=/usr/local/bin/codium
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/ncurses/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/ncurses/include"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/ncurses/lib/pkgconfig"
# fzf
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
# inits
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
eval "$(starship init zsh)"
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,如果我需要提供更多信息,请告诉我。
您的.zshrc文件中犯了两个错误:
source $ZSH/oh-my-zsh.sh,那么您也不应该这样做autoload -U compinit && compinit,因为前者包含后者。\ncompinit多次可能会导致问题并减慢 shell\xe2\x80\x99s 的启动速度。每次运行它时,它都会重新初始化完成系统。$fpath这将删除在上一个命令之后以编程方式添加的所有完成条目(而不是从您的 中自动获取)compinit这将删除在上一个运行plugins=( ... )应在运行前设置source $ZSH/oh-my-zsh.sh。\n$plugins无论如何,对你的 shell 来说并不特殊。相反,它是 OMZ 读取的参数。所以,改变你的顶部.zshrc为:
ZSH="/Users/user/.oh-my-zsh"\nplugins=(\n foo\n bar\n ...\n)\nsource $ZSH/oh-my-zsh.sh\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
6538 次 |
| 最近记录: |