Vim: mostrar avances de línea y retorno de carro

34

¿Cómo puedo mostrar saltos de línea y / o caracteres de retorno de carro en vi / vim?

Sé que set listmuestra todos los caracteres de espacio en blanco (?), También reemplaza las pestañas \ t, etc. (pero eso no es lo que quiero). Básicamente, solo quiero mostrar ciertos caracteres como \ r (en Debian parece ser el predeterminado, sin embargo, en Gentoo es diferente).

Saludos cordiales

camarero
fuente

Respuestas:

16

En las versiones recientes de Vim hay una configuración de 'listchars' que le permite especificar qué caracteres se deben usar para los caracteres EOL y TAB, y para espacios finales.

Tú podrías:

set listchars=eol:$,tab:\[SPACE]\[SPACE]

... para mostrar caracteres eol especialmente sin colapsar pestañas (escriba un carácter de espacio, no [, S, P, A, ...).

No sé nada específicamente sobre caracteres de retorno en la configuración de 'listchars', pero sospecho que puede usar el resaltado de sintaxis para esto. Creo que la visualización predeterminada de \ r caracteres es mostrarlos con resaltado SpecialKey.

Por lo tanto, el resaltado predeterminado de SpecialKey de \ r caracteres, combinado con la configuración de 'listchars' como se indicó anteriormente, debe estar cerca de lo que necesita.

:highlight SpecialKey ctermfg=5

... si eres aficionado al magenta.

njd
fuente
Gracias, listcharsya me ayudó. ¿Te importaría explicarme cómo usarlo SpecialKey? No puedo encontrar ninguna información útil, vimdoc.sourceforge.net/htmldoc/syntax.html#hl-SpecialKey tampoco ayudó mucho.
Watain
SpecialKey es la etiqueta incorporada de resaltado de sintaxis para los caracteres que se muestran "especialmente": caracteres de control y similares. Si escribe ": resalte SpecialKey", eso le dirá cómo se mostrarán esos caracteres.
njd
Cuando intento del set listcharsque sale el siguiente error: E474: Invalid argument: listchars=eol:$,tab:\[SPACE]\[SPACE]. Estoy usando MacVim 8.0.596 (133)
Eliot
22

reabrir DOSarchivo de texto con UNIXformato en formart:

:e ++ff=unix

verá ^M(\ r) al final de la línea.
si quieres mostrar ^Men hexadecimal:

:set dy=uhex
kev
fuente
5

Agregue la siguiente línea a su .vimrcarchivo:

set fileformats=unix

Esto hace que vim solo admita archivos de estilo unix de forma nativa. Para las terminaciones de línea que no son de estilo Unix, el carácter de retorno de carro \rse mostrará explícitamente en vim como ^M.

Mansoor Siddiqui
fuente
Desafortunadamente, tampoco muestra el carácter de avance de línea.
jpaugh