Eu faria isso com uma macro, eu mesmo. Supondo que o cursor esteja no início da primeira linha:
qqyeea("<C-R>0")<ESC>v%gu+q3@a
É bem menos digitação dessa maneira e não requer que você se lembre da sintaxe regex do vim. Muitas vezes, pode ser muito mais rápido fazer esse tipo de conversão de texto usando uma macro do que usando um comando substituto.
Quebrando minha solução:
-
qa
começa a gravar uma macro no registrador 'a'.
-
ye
yanks da posição atual do cursor até o final da palavra, armazenando-a no registrador "e 0" (só acessarei através do registrador 0, mas ela é armazenada em ambos)
-
e
move o cursor para o final da palavra
-
a
entra no modo de inserção APÓS o cursor (então entre a palavra e a vírgula)
- Em seguida, insiro um texto padrão. O bit interessante é o
<C-R>0
. No modo de inserção, <C-R>n
significa "insira o texto que está no registrador n". Se eu estivesse fazendo essa tarefa normalmente (em vez de explicá-la para outra pessoa em formato de texto), usaria <C-R>"
aqui, mas o 0
é mais fácil de distinguir visualmente dos "caracteres circunvizinhos".
-
<ESC>
nos retorna ao modo normal. O cursor está agora no fechamento), que foi o último caractere que digitamos no modo de inserção.
-
v
entra no modo visual.
-
%
pula o cursor de volta para o parêntese aberto, correspondendo ao parêntese de fechamento no qual estamos atualmente, então nossa seleção visual agora cobre a string ("DRAFT")
.
-
gu
converte a string visualmente selecionada em minúscula. Isso não tem efeito sobre os parênteses ou citações na seleção visual.
-
+
avança o cursor para o início da próxima linha, pronto para executar o mesmo conjunto de comandos novamente.
-
q
termina de gravar a macro.
-
3@a
executa a macro 'a' três vezes, repetindo assim tudo o que fizemos na primeira linha nas três linhas subsequentes.