Risposte:
Aggiungi il flag c (nel prompt dei comandi di vim):
:%s/old/new/gc
ti darà un prompt sì / no ad ogni occorrenza di "vecchio".
La guida integrata di Vim offre informazioni utili sulle opzioni disponibili una volta selezionata la sostituzione con conferma. Uso:
:h :s
Quindi scorrere fino alla sezione sulle opzioni di conferma. Schermata seguente:
Ad esempio, per sostituire questa e tutte le partite rimanenti, utilizzare a
.
Mark Biek ha sottolineato utilizzando:
%s/old/new/gc
per una ricerca globale sostituire con la conferma per ogni sostituzione. Ma mi piace anche verificare interattivamente che il vecchio testo corrisponda correttamente. Prima eseguo una ricerca con una regex, quindi riutilizzo quel modello:
/old.pattern.to.match
%s//replacement/gc
Il s//
utilizzerà l'ultimo modello di ricerca.
Penso che tu stia cercando c
, ad esempio s/abc/123/gc
, questo farà sì che VIM confermi le sostituzioni. Vedi: aiuto: sostituire per ulteriori informazioni.
Di solito uso il comando find / substitute / next / repeat :-)
/old<CR>3snew<ESC>n.n.n.n.n.n.n.
Quella find "old"
, substitute 3 characters for "new"
, find next
, repeat substitute
, e così via.
È una sofferenza per le sostituzioni di massa, ma ti consente di ignorare selettivamente alcune occorrenze di una volta (semplicemente premendo di n
nuovo per trovare la successiva invece di .
ripetere una sostituzione).
<CR>
?
Se il testo sostitutivo deve cambiare per ogni occorrenza corrispondente (ovvero non semplicemente scegliendo Sì / No per applicare una sostituzione singolare) è possibile utilizzare un plug-in Vim che ho creato chiamato interattivo-sostituisci .
Neovim ora ha una funzione per visualizzare in anteprima la sostituzione:
Immagine tratta da: https://medium.com/@eric.burel/stop-using-open-source-5cb19baca44d Documentazione della funzione: https://neovim.io/doc/user/options.html# 'inccommand'
nvim
funzionalità integrata, buono a sapersi! Grazie per la condivisione!