J'ai récemment vu cela demo. Ma question est la suivante: comment est-il possible dans vim d'afficher sous forme de points les caractères blancs sous le curseur (en rouge par exemple).Les espaces sous le curseur dans vim
Répondre
espaces blancs Sélectionnez avant et après le curseur
highlight FooBar guibg=#80a0ff au CursorMoved * :match FooBar /\s*\%#.\s*/
qui fonctionne pour le mode normal avec gvim. Pour le faire fonctionner dans le terminal vim, changez le guibg en ctermbg. Si vous voulez aussi en mode d'insertion, changer au CursorMoved
à
au CursorMoved,CursorMovedI,InsertEnter
Bien que dans ce cas, vous auriez besoin de modifier l'expression régulière depuis que l'on correspond à des caractères par erreur non-blancs à droite du curseur lors de l'entrée en mode d'insertion . Dans la regex \% # correspond à la position actuelle du curseur. Je devais utiliser . après elle car elle ne correspondrait pas aux espaces à la droite du curseur sans elle.
Je ne pense pas que cela montre de l'espace sous le curseur; Je pense que ça montre des espaces traînants. Ceci est contrôlé par l'option listchars
, qui contrôle le comportement de list
. Pour l'activer, utilisez:
set list
set listchars=trail:·
La couleur est déterminée par le groupe hl-SpecialKey
; vous pouvez le modifier comme ceci:
hi SpecialKey ctermfg=Red
Je vois, est-ce que je peux toujours afficher des espaces près du curseur? – akosch
Le but de 'listchars' est de vous permettre de distinguer les types d'espaces - vous pouvez afficher la fin de ligne, la tabulation, les espaces de fin, les indicateurs de plus de texte à gauche et à droite de l'écran et les espaces insécables. Les espaces simples sont laissés en blanc, parce qu'ils sont communs, et avec toutes les autres choses mises en évidence, tout ce qui est vide est un espace. Le résultat: il n'y a aucun moyen d'afficher des espaces unis partout, et il n'y a certainement aucun moyen d'appliquer 'list' seulement" près "du curseur. – Cascabel