vim
è uno degli editor di file più popolari in Linux. Parte della popolarità è dovuta alla modalità della riga di comando di vim, che consente agli utenti, in particolare agli sviluppatori di software e agli utenti avanzati, di ottimizzare il tempo per le operazioni di modifica dei file.
In questo articolo vedremo come trovare e sostituire il testo in vim
modalità riga di comando.
Per prima cosa, apriamo un file di testo in vim:
vim test.txt
Vim opera in varie modalità. Le due modalità più importanti sono la modalità di comando menzionata sopra e la seconda è la modalità di inserimento, utilizzata per modificare il contenuto del file.
Per impostazione predefinita, quando viene aperto un file, vim opera in modalità comando. È possibile premere i
per passare alla modalità di inserimento.
In modalità Command, puoi iniziare direttamente a digitare i comandi vim; appaiono nella parte inferiore del terminale. Questa parte inferiore funge da prompt dei comandi integrato in vim.
Per cercare una stringa , digita la barra rovesciata /
seguita dalla stringa da cercare.
For example:
/dog
Come visto sopra, porta il cursore all'occorrenza successiva della stringa dalla posizione in cui è posizionato il cursore. Il cursore è stato posizionato sulla stringa brown
come mostrato in un'immagine precedente. Per trovare le occorrenze successive, premere n
. Dopo l'ultima occorrenza, torna al primo, dando un messaggio “ricerca hit BOTTOM, continuando in TOP” .
Per cercare una stringa con un carattere speciale , o ad esempio caratteri come un più (+) o uno spazio, precedere il carattere con una barra:
For example:
/C\+
Per trovare e sostituire la prima occorrenza della stringa su una riga , posizioniamo il cursore su quella riga e usiamo il seguente comando:
For example:
:s/dog/tiger
Come puoi vedere nello screenshot qui sopra, la terza riga in cui è posizionato il cursore, la parola dog
è stata sostituita con tiger
come indicato nel comando.
Per trovare e sostituire tutte le occorrenze di string su una riga , usa /g
alla fine.
For example:
:s/cat/dog/g
Per trovare e sostituire tutte le occorrenze a livello globale , usiamo %s
invece di solo s
:
For example:
:%s/dog/mouse
Se la stringa è costituita da un carattere speciale come lo spazio, può essere preceduta da una barra, come mostrato in precedenza.
🍻 Saluti!