web-dev-qa-db-fra.com

Vim: affiche les sauts de ligne et retour de chariot

Comment puis-je afficher des sauts de ligne et/ou des caractères de retour chariot dans vi/vim?

Je sais que set list affiche tous les caractères d'espacement (?), Il remplace également les tabulations\t etc. (mais ce n'est pas ce que je veux). En gros, je veux juste afficher certains caractères comme\r (sur Debian, cela semble être le comportement par défaut, mais sur Gentoo, c’est différent).

Sincères amitiés

32
watain

Dans les versions récentes de Vim, un paramètre "listchars" vous permet de spécifier les caractères à utiliser pour les caractères EOL et TAB, ainsi que pour les espaces de fin.

Vous pourriez:

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

... pour afficher les caractères eol spécialement sans réduire les onglets (tapez un espace, non [,S,P,A, ...).

Je ne connais rien de spécifiquement concernant les caractères de retour dans le paramètre 'listchars', mais je suppose que vous pouvez utiliser la coloration syntaxique pour cela. Je pense que l'affichage par défaut des caractères est de les afficher avec la surbrillance SpecialKey.

Ainsi, la mise en surbrillance des caractères\r par défaut de la touche SpecialKey, associée au paramètre 'listchars' comme ci-dessus, devrait être proche de ce dont vous avez besoin.

:highlight SpecialKey ctermfg=5

... Si vous aimez le magenta.

16
njd

rouvrez le fichier texte DOS- au format UNIX formart:

:e ++ff=unix

vous verrez ^M (\ r) en fin de ligne.
si vous souhaitez afficher ^M au format hexadécimal:

:set dy=uhex
20
kev

Ajoutez la ligne suivante à votre fichier .vimrc:

set fileformats=unix

Cela fait que vim ne prend en charge que les fichiers de style unix de manière native. Pour les fins de ligne de style non-Unix, le caractère de retour-chariot \r sera affiché explicitement dans vim sous la forme ^M.

4