У меня была эта та же проблема, и я исправил его, преобразовав символы EOL в формат Unix. Простой способ сделать это:
Если уже в формате Unix выберите другой формат (Windows), а затем обратно в UNIX
В командном режиме:
:%s/_reg_\([0-9]\+\)$/[\1]/
Здесь мы используем \ +
для сопоставления одной или нескольких групп числа в конце. Таким образом, у нас нет замены строками типа cad / pqr_reg_
.
Просто используйте это:
:%s/_reg_\([0-9]*\)$/[\1]/
То есть, поймайте номер с помощью \ (
и \)
, а затем распечатайте его с помощью \ 1
. Обратите внимание, что нет необходимости в / g
, потому что вы выполняете это только один раз в строке.