vim
es uno de los editores de archivos más populares de Linux. Parte de la popularidad se debe al modo de línea de comandos de vim, que permite a los usuarios, especialmente a los desarrolladores de software y usuarios avanzados, optimizar el tiempo para las operaciones de modificación de archivos.
En este artículo, veremos cómo buscar y reemplazar texto en el vim
modo de línea de comandos.
Primero, abramos un archivo de texto en vim:
vim test.txt
Vim opera en varios modos. Los dos modos más importantes son el modo de comando mencionado anteriormente, y el segundo es el modo Insertar, que se utiliza para modificar el contenido del archivo.
De forma predeterminada, cuando se abre un archivo, vim funciona en modo comando. Puede presionar i
para ir al modo Insertar.
En el modo de comando, puede comenzar a escribir comandos vim directamente; aparecen en la parte inferior de la terminal. Esta parte inferior actúa como un símbolo del sistema integrado en vim.
Para buscar una cadena , escriba una barra invertida /
seguida de la cadena que desee buscar.
For example:
/dog
Como se vio arriba, lleva el cursor a la siguiente ocurrencia de la cadena desde la posición donde se coloca el cursor. El cursor se colocó en la cadena brown
como se muestra en una imagen anterior. Para buscar las siguientes ocurrencias, presione n
. Después de la última ocurrencia, vuelve a la primera, dando un mensaje "buscar en ABAJO, continuando en ARRIBA" .
Para buscar una cadena con un carácter especial o, por ejemplo, caracteres como un signo más (+) o un espacio, preceda el carácter con una barra diagonal:
For example:
/C\+
Para buscar y reemplazar la primera ocurrencia de cadena en una línea , colocamos el cursor en esa línea y usamos el siguiente comando:
For example:
:s/dog/tiger
Como puede ver en la captura de pantalla anterior, la tercera línea donde se coloca el cursor, la palabra dog
ha sido reemplazada por tiger
como se indica en el comando.
Para buscar y reemplazar todas las ocurrencias de cadena en una línea , use /g
al final.
For example:
:s/cat/dog/g
Para buscar y reemplazar todas las ocurrencias globalmente , usamos en %s
lugar de solo s
:
For example:
:%s/dog/mouse
Si la cadena consta de un carácter especial como un espacio, puede ir precedida de una barra inclinada, de la misma forma que se mostró antes.
🍻 ¡Salud!