Q:

Fish shell, disable pager navigation through Tab / Shift Tab

Fish is a great shell (the best?) but its completion interface has a particular quirk that I personally don't like and would like to disable. It's expressed by this sentence in the tutorial:

Hit tab again to cycle through the possibilities.

This means that, after hitting tab to complete the longest common prefix (behavior A) and showing a menu of further entries, if you hit Tab again you start cycling through the entries (behavior B).
If there a way to disable behavior B of the Tab key, or bind it to a different key, while keeping behavior A?

A:

In the fish shell, tab will complete the common prefix unless the common prefix is empty, in which case it will start the pager. This particular behavior is not configurable.
The pager has lots of ways to navigate inside it:

Use tab for next, shift-tab for previous
Use the arrow keys to move in cardinal directions
Press control-S to reveal a search field for further filtering
Escape to cancel, putting you back from before triggering the pager

Escape (via the cancel binding) saves you from needing to backspace if you change your mind.
It is possible to replace the default behavior of tab. For example to make tab do nothing if the pager is visible:
 bind \t 'if not status -P ; commandline -f complete; end'

This says "if the pager is not shown, then perform the 'complete' readline function".

