Вы можете сделать это за один проход, но это выглядит ужасно:
:s/\(\d\) *\(\d\) *\(\d\) *\(\d\) */\1\2\3\4 /g
Хотя это работает, это скорее глупо. Это одно из этих двухпроходных решений быстрее, чем потратить 2 минуты на разработку одного Monsteregex ™, который делает это за один проход. Кроме того, двухпроходные решения легче понять.