Você pode usar algo como:
%s/\('[0-9]\),/',/
Ele usa \(
e \)
para criar um grupo de seleção que é referenciado por (que significa primeiro grupo) no lado substituto.
Eu tenho as seguintes linhas:
'0,
'1,
'2,
'3,
Como colocar uma citação antes da vírgula?
Já experimentei o seguinte:
%s/[0-9],/&/g
so & aqui substitui o padrão correspondente ...
Você pode usar algo como:
%s/\('[0-9]\),/',/
Ele usa \(
e \)
para criar um grupo de seleção que é referenciado por (que significa primeiro grupo) no lado substituto.
Se você quiser mover a cota de lugar antes do número para um lugar antes da vírgula, use o agrupamento
%s/'\([0-9]\),/',/
ou para colocar outra aspa antes da vírgula, inclua-a no primeiro grupo:
%s/\('[0-9]\),/',/
Normalmente eu uso macros para tarefas como esta.
qqEi'<Esc>0jq3@q
fará o trabalho (note que a parte <Esc>
é uma tecla de escape pressionada, e não 5 teclas separadas). Aqui está um resumo:
qq
começa a gravar uma macro e a atribui à chave q
. Ei'<Esc>
vai para o final da palavra e insere o '
. 0j
vai para o começo da próxima linha. q
termina a gravação. 3@q
reproduz a macro 3 vezes, aplicando a mesma coisa às outras 3 linhas. Substitua 3
pelo número de linhas que você tem.
%s/,$/',/g
$ é o fim da linha
Talvez você tenha se esquecido de definir a forma geral em que você precisa que isso funcione. Para fazer exatamente o que você pediu sem adivinhar, esta é a solução mais simples (preguiçosa!) Que funciona para sua entrada de exemplo:
%s/,/',/
Se você quiser lidar com casos mais complexos também, deve escrever exemplos melhores, incluindo o caso mais complexo, em que você precisa da substituição de padrão para funcionar e, idealmente, um exemplo da saída de destino também.