Ao pesquisar, destaquei a sequência que quero alterar. Agora eu quero substituir apenas o texto destacado. Estou usando n
para avançar para a próxima instância da string de pesquisa. Eu estava pensando que poderia fazer algo assim, ciw
mas isso muda a palavra inteira e não apenas o texto destacado.
Estou familiarizado, :%s/old/new/g
mas não quero alterar todas as instâncias. Em vez disso, quero avançar meu cursor para cada instância e depois decidir se devo alterá-lo.
gn
, então, aqui está um método semelhante que eu acabei de descobrir:c//e<CR>FooBar<Esc>//<CR>
:%s/oldtext/newstuff/g
mudará todas as correspondências deoldtext
paranewstuff
..
várias vezes, eu posso usar:%norm .
( fonte ).Se você já pesquisou uma palavra com
/word
ou?word
.Você pode
:%s//newword/gc
substituir a palavra pesquisada anteriormentenewword
, deixando o termo de pesquisa (s//..
) vazio.A
c
bandeira diz que todas as alterações devem ser confirmadas pressionandoy
sim oun
não.Dê uma olhada
:help :s_flags
para obter mais informações sobre o sinalizador de confirmação.fonte
l
,a
eq
(ou<Esc>
) para várias maneiras de encerrar o ciclo de confirmação.Método 1
Você pode tirar proveito dos mapeamentos
gn
egN
para realizar o que deseja.gn
procurará o último termo de pesquisa usado e selecionará visualmente a correspondência.gN
faz exatamente a mesma coisa, exceto que pesquisa para trás. Quando combinado com um operador comoc
, o operador será aplicado à correspondência. Por exemplo, se sua última string de pesquisa for "foo" e você digitarcgn
, ela procurará a próxima instância de "foo", exclua-a e colocá-lo no modo de inserção para inserir o texto de substituição.Para mais informações, consulte
:help gn
e:help gN
.Método # 2
Você pode usar o
:substitute
comando com ac
bandeira. Isso solicitará que você confirme cada substituição. Por exemplo, suponha que você queira substituir foo por bar no arquivo inteiro, mas deseje confirmar cada substituição:Para saber mais sobre isso, consulte estes tópicos da Ajuda:
:help :s_flags
,:help cmdline-ranges
, e:help :substitute
.fonte