Vim: affiche les sauts de ligne et retour de chariot

34

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

Je sais que cela set listmontre tous les espaces (?), Cela 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

watain
la source

Réponses:

16

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 de fin de ligne spécialement sans onglets effondrement (taper un caractère d'espace, et non pas [, 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.

njd
la source
Merci, listcharsdéjà aidé. Souhaitez-vous m'expliquer comment utiliser SpecialKey? Je ne trouve aucune information utile, vimdoc.sourceforge.net/htmldoc/syntax.html#hl-SpecialKey n'a pas beaucoup aidé non plus.
Watain
SpecialKey est l'étiquette de mise en évidence de la syntaxe intégrée pour tous les caractères affichés "spécialement": caractères de contrôle, etc. Si vous tapez ": surligner SpecialKey", cela vous indiquera comment ces caractères seront affichés.
mardi
Lorsque je tente le set listcharsje reçois l'erreur suivante: E474: Invalid argument: listchars=eol:$,tab:\[SPACE]\[SPACE]. J'utilise MacVim 8.0.596 (133)
Eliot
22

rouvrir le DOSfichier texte dans UNIXformart:

:e ++ff=unix

vous verrez ^M(\ r) en fin de ligne.
si vous voulez afficher ^Men hexadécimal:

:set dy=uhex
kev
la source
5

Ajoutez la ligne suivante à votre .vimrcfichier:

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 \rsera affiché explicitement dans vim as ^M.

Mansoor Siddiqui
la source
Malheureusement, le caractère de saut de ligne n'est pas affiché.
jpaugh