I'm using vim 7.3 on Windows 7. When I issue:
:echomsg synIDattr(synID(line("."),col("."),0),"name")
:echomsg synIDattr(synIDtrans(synID(line("."),col("."),0)),"name")
:echomsg synIDattr(synID(line("."),col("."),1),"name")
:echomsg synIDattr(synIDtrans(synID(line("."),col("."),1)),"name")
I get:
qfFileName
Directory
qfFileName
Directory
It's interesting that you don't see the current quickfix item highlighted. I thought that maybe I set something to turn on quickfix highlighting, but I can't seem to find the switch. I searched the web and the quickfix help to see if quickfix is *suppose* to highlight the current item by default, but didn't find indications of that either.
I have a colorscheme called mine.vim containing lots of highlight commands. Prepended to those commands is the preamble
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "mine"
I've actually set g:colors_name to "mine" in the course of trying to figure out how it works. It was "blue" before, probably because I never figured out how it worked, and "blue" was a good fallback colorscheme. Reading the help on colors_name and experimenting, it seems that g:colors_name is only used to get back the colorscheme if you haven't toggled the background setting. If you have, g:colors_name is wiped out.
In any case, none of the :hi statements in mine.vim contain the word "Directory", so I added to following to turn on a bit of green:
hi Directory guibg=#00cc00
All this did was to highlight the filename field of all quickfix entries with a green background. The current quickfix item, however, is still highlighted in the Search guibg (red). This means the entire row, not just a single field in the row.
Based on my last post, I suspect that this is hard-coded.
Thanks for tinkering and posting. I think I have a better idea of how color schemes work now.
Thanks Tony. Maybe I can use that in a pinch sometime.