https://tiswww.case.edu/php/chet/readline/rluserman.html - GNU Readline User Interface (info rluserman)
https://tiswww.case.edu/php/chet/readline/readline.html - The GNU Readline Library (info readline, long-form equivalent to the readline(3) man page)
Why these are hidden away on some random .edu web site rather than being under gnu.org... -\_:/_/-
(OK, to be fair it's on the official GNU Readline web page, but why _that_ isn't on gnu.org is the real source of my shrug!)
The Bash manual also includes a brief summary of readline usage (I guess they too didn't know where to find Readline's official documenation) and can be read at https://www.gnu.org/software/bash/manual/html_node/Readline-... or info '(bash)Readline'.
If you put it in ~/.inputrc, you will get vi mode in all tools/shells which are using Readline like mysql, rlwrap, psql...
https://github.com/pkrumins/bash-vi-editing-mode-cheat-sheet...
Along the same lines of the article, these things have served me well:
This one is great for just getting the quick commands to help you get around the command line more efficiently
https://readline.kablamo.org/emacs.html
This one gives you all the exhaustive options around how you can tweak readline via your inputrc file
https://linux.die.net/man/3/readline
Its sounds really dumb, but after getting to know the bash and readline man pages I have stopped using fish and zsh and just started using more vanilla bash and built in linux tools and its been fantastic. I don't feel like I have lost any productivity and my terminal is a lot more responsive.