89

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.

4

4 に答える 4

118

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
于 2012-05-24T23:53:32.643 に答える
7

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.

于 2014-12-19T20:42:58.103 に答える
5

Try :!ls $VIMRUNTIME/colors these are default color schemes Vim supply. Than change color scheme :colorscheme name find color scheme that You like and copy color scheme :!cp $VIMRUNTIME/colors/<name>.vim ~/.vim/colors/new_name.vim edit it and set with color scheme command or better add colorscheme name to vimrc file. After changes to color file :colorscheme name reloads Vim's colors. It's handy :vsp vim, edit colors file in one half, check changes in other. I used nye17 answer and add hi MatchParen line to my color_file.vim it work's just fine.
Links:
Vim help
How to control colors
About Termianl colors

于 2017-01-11T20:51:50.690 に答える
3

The colours that I use for vim highlighting, (from my ~/.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 uses the character colour from the
:colourscheme ron (or which ever you prefer from :!ls $VIMRUNTIME/colors )

于 2020-11-14T15:33:37.600 に答える