3 votes

Afficher certains caractères d'espacement, mais pas tous, dans vim ?

J'utilise le set list y set listchars dans vim. J'aimerais personnaliser set listchars pour afficher les espaces de fin de ligne, etc., mais pas les tabulations. Est-il possible de spécifier que je ne veux pas qu'un type particulier d'espace blanc soit affiché ?

J'ai essayé ça :

set listchars=tab:,trail:·,extends:>,precedes:<,nbsp:%

Mais j'ai obtenu une erreur de syntaxe en chargeant mon .vimrc .

4voto

jopa Points 800

Ce n'est pas possible, malheureusement. Vous pouvez seulement :set list et pour les éléments que vous ne définissez pas dans la section 'listchars' les valeurs par défaut seront utilisées.

Je ne recommanderais pas de toujours opérer sous :set list car elle a des effets secondaires (par exemple, elle affecte l'emballage souple).

Si vous êtes seulement préoccupé par la mise en évidence des blancs de fin de ligne, il existe des plugins qui le font par d'autres moyens. En fait, j'ai écrit le plugin Plugin ShowTrailingWhitespace (Afficher les espaces en bas de page) pour cela ; la page contient des liens vers des alternatives.

4voto

Derek Ekins Points 223

Je viens de découvrir que, bien que cela ne soit techniquement pas possible, on peut tricher et entrer des caractères spéciaux d'espacement Unicode (et non le caractère d'espace normal) comme caractère à afficher pour une tabulation. Bien que cela utilise toujours la fonction hl-NonText couleur de surbrillance, c'est certainement moins gênant.

En d'autres termes, faites ceci (ou quelque chose de similaire) :

set listchars=tab:  ,trail:·,extends:>,precedes:<,nbsp:%

Les deux personnages après tab: son no les caractères d'espacement réguliers - ils sont U+2002 . Vous pouvez les saisir dans vim lui-même avec Ctrl-V u 2 0 0 2 (en mode insertion).

Jusqu'à présent, je n'ai pas remarqué d'effets secondaires désagréables.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X