
Cuando abro Vim en mi computadora portátil y ejecuto expresiones regulares como esta:
:%s/foo/\n/g
vim inserta ^@ en lugar de saltos de línea.
Este problema comenzó a ocurrir la semana pasada. Estoy ejecutando Ubuntu 18.04.04. Creo que el problema podría haber comenzado después de que Ubuntu instaló las actualizaciones.
Cosas que he probado
codificación y codificación de archivos
Intenté configurar la codificación y la codificación de archivos en utf-8 y luego en latin1, pero no hubo diferencia.
:idioma
:lang produce "Idioma actual: "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=es_ES.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=es_ES.UTF-8;LC_MESSAGES=en_US.UTF- 8;LC_PAPER=es_ES.UTF-8;LC_NAME=es_ES.UTF-8;LC_ADDRESS=es_ES.UTF-8;LC_ TELEFONO=es_ES.UTF-8;LC_MEASUREMENT=es_ES.UTF-8;LC_IDENTIFICATION=es_ES.UTF-8 "
Si llamo a vim con
LC_ALL=C vim foo
Entonces no hay diferencia, el problema persiste.
Respuesta1
\n en vim para reemplazo no significa nueva línea, sino nulo.
Utilice \r en su lugar. P.ej
:%s/foo/\r/g