Had to check since this is something I’ve been wondering myself, but apparently not possible. From the fish FAQ:
Because history substitution is an awkward interface that was invented before interactive line editing was even possible. Instead of adding this pseudo-syntax, fish opts for nice history searching and recall features. Switching requires a small change of habits: if you want to modify an old line/word, first recall it, then edit.
However, for the use case here, with sudo:
As a special case, most of the time history substitution is used as
sudo !!
. In that case just press Alt+S, and it will recall your last commandline withsudo
prefixed (or toggle asudo
prefix on the current commandline if there is anything).