Eu realmente gosto da incsearch
funcionalidade do Vim . Existe uma maneira de tê-lo, ou algo semelhante, funcionando enquanto eu faço uma substituição?
Por exemplo, se estiver no modo normal, digite:
:%s/potato/
Posso potato
destacar todos os s no meu arquivo, assim como eles são destacados incsearch
quando escrevo
/potato
?
Isso já me ajudaria bastante ao usar expressões regulares. Um muito, muito bom ter, quando escrevo isto:
:%s/potato/banana/
Ele substituiria potato
s por banana
s e destacaria-os - talvez as substituições devam ter uma cor diferente. Não foi possível "confirmar" a alteração até que eu pressione enter.
Estou usando o neovim no momento, caso isso ajude.
incsearch
?hlsearch
deve funcionar ootb, se eu digitar:%s/potato/\0/
para substituirpotato
por si mesmo, então eu vejo todas as correspondências destacadas.:/pattern<CR>
funciona bem e adicione o% s e a string de substituição. Thene novamente refina a pesquisa e usa CTR-R / para colar na parte de pesquisa de #:%s/
:%s/potato/carrot/c
permitirá que você pule ("confirme") suas substituições (adicioneg
para substituir todas as instâncias na mesma linha) ehlsearch
você as verá com antecedência.Respostas:
Após algumas pesquisas, encontrei esse problema do NeoVim , que por sua vez foi encerrado por este PR , o que me levou à
inccommand
configuração. Adicionando isso ao meu arquivo de configuração:faz com que o NeoVim se comporte quase exatamente como solicitei na minha pergunta. Não encontrei algo equivalente ao Vim comum, mas não o procurei com muita energia.
fonte
incsearch
em subtitutions (sendo um Vimmer preguiçosos e lentos em adotar coisas neo) eu provavelmente procurar batata (/potato
) apreciando ordinária pesquisa incremental highlighighting, e, em seguida, substituir com uma pesquisa vazia:%s//banana
. Mas não sei como isso se comparaset inccommand=nosplit
em outros aspectos.inccommand
cenário que fiz um asciinema mostrando-o no trabalho, caso isso o motive a dar uma chance ao neovim