メッセージ

2013年04月02日の記事

2013/04/02(火)vim 7.3を更新すると何故か文字化けするようになる・・・

2017/10/12 5:19 サーバ運営・管理
vim は、伝統的 unix ライクなスクリーンエディタです。
筆者は、このタイプのスクリーンエディタを20年以上愛用しています。

vim7.3 は多くの機能を「ユーザからのパッチ」で提供するという、一風変わったスタイルで、本日(2013/04/02) 現在で、その数は 875 に及ぶようです。
FreeBSD では、本日(2013/04/02) 現在でパッチ 669 までのものが提供されています。

最近、ports でソフトウェアの更新を図ると、日本語混じりのファイルを編集しようとすると、以下のように文字化けするようになりました。
before vim 7.3-669

先月あたりに発見し、原因が判らずじまいだったが、以下のブログ記事が解決してくれました。

vim で日本語が中途半端に文字化け (solved)
http://lesguillemets.blogspot.jp/2013/03/vim-solved.html

ここに書いてある記述にしたがって、診てみました。
# vim --version
・・・省略・・・
+mouse_xterm -mouse_urxvt -mouse_sgr -multi_byte +multi_lang -mzscheme
・・・省略・・・

赤文字のところに注目。同じように multibyte が何故か無効になっています。
全角文字はマルチバイトでないと対応できませんからね。

こうなれば、対処は暫定ですが簡単です。
ports の vim に以下のように変更を加えます。
# cd /usr/ports/editors/vim
# vi Makefile

(以下赤文字部分を追加)
MAKE_ARGS+= CONF_ARGS="--prefix=$PREFIX --with-tlib=termlib $CSCOPE_ARG --enable-multibyte "

# portupgrade -rf vim-lite-7.3.669

再構築が完了したら、再度確認します。
# vim --version
・・・省略・・・
+mouse_xterm -mouse_urxvt -mouse_sgr +multi_byte +multi_lang -mzscheme
・・・省略・・・


今度は大丈夫そうです。
確認のために、同じファイルを編集してみます。
after vim 7.3-669

おかげさまで修復できました(^^)
ports の不具合なのか? 環境の問題なのか?