it-swarm-eu.dev

Vim: mostra line feed e carriage-return

Come posso visualizzare i feed di riga e/oi caratteri di carriage carriage in vi/vim?

So che set list mostra tutti i caratteri di spaziatura (?), Sostituisce anche tabs\t etc (ma non è quello che voglio). In pratica voglio solo mostrare alcuni caratteri come\r (su Debian questo sembra essere il default, comunque su Gentoo è diverso).

Cordiali saluti

32
watain

Nelle versioni recenti di Vim è disponibile un'impostazione 'listchars' che consente di specificare quali caratteri devono essere utilizzati per i caratteri EOL e TAB e per gli spazi finali.

Potresti:

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

... per visualizzare i caratteri eol in modo speciale senza schede compresse (digitare un carattere spazio, non [,S,P,A, ...).

Non so nulla di specifico sui caratteri di ritorno nell'impostazione 'listchars', ma ho il sospetto che tu possa usare l'evidenziazione della sintassi per questo. Penso che la visualizzazione di default di\r caratteri sia quella di mostrarli con l'evidenziazione SpecialKey.

Quindi l'evidenziazione SpecialKey predefinita di\r caratteri, combinata con l'impostazione 'listchars' come sopra, dovrebbe essere vicino a ciò che ti serve.

:highlight SpecialKey ctermfg=5

... se ti piace il Magenta.

16
njd

riapri DOS- file di testo formattato in UNIX formart:

:e ++ff=unix

vedrai ^M (\ r) alla fine della riga.
se vuoi visualizzare ^M in esadecimale:

:set dy=uhex
20
kev

Aggiungi la seguente riga al tuo file .vimrc:

set fileformats=unix

Ciò fa sì che vim supporti nativamente solo i file in stile Unix. Per le terminazioni di linea in stile non Unix, il carattere di ritorno a capo \r verrà visualizzato esplicitamente in vim come ^M.

4