text editor - reemplazar - Ver saltos de línea y retornos de carro en editor
reemplazar por salto de linea en sublime text (6)
¿Alguien sabe de un editor de texto en Linux que me permite ver los saltos de línea y los retornos de carro? ¿Vim admite esta función?
Le sugiero que edite su archivo .vimrc, para ejecutar una lista de comandos. Edite su archivo .vimrc, así:
cat >> ~/.vimrc <<EOF
set ffs=unix
set encoding=utf-8
set fileencoding=utf-8
set listchars=eol:¶
set list
EOF
Cuando estás ejecutando vim, los comandos en .vimrc se ejecutan, y puedes ver este ejemplo:
My line with CRLF eol here ^M¶
Para estar en desacuerdo con la respuesta oficial:
:set list
no mostrará ^ M caracteres (CR). El suministro de la opción -b a vi / vim funcionará. O bien, una vez que se carga vim, escriba :e ++ff=unix
.
Pruebe el siguiente comando.
: establecer binario
En VIM, esto debería hacer lo mismo que usar la opción de línea de comando "-b". Si coloca esto en su archivo de inicio (es decir, .vimrc), siempre estará en su lugar.
En muchos sistemas * nix, hay un comando "dos2unix" o "unix2dos" que puede procesar el archivo y corregir cualquier posible problema de finalización de línea. Si no hay problema con los finales de línea, los archivos no se modificarán.
Solo para aclarar por qué :set list
no mostrará CR''s como ^M
sin e ++ff=unix
y por qué :set list
no tiene nada que ver con ^M
''s.
Internamente, cuando Vim lee un archivo en su búfer, reemplaza todos los caracteres de final de línea con su propia representación (llamémoslo $
). Para determinar qué caracteres se deben eliminar, primero se detecta en qué formato se almacenan las terminaciones de línea en un archivo. Si solo hay CRLF ''/r/n''
o solo CR ''/r''
o solo LF ''/n''
caracteres de final de línea, entonces el ''fileformat''
está configurado en dos
, mac
y unix
respectivamente.
Cuando se establece la opción de list
, Vim muestra $
character cuando fileformat
el salto de línea sin importar qué fileformat
se haya detectado. Utiliza su propia representación interna de saltos de línea y eso es lo que muestra.
Ahora, cuando escribe un búfer en el disco, Vim inserta caracteres de final de línea de acuerdo con las opciones de fileformat
que se han detectado, convirtiendo esencialmente todos esos $
internos con los caracteres apropiados. Si el fileformat
pasó a ser unix
, simplemente escribirá /n
en lugar de su salto de línea interno.
El truco consiste en obligar a Vim a leer un archivo codificado como dos
. El efecto neto es que eliminará todos /n
''s dejando /r
'' s intactos y los mostrará como ^M
''s en su búfer. Configuración :set list
mostrará adicionalmente terminaciones de línea internas como $
. Después de todo, ves ^M$
en lugar de dos
líneas de dos
codificadas.
También tenga en cuenta que :set list
no tiene nada que ver con mostrar ^M
''s. Puede verificarlo usted mismo (asegúrese de tener la opción de list
desactivada primero) insertando CR solo usando CTRL-V
seguido de Enter
en modo de inserción. Después de escribir el búfer en el disco y abrirlo nuevamente, se ses ^M
pesar de que la opción de la list
haya establecido en 0.
Puede encontrar más información sobre los formatos de archivo en http://vim.wikia.com/wiki/File_format o escribiendo :help ''fileformat''
en Vim.
VI muestra nuevas líneas (carácter LF, código x0A
) al mostrar el texto siguiente en la siguiente línea.
Use el interruptor -b
para el modo binario. Por ejemplo, vi -b filename
o vim -b filename --
.
A continuación, mostrará los caracteres CR ( x0D
), que normalmente no se utilizan en los archivos de estilo Unix, como los caracteres ^M
:set list
en Vim mostrará espacios en blanco. El final de las líneas se muestra como '' $
'' y los retornos de carro generalmente se muestran como '' ^M
''.