"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char "\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-charThe 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 :)
It avoids pauses when doing `git status` on gigantic repos.
Thank you, and yes, that's when you don't use fish.
The point of fish is being for people who are fine with the defaults set by the authors. It's the core selling point.
I just checked and the only things I have configured are `set fish_greeting` (i.e. empty) and some paths...
Edit: Also, I don't know how, but the fish completion is magic. It seems to remember which commands I use often in which folders and in which order. I'm not sure if that's how it's implemented. Sure feels that way though.
Check ~/.local/share/fish/fish_history!
Nonetheless, what moved me from bash to fish was having this as granted. Now I worry only about specific higher-level functions. Also hunting each of these optimizations distracts me from my task at hand.
There's other stuff as well, for instance I'm abusing `for` iterations a lot more to run the same command for lists of things. Using bash before was less ergonomic and painful.