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

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.


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

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.


Desafortunadamente, tampoco muestra el carácter de avance de línea.
jpaugh
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.