2009-06-26 22 views

Respuesta

88

:%s/ /Ctrl vVolver/g

Dónde Ctrl v es Control + tecla más v llave y Volver es la tecla de retorno (el que está en el teclado principal, no la tecla enter en el teclado numérico). Los otros caracteres se escriben como de costumbre.

Si esto se introduce correctamente, la secuencia Ctrl vVolver se mostrará como los personajes ^M, típicamente en un color diferente, para indicar que son especiales. Tenga en cuenta que en realidad escribir ^Mno trabajo.

También tenga en cuenta que en Vim para Windows, es Control-q en lugar de Control-v (como eso es pegar).


Ctrl-V también permite entrar en otras teclas "especiales" a través del teclado. También es útil, por ej. Tabulador o Retroceso.

+0

Acepto la respuesta porque es la más independiente del sistema. la respuesta samoz también funciona. Es sorprendente que el comando para Windows funcione en mi OS/X, no en el comando de Unix. –

+12

:% s// \ r/g también debería funcionar en todos los sistemas operativos. – DrAl

+0

AL tiene razón, lo comprobé en mi cuadro ubuntu, funciona bien. – rangalo

7

entre lo siguiente:

:s//

y ahora pulse Ctrl-V o Ctrl-Q (depende de la configuración) y pulsa la tecla Intro. Ahora debe tener:

:s/ /^M 

acabar con él:

:s/ /^M/g 

y que son buenos para ir.

2

Prueba cualquiera

para UNIX:

:1,$s/\ /\n/g 

Para Windows:

:1,$s/\ /\r/g 

Este contiene un carácter de escape para el espacio.

+2

Estoy bastante seguro de que funciona en todos los sistemas. – DrAl

+0

Interesante. Tendré que intentarlo. – samoz

2

específicamente a responder a su problema con caracteres finales, esto es la expresión regular especificada:

:%s/ /s/\n/g 

usted tiene demasiados /. Lo que pasa es que reemplace '' con s, y luego se etiqueta en esto después de la sustitución: \n/g

Creo que quería decir esto:

:%s/ \s/\n/g 

en cuenta que su /s fue cambiado a \s. Ahora la sustitución reemplazará un espacio seguido por un espacio en blanco de cualquier tipo (espacio o pestaña) con \n. Dudo si esto resuelve el problema o reemplaza el espacio con una nueva línea, pero debería explicar el mensaje de error.

Cuestiones relacionadas