htmlのオムニ補完で大文字が出てきて困る

vimでhtmlファイルを編集するときに、タグのomni-completionで大文字が出力されたりすることがあって困ってた。具体的には、<のみ入力し CTRL-X CTRL-O を押すと、補完候補は小文字になっているのに、<a の様にタグ名を途中まで入力し CTRL-X CTRL-O を押すと、候補が全て大文字で出てくる。


htmlのオムニ補完はどうやら、
$VIMRUNTIME/autoload/htmlcomplete.vim
の212行目の、

if tag =~ '^[A-Z]*$'

のコードで入力されたタグの大文字/小文字をチェックしてるっぽい。=~って何?と思ってヘルプを引いたら、=~は正規表現マッチの演算子で、ignorecaseがオンになっていると大文字小文字を無視する、とのことだった。試しにignorecaseをオフにすると、<aと入力し補完を呼び出しても小文字で出てくるようになった。ただ、ignorecaseは通常オンにしているので、htmlだけオフにするのも何か抵抗がある。そこで、=~ をignorecase関係無しに大文字小文字を違う文字として認識する演算子=~#に書き替えた。

if tag =~# '^[A-Z]*$'

とりあえず今のところは問題無く動いている。

環境

Vim 7.2
htmlcomplete.vim は ヘッダに「Last Change: 2006 Oct 19」と記載があるファイル