Vim substitui um intervalo de números

2

É possível no vim substituir 1-10 por 1,2,3,4,5,6,7,8,9,10 ?

E eu não estou falando de :s:1-10:1,23,4,5,6,7,8,9,10 Quero dizer, como um comando que vai olhar para o intervalo e substituí-lo adequadamente.

    
por user360691 24.08.2014 / 19:50

1 resposta

2

Isso fará o que você quiser:

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

Claro, você pode querer colocá-lo dentro de um comando definido pelo usuário:

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

Tags