Tutorial de Buscar y Reemplazar del Editor VIM de Linux

  

VI /VIM es una de las herramientas más utilizadas por los programadores, especialmente en Unix /Linux, y el reemplazo de búsqueda es una de las operaciones más frecuentes.


Generalmente en vim usamos este método para reemplazar:% s /dest /new /g, donde dest es el objetivo de búsqueda, new es el contenido nuevo de reemplazo, g es el texto completo de reemplazo La configuración general de vim es el reemplazo de texto completo predeterminado, por lo que g también se puede omitir.


A continuación se resumen algunos de los modos de reemplazo comúnmente utilizados para el aprendizaje de referencia: el contenido se transfiere desde la red, ¡la fuente original no tiene información de origen!



Resumen de los patrones de reemplazo comúnmente utilizados en VIM.


0,: g /null /d

Encuentre la línea nula y elimine


1, simplemente reemplace la expresión

El comando de reemplazo puede reemplazar otra palabra con una palabra en el texto completo:

:% s /four /4 /g

"% " Representación de prefijo de rango Realizar un reemplazo en todas las filas. La última etiqueta " g " indica que todos los puntos coincidentes en la fila se reemplazan. Si solo desea operar en la línea actual, simplemente elimine%.

Si tiene una palabra como " treinta y cuatro y ", el comando anterior irá mal. En este caso, la palabra se reemplazará por " thirty4 ″. Para resolver este problema, use " \\ < " para especificar el comienzo de la palabra correspondiente:

:% s /\\ < four /4 /g

Obviamente, esto está en el proceso " Cuarenta y " todavía irá mal. Utilice " \\ > " para resolver este problema:

:% s /\\ < four \\ > /4 /g

Si está codificando, es posible que solo desee reemplazar En los comentarios, " cuatro ", y conserve el código. Como es difícil de especificar, puede agregar una etiqueta &cquo; c " al comando de reemplazo para que Vim le avise antes de cada reemplazo:

:% s /\\ < four \\ > /4 /gc



2, eliminar espacios adicionales

Para eliminar espacios adicionales después de cada línea, puede ejecutar el siguiente comando:

:% s /\\ s \\ + $ //

El rango especificado en el comando es "% ", por lo que esto se aplicará a todo el archivo. El patrón coincidente del comando " substituye " es

" \\ s \\ + $ ". Esto representa uno o más (\\ +) espacios (\\ s) antes del final de la línea ($). La sección " to " del comando de reemplazo está vacía: " //". Esto eliminará los caracteres de espacio en blanco coincidentes.



3, Coincidencia de patrones repetitivos

Elementos de asterisco " * " Especifica que los elementos que lo preceden se pueden repetir cualquier número de veces. Entonces:

/a *

coincide con " a ", " aa ", " aaa ", y así sucesivamente. Pero también coincide con " &quoquo; (cadena vacía) porque también se incluye cero. El asterisco " * " se aplica solo al elemento que lo precede inmediatamente. Así que " ab * " coincide con " a ", " ab ", " abb ", " abbb ", y así sucesivamente. Si desea repetir la cadena completa varias veces, la cadena debe estar compuesta de un elemento. La forma de formar un elemento es agregar " \\ (", seguido de " \\) " delante de él. Entonces, este comando:

/\\ (ab \\) *

coincide con: " ab ", " abab ", " ababab ", y así sucesivamente. Y también coincide con " ".

Para evitar que las cadenas vacías coincidan, use " \\ + ". Esto significa que el elemento anterior se puede hacer coincidir una o más veces.

/ab \\ +

Combina " ab ", " abb ", " abbb ", y así sucesivamente. No coincide con " a " que no sigue a " b ".

Para hacer coincidir una opción, use " \\ = ". Por ejemplo:

/carpetas \\ =

haga coincidir " carpeta " y " carpetas ".



4, especifique el número de repeticiones

Para hacer coincidir un número específico de repeticiones, use " \\ {n, m} " Esta forma Donde " n " y " m " son números. El elemento delante de él se repetirá " n " a " m " times (| Incluido |  Contiene " n " y " m "). Por ejemplo:

/ab \\ {3,5}

Igualar " abbb ", " abbbb " y " abbbbb ".

Cuando " n " se omite, se establece de forma predeterminada en cero. Cuando se omite " m " se establece por defecto en infinito. Cuando se omite ", m " significa que se repite exactamente " n ". Por ejemplo:

Número de coincidencias de patrón

\\ {, 4} 0,1,2,3 o 4

\\ {3,} 3,4,5, etc.

\\ {0,1} 0 o 1, igual que \\ =

\\ {0,} 0 o más, igual que *

\\ {1,} 1 o Más, igual que \\ +

\\ {3} 3



5, elija una coincidencia

en una búsqueda En el patrón, el operador " o " es " \\ | ". Por ejemplo:

/foo \\ | Barra

Este comando coincide con " foo " o " bar ". Más opciones se pueden conectar más tarde:

/one \\ | Dos \\ | Tres

Unir " uno ", " dos " o " tres ".

Para hacer coincidir varias iteraciones, la estructura de selección completa debe colocarse entre " \\ (" y " \\) ":

/\\ (foo \\ | Bar \\) \\ +

Este comando coincide con " foo ", " foobar ", " foofoo ", " barfoobar ", y así sucesivamente.

Otro ejemplo:

/end \\ (if \\ | Mientras que \\ | Para \\)

Este comando coincide con " endif ", " endwhile " y " endfor ".

Copyright © Conocimiento de Windows All Rights Reserved