Navegar por un archivo que contenga ^J en Vim

Estoy escribiendo en un archivo txt de python. Cada vez que especifico una escritura \n en el archivo python, encuentro un ^J en el archivo txt, cuando se abre con Vi. Si abro con cualquier otro editor de texto, veo una nueva línea limpia. Los comandos estándar j y k no funcionan al intentar navegar por el archivo txt. ¿Alguna solución?

Estoy usando Ubuntu 12.04

preguntado el 15 de febrero de 14 a las 20:02

windows, linux u otro entorno? -

¿Y cómo se ve tu línea de python que escribe la línea en el archivo? Tal vez agregue un strip() para eliminar cualquier terminación de línea torcida antes de escribir -

^J es salto de línea, el carácter de nueva línea estándar en Unix. ¿Su .vimrc está configurado para actuar como si estuviera en un entorno solo de Windows? -

Su Ubuntu instalado en un macbook blanco (2007) -

pastebin.com/m6upacgw Vimrc, si eso ayuda. -

2 Respuestas

Vim probablemente esté detectando el archivo como un archivo Mac Classic. Obtengo el mismo comportamiento al configurar mi vim en el modo de nueva línea Mac Classic. Primero, abra vim y verifique el valor de ffs

:set ffs?

Si ve 'mac' en cualquier parte de esa línea, ese es su problema. Para ver qué secuencia de comandos vim estableció esa opción, ejecute

:verbose set ffs?

Una solución es establecer ffs manualmente en su .vimrc

set ffs=unix

Respondido 15 Feb 14, 20:02

Configuré ffs=unix manualmente en mi vimrc, y aún muestra fileformats=unix,mac. En cuanto a la fuente, se debe a un complemento llamado sensible. ¿Significa esto que el complemento anula el vimrc? - elexhobby

¿Has intentado iniciar vim con vim -u NONE deshabilitar cualquier configuración? - Federico Pihl

unix,dos,mac or unix,mac debería funcionar bien; lo intenta unix y dos primero, y utiliza mac solo si no \n or \r\n es encontrado. Ver :help fileformats para más información. - Martín Tournoij

El complemento sensato tenía una línea: establecer formatos de archivo+=mac. Al comentar esa línea, el problema se resuelve. Sin embargo, no sé cómo afectará esto a cualquier otra cosa. Gracias OregonTrail. @Carpetsmoker: No funciona con Unix, Mac. - elexhobby

Probablemente te equivocaste fileformats opciones de alguna manera para usar mac caracteres de fin de línea, que es un solo \r (usado solo con pre-OSX-macs, OSX usa finales de línea UNIX).

Puede comprobar su configuración escribiendo :set fileformat. El valor predeterminado debe establecerse en unix.

Respondido 15 Feb 14, 20:02

OP afirma que está usando Ubuntu 12.04 ¿Sigue siendo válido entonces? Ubuntu en una Mac sigue siendo ubuntu, ¿o sí? - Federico Pihl

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.