Kaoriya さんで配布している Vim には最初から半角・全角を変換するスクリプトが含まれている。:Hankaku でカレント行、:%Hankaku でファイル全体が半角になる(超便利!)のだが、ビジュアルモードで選択した文字列に対しての変換操作が、何故か動作しなかった。
Vim がデフォルトの状態では動いたので、自分が追加した設定ファイルを見直した。1 つ 1 つコメントアウトしていって、動いたのはクリップボードに関する設定を外したときだった。
set clipboard=noname
これが原因らしい。クリップボードに無名レジスタが使えるってだけなので、通常通り "* レジスタ からアクセスすれば問題なし。