Para lidiar con retornos de carro superfluos en TextEdit

Quiero dejar que TextEdit nunca guarde <CR>, el retorno de carro.

Diferentes sistemas operativos guardan el final de línea como diferentes caracteres Unicode. Para MS DOS (como Windows) es <CR><LF>, y para Unix y Mac <LF>, y para el muy antiguo Mac OS 9 solo <CR>. Aquí <CR>está el retorno de carro y <LF>el salto de línea.

Cuando a veces pego, en TextEdit, también se copian varios párrafos de un archivo creado por Windows, por ejemplo pdfo doc/ docx. <CR>TextEdit no se ajusta completamente a los estándares de Unix, ya que acepta <CR><LF>'s, mostrándolos como saltos de línea. No puedo decir, entonces, si un salto de línea es estilo Windows <CR><LF>o estilo Unix <LF>.

Cuando guardo mis escritos personales en texto puro ( txt) escritos en Markdown, no quiero estos <CR>, pero no puedo verlos ni eliminarlos en TextEdit. Cuando abrí el archivo de texto en cuestión con Vim, vi que se <CR>mostraban como ^M. De hecho, en Vim, es fácil reemplazarlos con cadenas vacías.

Sin embargo, yo también edito en TextEdit a menudo. ¿Puedo configurar TextEdit para que nunca guarde <CR>en un búfer suyo? Es decir, cuando pego un <CR>en un búfer, se <CR>ignora y no se escribe.

Respuestas (2)

No creo que TextEdit tenga esa opción. Acepta felizmente todos los tipos de finales de línea (incluso entremezclados dentro del mismo archivo) y los muestra correctamente.

Probablemente necesite usar un editor de texto donde tenga control directo sobre los finales de línea y el tipo de codificación de texto al guardar el archivo. BBEdit es un gran editor de texto que tiene tales controles.

Otra opción es convertir el archivo con una utilidad como dos2unix . El sitio web no ofrece una descarga binaria de macOS, por lo que primero deberá compilarlo usted mismo o instalar un administrador de paquetes como Homebrew y luego instalar el paquete dos2unix con brew install dos2unix. perl -pi -e 's/\r\n/\n/;' FILE.TXTPara una solución fácil , también puede ejecutar .

Sugeriría una mejor solución que ya dos2unixque arreglaría las ocurrencias en todas partes: perl -pi -e 's/\r//g ;' file.txt.
Lo siento, olvidé esta pregunta por completo. En realidad, no me importa abrir Vim y reemplazar por lotes por :bufdo %s/\r/\r/g. Sus sugerencias son todas razonables.

Cuando te entiendo bien, el problema radica en el Portapapeles OSX. Es el lugar para arreglar el comportamiento, si lo hay. Consulte, por ejemplo, https://stackoverflow.com/questions/3482289/easiest-way-to-strip-newline-character-from-input-string-in-pasteboard sobre cómo lidiar con las nuevas líneas en el Portapapeles de OSX.