Jonas Vingegaard has claimed a commanding fifth stage win to all but seal the pink jersey at the Giro d'Italia while Australia's Jai Hindley finished third.