'encoding' オプション

'encoding' and iconv - KBDAHOLIC - やぬすさんとこ
ここ見てて思ったこと。

:help 'encoding' によると、

It should normally be kept at its default value, or set when Vim
starts up.

だそうなので、 'encoding' オプションは基本的に変更するのは良くなさそう。
実際、 EncodingChanged イベントの発生時にマルチバイトが使われてそうなオプションの値のエンコーディングを変換すると言う恐らく役に立つことはまずないだろうと思われる設定を書いていたんだけど、 skk.vim が一時的に 'encoding' を latin1 に変換すると言う暴挙を行っていたため、オプション値が完全に壊れたと言う経験がある。
とはいえ、 set encoding& としないとデフォルト値を得られないのも事実。


難しいところだけど、私なら encoding を指定してもらう、にするかなー。'encoding' は絶対に変えてはいけないと言うスタンスが染みついているので、そうなると指定してもらうしかない。
Vimにはこういった微妙な制限が割とあるので、ある程度は仕方ないかなーとも思ってる。思ってるけど、やっぱり何もせずに動いてくれた方がうれしいよね。
ちなみに私は 'termencoding' に 'encoding' のデフォルト値を入れるようにしているので、自分が使うだけの場合は何も考えずに 'termencoding' を使うようにしてる。自分だけならいいんだけど、 plugin 化するとなると考えないといけないのかなぁ。うーん。