Вы сопоставляете все , включая сами цифры.
Простой способ выполнить sh то, что вам нужно, это использовать \D
для сопоставления с первым не- ди git символ, а затем удалите до конца строки:
:%s/\D.*//
Обратите внимание, что \D
совпадает с [^0-9]
, который является любым символом за исключением для ди git, поэтому добавление каретки к исходному выражению также сработало бы:
:%s/[^0-9].*//
Вам не нужен /g
в конце (даже если это не больно), так как в каждой строке может быть не более одного совпадения, поскольку совпадение всегда будет расходоваться до конца строки.