Dans ce Q&R , il est observé qu'il existe un groupe de surbrillance pour CursorLineNr
, qui s'applique au numéro de ligne de la ligne du curseur lorsque cette option set cursorline
est activée.
Je remarque que l'utilisation de la ligne de curseur change également la couleur d'un autre groupe de surbrillance SpecialKey
, qui s'applique si vous en avez, par exemple:
set list listchars=tab:\|_,trail:-
Le problème avec cela pour moi est que j'utilise un fond sombre (et donc un curseur noir). Mon SpecialKey
réglage normal est également très sombre, de sorte que les listchar
symboles ne sont que légèrement visibles. Mais en les utilisant, cursorline
ils sont blancs , ce qui rend le trail
char indiscernable d'avoir réellement frappé -
. Le caractère de trace est utilisé chaque fois que vous tapez un espace à la fin d'une ligne, c'est donc plus qu'un problème mineur; généralement, taper une ligne du début à la fin implique un certain nombre d'espaces qui doivent être facilement distingués d'une faute de frappe en tiret pendant le travail (ou vice versa, une faute de frappe lorsque vous vouliez un tiret).
Puisqu'aucun des autres groupes de faits saillants ne semble être affecté, quelque chose comme CursorLineNr
est vraisemblablement appliqué, mais en parcourant la hi
liste, je ne vois rien de approprié.
Est-ce que quelqu'un sait ce que c'est? Mieux encore, quelqu'un connaît-il un moyen de modifier un groupe de surbrillance pour le curseur?
la source
Réponses:
Je lutte avec ce comportement depuis longtemps .
Fondamentalement, la couleur de premier plan de
SpecialKey
la ligne actuelle est remplacée par la couleur de premier planNormal
si:cursorline
option est activée,CursorLine
groupe de surbrillance a un jeu de couleurs d'arrière-plan.Je n'ai jamais pu résoudre ce problème, quoi que j'aie essayé. Le problème se situe quelque part dans le code source de Vim.
la source
~
ce qui est un peu moins déroutant (peut également rechercher des caractères unicode obscurs à utiliser).none
), j'ai essayé de laisser sa valeur par défaut (elle a été soulignée), les espaces ont tout de même changé leur couleur de premier planCe qui a fonctionné pour moi, ce sont les lignes suivantes dans mon
.vimrc
(d'après la réponse d'Igor Mikushkin ).VimEnter
ne fonctionne que pour le premier fichier que vous ouvrez, pas pour les fichiers / onglets que vous ouvrez ensuite.BufNewFile,BufRead
a fonctionné jusqu'à présent pour tous les tampons que j'ai ouverts.La première ligne couvre les caractères d'espacement. Vim les met en surbrillance dans le
SpecialKey
groupe, nous leur appliquons donc ces styles.La deuxième ligne couvre les nouvelles lignes. Vim les met en surbrillance dans le
NonText
groupe, nous leur appliquons donc ces styles. Vous n'avez vraiment besoin de la deuxième ligne que si vosNonText
personnages sont mis en surbrillance différemment desSpecialKey
personnages.la source
Les lignes suivantes dans .vimrc ont résolu le problème pour moi.
Il remplace les autres styles d'application pour les tabulations et les espaces de fin à l'intérieur d'une ligne de curseur.
la source
matchadd()
résultat dans une variable, si vous ne l'utilisez pas?Il existe encore une autre "solution", en fait une sorte de complaisance pour ce problème.
J'ai des groupes de syntaxe personnalisés pour des choses telles que "listchars".
Comme ça:
Vous pouvez faire quelque chose comme ça (même si je ne l'ai pas testé):
Mais il y a au moins deux problèmes avec cette approche:
Pour résoudre ce problème, j'ai des fonctions spéciales comme:
pour chaque groupe de syntaxe, que j'utilise souvent, pour corriger manuellement la surbrillance. Vous pouvez le faire d'une autre manière, comme les commandes automatiques ou en définissant manuellement la valeur de l'option de syntaxe. Pour que la réinitialisation de la syntaxe fonctionne, il faut également avoir ceci:
dans chaque fichier de syntaxe correspondant, comme
~/.vim/after/syntax/javascript.vim
let g:indentLine_newVersion = 0
, où le plugin fonctionnait normalement.Mais d'une autre manière, cette approche fonctionne normalement sans le plugin IndentLine:
Et acceptable avec:
la source