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. puoi premere io
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 barra rovesciata /
seguito dalla stringa da cercare.
Ad esempio: /cane
Come visto sopra, porta il cursore all'occorrenza successiva della stringa dalla posizione in cui è posizionato il cursore. Il cursore è stato posizionato sulla stringa Marrone
come mostrato in un'immagine precedente. Per trovare le occorrenze successive, premere n
. Dopo l'ultima occorrenza, torna alla prima, dando un messaggio “ricerca ha colpito BOTTOM, continuando a TOP”.
Per cercare una stringa con un carattere speciale, o ad esempio caratteri come un più (+) o uno spazio, precedono il carattere con una barra:
Ad esempio: /C\+
Per trovare e sostituire la prima occorrenza della stringa su una riga, posizioniamo il cursore su quella riga e usiamo il seguente comando:
Ad esempio: :s/cane/tigre
Come puoi vedere nello screenshot qui sopra, la terza riga in cui è posizionato il cursore, la parola cane
è stato sostituito con tigre
come indicato nel comando.
Per trovare e sostituire tutte le occorrenze di stringa su una riga, uso /G
alla fine.
Ad esempio: :s/cat/dog/g
Per trovare e sostituire tutte le occorrenze a livello globale, noi usiamo %S
invece di solo S
:
Ad esempio: :%s/cane/topo
Se la stringa è costituita da un carattere speciale come lo spazio, può essere preceduta da una barra, come mostrato in precedenza.
? Saluti!