【问题标题】:My ZSH completions won't work on start but they do when I source .zshrc (Mac)我的 ZSH 完成在开始时不起作用,但在我获取 .zshrc (Mac) 时它们会起作用
【发布时间】:2021-05-11 10:06:33
【问题描述】:

标题中有一个简单的总结,但要进一步解释:

每当我打开终端 (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)"

任何帮助将不胜感激,如果我应该提供更多信息,请告诉我。

【问题讨论】:

  • @AbanoubAsaad 刚刚尝试过,给出了相同的结果。也尝试了 INSTALL.md 文件中描述的第二种方法,但也没有用。
  • @AbanoubAsaad 您将自动建议与完成混淆了。它们是两种不同的东西。
  • @MarlonRichert 感谢您的澄清。

标签: macos autocomplete zsh oh-my-zsh zshrc


【解决方案1】:

您在 .zshrc 文件中犯了两个错误:

  1. 如果你做source $ZSH/oh-my-zsh.sh,那么你不应该也做autoload -U compinit && compinit,因为前者包括后者。
  2. plugins=( ... ) 应该在执行source $ZSH/oh-my-zsh.sh 之前完成。前者本身不做任何事情。

所以,将.zshrc 文件的顶部更改为:

# ZSH customization
export ZSH="/Users/user/.oh-my-zsh"
plugins=(git docker asdf zsh-autosuggestions zsh-completions 
    zsh-history-substring-search zsh-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
# color
[...]

【讨论】:

  • 谢谢!这解决了它。
猜你喜欢
  • 2014-08-22
  • 2020-01-10
  • 1970-01-01
  • 2019-05-10
  • 1970-01-01
  • 2014-04-29
  • 2015-12-12
  • 1970-01-01
  • 2021-09-27
相关资源
最近更新 更多