91 votes

Définir les couleurs de mise en évidence des crochets dans vim

J'utilise :set showmatch pour mettre en évidence la parenthèse ou l'accolade correspondante lorsque le curseur se trouve sur celle-ci.

J'aimerais modifier la couleur de surbrillance pour qu'elle soit radicalement différente de la couleur du curseur, car j'ai la situation illustrée dans les captures d'écran.

Lorsque le curseur se trouve sur la deuxième accolade :
Cursor over the second brace

et lorsque le curseur se trouve à l'extrême droite de l'accolade :
Cursor to the right

J'utilise mon schéma de couleurs pour le terminal, qui est tiré de Solarisé . Malheureusement, il est un peu difficile de voir quelle surbrillance correspond à l'accolade et quelle est celle du curseur, lorsque les accolades sont proches les unes des autres.

Y a-t-il un vim un paramètre que je peux utiliser pour changer la couleur de ça, disons, le bold magenta ANSI ? Je ne suis pas particulièrement intéressé par le remappage de mes couleurs ANSI dans le terminal ou l'interpréteur de commandes. vim L'option -spécifique, si elle existe.

120voto

nye17 Points 2930

Vous pouvez changer les couleurs, par exemple, en bleu ou en vert.

hi MatchParen cterm=none ctermbg=green ctermfg=blue

il suffit de le mettre dans votre fichier vimrc.

fondamentalement, cterm détermine le style, qui peut être none , underline o bold alors que ctermbg y ctermfg sont, comme leur nom l'indique, des couleurs d'arrière-plan et d'avant-plan, que vous pouvez donc modifier comme bon vous semble.

pour votre cas, vous pouvez vouloir

hi MatchParen cterm=bold ctermbg=none ctermfg=magenta

8voto

7stud Points 7467

J'utilise le vividchalk la palette de couleurs avec macvim et aucune des différentes solutions que j'ai essayées n'a fonctionné pour moi. Mais j'ai cherché le fichier :

~/.vim/colors/vividchalk.vim

pour MatchParen et j'ai trouvé cette ligne :

call s:hibg("MatchParen","#1100AA","DarkBlue",18)

J'ai commenté cette ligne, puis je l'ai copiée, et je l'ai changée en :

 call s:hibg("MatchParen","#FF0000","Red",18)

qui a réussi à mettre en évidence la parenthèse correspondante en rouge, ce qui est BEAUCOUP plus facile à voir. J'espère que cela aidera quelqu'un d'autre.

Si vous voulez sauter brièvement à la parenthèse/parenthèse/brace d'ouverture lorsque vous tapez la parenthèse/parenthèse/brace de fermeture, alors ajoutez :

set showmatch

dans ~/.vimrc a fonctionné pour moi.

Une astuce très pratique c'est placer le curseur sur une parenthèse/parenthèse/race et ensuite taper % pour passer au support/paren/brace correspondant. C'est particulièrement utile lorsque le crochet/parenthèse/brace correspondant(e) a défilé hors de la page. Tapez % une seconde fois, vous retournerez à votre point de départ.

5voto

zxxz Points 68

Essayez :!ls $VIMRUNTIME/colors ce sont les schémas de couleurs par défaut fournis par Vim. Puis changer de schéma de couleurs :colorscheme name trouver un schéma de couleurs qui vous plaît et le copier :!cp $VIMRUNTIME/colors/<name>.vim ~/.vim/colors/new_name.vim modifiez-le et définissez-le avec la commande de schéma de couleurs ou mieux, ajoutez-y colorscheme name au fichier vimrc. Après avoir modifié le fichier de couleurs :colorscheme name recharge les couleurs de Vim. C'est pratique :vsp vim, éditer le fichier de couleurs dans une moitié, vérifier les changements dans l'autre. J'ai utilisé nye17 répondre et ajouter hi MatchParen à mon color_file.vim, cela fonctionne très bien.
Liens :
Aide pour Vim
Comment contrôler les couleurs
A propos des couleurs Termianl

3voto

Alexx Roche Points 457

Les couleurs que j'utilise pour la mise en évidence de vim, (à partir de mon ~/.vimrc) :

" set sensible highlight matches that don't obscure the text
:highlight MatchParen cterm=underline ctermbg=black ctermfg=NONE
:highlight MatchParen gui=underline guibg=black guifg=NONE

NONE utilise la couleur du caractère de la
:colourscheme ron (ou ce que vous préférez de :!ls $VIMRUNTIME/colors )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X