Fish's handling of ^ is very annoying for git users

The fact that Fish reserves ^ as a special character is extremely annoying for git users, because ^ is an incredibly common syntactical element in revision specifiers (e.g. HEAD^).

One possible solution would be to redefine Fish's handling of ^ to only treat it specially if it occurs at the beginning of its token. This way I can type HEAD^ without a problem but ^/dev/null would still work. This would be a slight incompatibility with the handling of </>, but given the popularity of Git I'd say it's worth it. Especially since people typically put a space before their redirection operators anyway.