50

In Fish when you start typing, autocompletion automatically shows the first autocompleted guess on the line itself.

In zsh you have to hit tab, and it shows the autocompletion below. Is there anyway to make zsh behave more like fish in this regard?

(I am using Oh My Zsh...)

Diogo Gomes
  • 125
  • 7
korylprince
  • 1,811
  • 2
  • 14
  • 12

3 Answers3

65

I have implemented a zsh-autosuggestions plugin.

It should integrate nicely with zsh-history-substring-search and zsh-syntax-highlighting which are features ported from fish.

Thiago Padilha
  • 888
  • 7
  • 10
  • Highlighting with this doesn't work for me and a number of others and issues on the github don't seem to be addressed. See https://github.com/tarruda/zsh-autosuggestions/issues/12 – Eli Apr 28 '14 at 14:53
  • @Eli This plugin has recently been rewritten to address many of the issues. Feel free to give it another shot. – Eric Freese Feb 22 '16 at 14:16
  • Here's the thing about zsh-autosuggestions, it cues off of history which is often similar in effect as tab-completion, but it's entirely different. I think what many of us are looking for is for the exact value that tab would complete to be shown, instead. This is a very significant distinction... – Steven Lu Oct 03 '16 at 21:54
  • @StevenLu Tab-completion suggestions have been implemented on a feature branch. Take another look: https://github.com/zsh-users/zsh-autosuggestions/pull/330 – Eric Freese Jun 07 '18 at 05:15
28

Try:

autoload predict-on
predict-on

See:

info zsh --index-search=predict-on

for details.

Stéphane Chazelas
  • 522,931
  • 91
  • 1,010
  • 1,501
11

Follow the steps here to get other features as well: https://github.com/abhigenie92/zsh_to_fish

  1. Install oh-my-zsh
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
  1. Clone necessary plugins.
git clone https://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
  1. Add plugins to ~/.zshrc as
plugins = ( [plugins...] zsh-autosuggestions zsh-history-substring-search zsh-syntax-highlighting)

Note: make sure zsh-syntax-highlighting is the last one in the above list.

  1. Fix background theme issues (Not necessary depends on your theme.) Add the following line to your ~/.zshrc.
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=white'
  1. Restart zsh
source ~/.zshrc

If you like the answer, please consider starring the github repo.

Abhishek Bhatia
  • 221
  • 2
  • 6