Earlier quoted context omitted.
You can easily get bash to do that by adding these lines to your .inputrc file. "\e[A": history-search-backward "\e[B": history-search-forward "\e[C": forward-char "\e[D": backward-char
Most things in fish can be achieved with customization and configuration in other shells, like zsh or bash. The point of fish is a sane set of defaults that doesn't require customization and is good enough.
Comparable functionality in zsh would be 500loc of ultra obscure tweaks :)