テキストファイルがあります。私はそれをUTF8にするように言われました。Vimでそれを行うにはどうすればよいですか?
Vimのエンコーディングオプションの
—
Benoit
テキストファイルがあります。私はそれをUTF8にするように言われました。Vimでそれを行うにはどうすればよいですか?
回答:
latin1としてエンコードされたファイルを編集している場合、そのバッファーの 'fileencoding'がlatin1に設定されていることがわかります。そのため、ファイルを保存する前に手動でファイルエンコーディングを設定する必要があります。
:set fileencoding=utf8
:w myfilename
また、UTF8ファイルは多くの場合、エンディアンを示すバイトオーダーマーク(BOM)で始まることに注意してください。BOMは任意であるが、一部のプログラムは、ファイルのエンコーディングを決定するために独占的にそれを使用します。特定の条件下では、VimはBOMを作成しますが、作成しない場合もあります。BOMを明示的に設定するには、次のようにします。
:set bomb
詳細:help mbyte-options
および:help utf8
およびについて:help bomb
。
set fileencoding=utf-8
。Vimは、BOMを作成するように指示した場合、BOMに気付くことさえありません(実際にそれを作成します)。utf-8を機能させるには、それまたはset encoding=utf-8
起動設定が必要です。少なくとも、それは私のシステムの話です。
:w ++enc=utf-8 %
ファイルをutf-8エンコーディングでディスクに書き込む。
fileencoding
、:w ++enc=utf-8
は1回だけ有効ですが、次回を実行する:w
ときにの値'fileencoding'
が使用され、値を変更していない場合(編集中に明示的に、またはファイルを再ロードすることによって)これ'fencs'
は適切に設定され、実際のエンコーディングが正しく検出されます)、古いエンコーディングが返されます。
fileencoding
も質問に対する有効な回答です。これはIMOが悪い習慣をとることにはなりません。でもそれは気分だけの問題だと思います。