I just discovered that if you have "syntax on" and "set showmatch" in
.vimrc, then the screen updating sometimes behaves wrong during
searches. I haven't quite figured out why some searches look OK and
others don't, but the search has to force a screen update for the bug
to be relevant, i.e. it has to cause a scroll. What I see, is that
only the character under the cursor is updated if the search causes a
long jump, then if I move the cursor up and down, it gradually
redraws. I'm using a * search and seeing the problem after wrapping
back to the start of the file, but that might be irrelevant. I also
see it with / searches.
It doesn't happen every time, and I think it might depend on how long
you keep you finger on the * key for. The more plugins you've got, the
more likely it is to happen, but it also happens with none if you're
patient. With minibufexpl and about ten files open, it's fairly
common. Maybe the vimrc settings are a red herring then. I'm attaching
a file that exhibits it nicely if you * search for port_write.
I downloaded and compiled it very recently with default options. Here
is some version and config info:
ad@bagel ~/Gitwork/digilife $ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Nov 18 2009 22:22:19)
Compiled by ad@bagel
Normal version without GUI. Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+cryptv -cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic
-emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path +find_in_path
+float +folding -footer +fork() -gettext -hangul_input -iconv +insert_expand
+jumplist -keymap -langmap +libcall +linebreak +lispindent +listcmds +localmap
+menu +mksession +modify_fname +mouse -mouseshape -mouse_dec -mouse_gpm
-mouse_jsbterm -mouse_netterm -mouse_sysmouse +mouse_xterm -multi_byte
+multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra -perl +postscript
+printer -profile -python +quickfix +reltime -rightleft -ruby +scrollbind
-signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
-toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset -xim
+xsmp_interact +xterm_clipboard -xterm_save
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2
Linking: gcc -L/usr/local/lib -o vim -lXt -lm -lncurses
ad@bagel ~/Gitwork/digilife $ cat ~/.vimrc