regulares regular expresiones expresion especiales espacio ejemplos cualquier concatenar caracteres caracter blanco alfanumerico regex vim newline substitution

regex - especiales - expresiones regulares javascript



Cómo colocar caracteres de nueva línea en sustituciones de expresiones regulares de GVim (2)

Yo uso GVim en Windows 7.

Quiero aprender cómo poner caracteres de nueva línea mediante el uso de sustituciones de expresiones regulares. Para hacer esto, trato de usar los metacaracteres / ry / n, pero el texto sustituido no muestra nuevas líneas normales.

Por ejemplo, al principio tengo:

line 1 line 2

Yo uso la siguiente expresión de sustitución:

:%s//n//n/n/g

Entonces GVim produce el siguiente texto:

line 1^@^@line 2^@^@

En su lugar, si uso / r / n en la expresión de sustitución

:%s//n//r/n/g

Entonces GVim produce el siguiente texto:

line 1 ^@line 2 ^@

¿Qué son esos personajes ^ @?

¿Cómo utilizar correctamente los caracteres de nueva línea en la expresión de sustitución?


^ @ es un nul

Por alguna razón, vim quiere ver el texto de reemplazo para insertar una nueva línea. ( /n en el reemplazo inserta un nulo.)

Entonces, después de localizar con éxito las nuevas líneas ejecutando //n , intente:

s///r/

O para agregar una nueva línea adicional:

s/$//r/

En el lado del patrón, /r significa un carácter CR real (015), lo que lleva al siguiente comando de aspecto extraño cuando desea reemplazar las devoluciones por nuevas líneas:

s//r//r/

No, no es un no-op.


Esta

s//r//r/

falla Pero

s//n//r/

funciona bien.