※ ChatGPTを利用し、要約された質問です(原文:Vimエディタ:新規ファイルのfileencodingについて)
Vimエディタの新規ファイルのfileencodingについて
このQ&Aのポイント
Vimエディタで新規ファイルを作成する際のfileencoding(ファイルの文字コード)について調べているのですが、保存後に再びファイルを開くと文字コードが変わってしまいます。
Vimの設定ファイルである.vimrcには文字コードの設定が記載されており、encodingにeuc-jpを指定しています。しかし、新規ファイルを作成した後に再び開くと文字コードがiso-2022-jpに設定されてしまいます。
ファイルの文字コードを指定する際に、fileencodingsという設定も行っていますが、これが新規ファイルには影響しないことが分かっています。なぜこのような現象が起こるのか、ご存知の方がいらっしゃいましたら教えてください。
Vimエディタ:新規ファイルのfileencodingについて
OS: Fedora Core4
editor: Vim version 6.3
shell: bash 3.00.16
私は.vimrcファイルに文字コードの設定を次のようにしています。
set encoding=euc-jp
set fileencodings=iso-2022-jp,sjis,utf-8
この設定で新規ファイルを作って、「set fenc?」でファイルの文字コード(fileencoding)を調べると当然ながら何も指定されていません。
しかし、このファイルを保存した後に再び開くと「fenc=iso-2022-jp」となって、ファイルの文字コードがiso-2022-jpに設定されています。
fileencodingsが新規ファイルには使用されないことは分かっているのですが、Vimのhelpを参照(:h fileencoding)すると、
「"fileencoding"が空のときには、"encoding"が使用される」(意訳)
と書かれています。
従って、(encodingをeuc-jpに設定した)私の環境では自動的にfileencodingがeuc-jpに設定されると思ったのですが、上記のように、ファイルを保存後に再び開くとiso-2022-jpに設定されていました。
なぜこのような現象が起こるかご存知の方がいらっしゃいましたら是非教えてください。(おそらく私が勘違いしている部分もあると思うので、そういった点も含めて指摘していただけるとありがたいです)
お礼
迅速な回答ありがとうございます。 リンク先、早速確認してみました。 確かに、これが原因のようですね。 Vimのヘルプにもこういった記述があるのでしょうか? このリンク先の.vimrcファイルの設定を見ると、かなり複雑な条件設定がされているみたいですが、私はまだここに書かれていることがスラスラ理解できるレベルでは無いので、もっとしっかりとヘルプを調べてみる必要がありそうです。 「入門vi」にはそこまで書いて無いし・・・