如何让 zsh 完成显示同一行上的第一个猜测(如鱼的)?

kor*_*nce 43 zsh autocomplete fish

在 Fish 中,当您开始输入时,自动完成功能会自动显示该行本身的第一个自动完成的猜测。

在 zsh 中,您必须点击选项卡,它会显示下面的自动完成功能。无论如何,有没有让 zsh 在这方面表现得更像鱼?

(我正在使用Oh My Zsh ...)

Thi*_*uda 56

我已经实现了一个zsh-autosuggestions插件。

它应该与zsh-history-substring-searchzsh-syntax-highlighting很好地集成,这些特性是从鱼移植过来的。


Sté*_*las 28

尝试:

autoload predict-on
predict-on
Run Code Online (Sandbox Code Playgroud)

看:

info zsh --index-search=predict-on
Run Code Online (Sandbox Code Playgroud)

详情。

  • 这在技术上是正确的答案。然而,与目前的鱼相比,zsh 预测支持相当糟糕(至少在我测试的配置下)。 (7认同)

小智 7

按照此处的步骤获取其他功能:https : //github.com/abhigenie92/zsh_to_fish

  1. 安装 oh-my-zsh
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Run Code Online (Sandbox Code Playgroud)
  1. 克隆必要的插件。
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Run Code Online (Sandbox Code Playgroud)
  1. 添加插件~/.zshrc
plugins = ( [plugins...] zsh-autosuggestions zsh-history-substring-search zsh-syntax-highlighting)
Run Code Online (Sandbox Code Playgroud)

注意:确保 zsh-syntax-highlighting 是上面列表中的最后一个。

  1. 修复背景主题问题(不需要,取决于您的主题。)将以下行添加到您的~/.zshrc.
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=white'
Run Code Online (Sandbox Code Playgroud)
  1. 重启zsh
source ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

如果您喜欢这个答案,请考虑为 github 存储库加注星标。