2

Можно ли в vim заменить 1-10 на 1,2,3,4,5,6,7,8,9,10?

И я не говорю :s:1-10:1,23,4,5,6,7,8,9,10 Я имею в виду как команда, которая будет смотреть на диапазон и заменять его соответствующим образом.

1 ответ1

2

Это будет делать то, что вы хотите:

:%s/\(\d\+\)-\(\d\+\)/\=join(range(submatch(1),submatch(2)),',')/g

Конечно, вы можете поместить его в пользовательскую команду:

 :command! -nargs=0 RangeReplace %s/\(\d\+\)-\(\d\+\)/\=join(range(submatch(1),submatch(2)),',')/g

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .