I found myself using the auto-complete functionality of the fish-shell, where pressing tab twice or more cycles through the suggestions. But then I accidentaly pressed tab once to many, and I wanted to go back to the previous suggestion, so I pressed shift-tab, which only appended [z to the command.

For example, when I type cd Dtabtab:

~> cd Desktop/

I press tab, result:

~> cd Documents/

Now when I press <shift+tab>, the prompt changes to ~> cd Documents/[Z instead of returning to the desired:

~> cd Desktop/

How do I do this (preferably using the fish_user_key_bindings.fish file)? The documentation only provides the special function complete.

  • Is there not an "undo" or anything? May 12, 2015 at 12:41

2 Answers 2

  • As you said "The documentation only provides the special function complete" . you can't go back to previews suggestion because this feature isn't implemented .

  • but for defining a new binding you have to use fish_user_key_binding function NOT .fish file : open your configuration file ~/.config/fish/config.fish

and add :

function fish_user_key_bindings
        bind [Z complete
  • restart your fish , this well bind shift+tab for complete
  • I don't need another keybinding for complete, I need a keybinding to go back to the previous suggestion. I guess you're right and it just isn't implemented...
    – Sebastian
    Jun 29, 2014 at 19:13

Consider using zsh instead.

The exact details of its autocompleter are of course configurable to your personal tastes, but the way I have it set up is if I press Tab twice, I get a "menu" that I can navigate using the Tab key or the arrow keys, like so:

ZSH Completion

Once I've selected the entry I want, I can press Enter to tell zsh this is what I want, or I can just continue typing and zsh will assume that's correct.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .