Max Dyckhoff wrote:
I normally run with lots of splits. Recently I started using italics for
various syntax highlighting (especially comments and enum tag values).
Since then I have noticed the ocassional pixel remaining when I switch
from one split to another.
The situation where this happens is pretty reproducable. In one split
have a block of text with a large amount of white space at the
beginning, such as:
type my_function( type parameter,
type parameter2,
type parameter3);
Then in an adjacent split have some italicised comment text which starts
in the same window location as the white space, such as:
// wibble wobble
// wibble wobble
// jelly on a plate
When I switch from the comment split to the text split, the lower left
pixel of the leading / is left behind on the two lines with whitespace.
It does actually happen in more places than this, but that is the most
easily reproducable.
If I scroll the window containing the spurious pixels then the pixels
scroll with the text (which is odd). If I visual select the block of
text, or type over the pixels, then the spurious pixels will go away.
Any ideas what I can do to fix this? I'm on Windows XP, running vim 7.0
as gvim (although with none of the fancy menus or scrollbars, I just use
it for the colouring :)
Max
It may depend on your 'guifont'. Some fonts are not truly fixed-width
all over their glyph range, and that may cause problems. I remember for
instance, that I had "disappearing pixels" in bold Cyrillic with the
Lucida_Console font, so now I use Courier_New for Russian.
-- Watch out: there are 4 possible different formats for 'guifont', and
each version of gvim accepts only one of them. (Console Vim, of course,
accepts none of them.) The families are GTK+2, kvim, other-X11 and
non-X11. (GTK+1, Athena, Motif, ... are part of other-X11.) So for
instance to set 12-pitch Courier New or similar:
if has("gui_running")
if has("gui_gtk2")
set gfn=Adobe\ Courier\ 12
elseif has("gui_kde")
set gfn=Adobe\ Courier/12
elseif has("x11")
set gfn=*-courier-medium-r-normal-*-*-120-*-*-m-*-*
else
set gfn=Courier_New:h12
endif
endif
The names may vary somewhat according to what your installed fonts call
themselves. Vary the single number in each font name to make the font
bigger or smaller.
On some systems ":set gfn=*" will pop up a menu of fonts; on most
systems (with 'nocompatible') ":set gfn=<Tab>" (where <Tab> means "hit
the tab key", not "hit the 5 keys < T a b > in succession") will allow
to edit the current value on the command-line. (Enter to accept, Esc to
cancel)
Best regards,
Tony.