Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set vim bracket highlighting colors

Tags:

vim

I'm using :set showmatch to highlight the matching bracket or brace when the cursor is over one.

I'd like to change the highlight-color so that it's radically different from the cursor color, because I've got the situation shown in the screenshots.

When the cursor is over the second brace:
Cursor over the second brace

and when the cursor is to the immediate-right of the brace:
Cursor to the right

This uses my terminal color scheme, which is taken from Solarized. Unfortunately, it's a bit of a pain to see which highlight is the brace matching and which is the cursor, when the braces are close together.

Is there a vim setting I can use to change the color of that to, say, the bold magenta ANSI? I'm not particularly interested in remapping my ANSI colors within the terminal or shell - I'd like a vim-specific option, if it exists.

like image 958
simont Avatar asked May 24 '12 23:05

simont


People also ask

How do I enable colors in Vim?

You can change color schemes at anytime in vi by typing colorscheme followed by a space and the name of the color scheme. For more color schemes, you can browse this library on the vim website. You can enable or disable colors by simply typing "syntax on" or "syntax off" in vi.

How do you match a bracket in Vim?

You can easily use the % key to jump to a matching opening or closing parenthesis, bracket or curly brace. You can also set the option showmatch . The cursor will briefly jump to the matching bracket, wen you insert one.


2 Answers

you can change the colors to, e.g., blue over green

hi MatchParen cterm=none ctermbg=green ctermfg=blue 

just put it in your vimrc file.

basically, cterm determines the style, which can be none, underline or bold, while ctermbg and ctermfg are, as their names suggest, background and foreground colors, so change them as you see fit.

for your case, you may want

hi MatchParen cterm=bold ctermbg=none ctermfg=magenta 
like image 123
nye17 Avatar answered Sep 18 '22 15:09

nye17


I'm using the vividchalk color scheme with macvim, and none of the various solutions I tried worked for me. But I searched the file:

~/.vim/colors/vividchalk.vim 

for MatchParen and I found this line:

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

I commented out that line, then I copied that line, and I changed it to:

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

which succeeded in highlighting the matching parenthesis in red, which is a LOT easier to see. I hope that helps someone else.

If you want to briefly jump to the opening bracket/paren/brace when you type the closing bracket/paren/brace, then adding:

set showmatch 

to ~/.vimrc worked for me.

A very handy trick is setting the cursor on a bracket/paren/brace and then typing % to jump to the matching bracket/paren/brace. That is especially useful when the matching bracket/paren/brace has scrolled off the page. Typing % a second time will jump back to where you came from.

like image 30
7stud Avatar answered Sep 18 '22 15:09

7stud