合字などの文字幅が適切に扱われるようになったという話の WindowsTerminal v1.22.10352.0 がリリースされたのでアップデートした。だが、vim での画面出力が乱れて困っている。

- カーソル位置にテキストを挿入すると、カーソル位置より右にあった日本語が二重出力されてしまう。
- 起動画面の日本語メッセージがきちんと消えてくれない
- Ctrl-L を押下すれば、画面の乱れはおさまる
- WindowsTerminal v1.21.10351.0 では不具合は発生しない
- End Of Line マークの
$が悪さをしているのかと思ったが、set nolistしてオフにしても症状は変わらず。それどころかvim --cleanで設定をロードしなくても発生する - WindowsTerminal 側の設定 → 互換性 → テキスト測定モードを
Grapheme クラスターからWindowsコンソールやwcswidthなどに変えても直らない( WindowsTerminal の再起動もやっている) - 画面幅が90桁だったので、80桁などにしても同じ
- nyagos / go-readline-ny などではまったく問題はでない
- https://github.com/Microsoft/Terminal や https://github.com/vim/vim の issue や Releases を見たが特に本件に関係してそうな問題や修正は見付けられず
ネット検索しても、同様の症状の報告は皆無。自分の環境だけなんですかねぇ…
この状態では vim で日本語文書を編集するたびにストレスになるので、とりあえず、WindowsTerminal v1.21.10351.0 を別途インストールして、そちらを使うようにしています。
2025-03-24 追記
1.22.10731.0 でも直ってませんでした。
使い分けられるように、v1.21.10351.0 とv1.22.10352.0 を両方使えるようにしておきたいけど、アイコンが紛らわしいな…と思ってたが、WindowsTerminal.exe、実行ファイルにアイコンが三種類内蔵されてた。

v1.21.10351.0 では白い版のアイコンを使うようにしました。
2025-04-01 追記
issue があがってた
I do have to say, it's shocking to me how "chatty" vim is. I did not expect that at all.
More importantly though, it's vim itself which prints the wide glyph twice, so it's probably not a "bug" in Windows Terminal per se (strictly speaking), but rather an unintentional regression that we may have caused with one of the recent modernizations.
「vim があまりにもおしゃべりなのにびっくりしたとしかいえない。まったく想定していなかった」 「より重要なのは、vim 自身が全角文字を二回出力している。おそらく、厳密には WindowsTerimnal の不具合ではなく、最近の近代化の一つで生じた意図せぬ回帰なんだろう」
まぁ、なんとなく、vim の素行が悪い気はしていた。確かに nyagos や go-readline-ny を使う分には、こういう問題はまったく現れていない。なんとなく、vim が Windows の古い時代に必要とされた回避策をかなり駆使しまくっていたのではないかと想像している(ソース見てないから、よう知らんけど)
2025-05-27 追記
直ってた(気付くのが遅い)
- ghost chars when select CJK chars in vim visual mode · Issue #18746 · microsoft/terminal
→ 4月15日くらいに completed になってたみたい - Fix wide char support for WriteConsoleOutputAttribute by lhecker · Pull Request #18796 · microsoft/terminal
→ 修正のプルリク - Release Windows Terminal v1.22.11141.0 · microsoft/terminal
→ リリースノートにて #18796 の反映が記録されている(2025-04-26)
2025-02-06 リリースの v1.22.10352.0 で顕在化してから、直るまで3ヶ月弱ですか… ( お疲れさまでした )
やはり、プレリリース版を使ってるCJK圏の人間が少ない & 不具合報告がないというのが問題なんでしょうね。最近は AI で翻訳してもらうことで細かいニュアンスを伝えやすくなってきたいるので、自分ももっと積極的にリポート出した方がいいんでしょうね。
2025-05-28 追記
v1.22.10352.0 を使ってみて気付きましたが、vim の表示は直っているんですが、合字のセル幅も5セルに戻ってますね。修正が結果的にロールバックされたのかな。リリースノートにはそういう記載はなさそうですが、どうなんだろ (こっちの設定ミス:後述)。
2025-06-05 追記
合字のセル幅が5セルに戻っているかのように見えたのは「設定」→「互換性」→「テキスト測定モード」が(自分が昔のバージョンで直らないかと試行錯誤した時に)「Windowsコンソール」にしたままになってたせいでした。「Grapheme クラスター」に直したところ、ちゃんと2セル表示になりました。たいへん申し訳ありません。