Com trobar i substituir text a Vim a Linux

vim és un dels editors de fitxers més populars a Linux. Part de la popularitat es deu al mode de línia d'ordres de vim, que permet als usuaris, especialment desenvolupadors de programari i usuaris avançats, optimitzar el temps per a les operacions de modificació de fitxers.

En aquest article, veurem com trobar i substituir text vim mode de línia d'ordres.

Primer, obrim un fitxer de text a vim:

vim test.txt

Vim funciona en diferents modes. Els dos modes més importants són el mode d'ordres esmentat anteriorment, i el segon és el mode d'inserció, utilitzat per modificar el contingut del fitxer.

Per defecte, quan s'obre un fitxer, vim funciona en mode d'ordres. Podeu prémer i per anar al mode d'inserció.

En el mode d'ordres, podeu començar directament a escriure ordres vim; apareixen a la part inferior del terminal. Aquesta part inferior actua com a indicador d'ordres integrat a vim.

Per buscar una cadena, escriviu barra invertida / seguit de la cadena a cercar.

Per exemple: /gos

Com s'ha vist més amunt, porta el cursor a la següent ocurrència de la cadena des de la posició on es troba el cursor. El cursor es va col·locar a la cadena marró com es mostra en una imatge anterior. Per trobar les següents ocurrències, premeu n. Després de l'última aparició, es torna a la primera, donant un missatge "la cerca toca BOTTOM, continua a TOP".

Per cercar una cadena amb un caràcter especial, o, per exemple, caràcters com un més (+) o un espai, precedeixen el caràcter amb una barra inclinada:

Per exemple: /C\+

Per trobar i substituir la primera aparició de cadena en una línia, col·loquem el cursor en aquesta línia i fem servir l'ordre següent:

Per exemple: :s/gos/tigre

Com podeu veure a la captura de pantalla anterior, la tercera línia on es col·loca el cursor, la paraula gos ha estat substituït per tigre tal com s'indica a l'ordre.

Per trobar i substituir totes les ocurrències de cadena en una línia, utilitzar /g al final.

Per exemple: :s/cat/gos/g

Per trobar i substituir totes les ocurrències a nivell mundial, fem servir %s en lloc de només s:

Per exemple: :%s/gos/ratolí

Si la cadena consta d'un caràcter especial com l'espai, pot anar precedida d'una barra inclinada, de la mateixa manera que es mostra abans.

? Salut!