You don't even need the (ls) for file iteration:
for i in *
echo $i
end
Fish also has globstar out of the box, so you can do for i in **/*
echo $i
end