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!