:set fileencoding=utf-8
を使用していますが、ファイルは正しく保存されますが、次に開いたときに文字化けが発生し、:set fileencoding?
でオプションが設定されていないと表示されます。
ドキュメントから、encoding
オプションに触れてはならないことを理解しています。
VIMでファイルのエンコードを指定する正しい方法は何ですか?
使用する
set fileencodings=utf-8
(末尾にsがあります)異なるエンコードのリストを含めることができます。 Vimは、リストされているエンコーディングを左から右に試して、動作するまでfileencodingをそのエンコーディングに設定します。何も機能しない場合、fileencodingは空の文字列に設定され、デフォルトの動作になります。
また、vimrcにそれを追加して、常にそれを実行しているわけではないこともおそらく意味があります。
fileencodings
を、ファイルを開くときにvimが試行するさまざまなエンコーディングに設定する必要があります。次に例を示します。
set fileencodings=ucs-bom,utf-8,latin1
:help fileencodings
から:
これは、既存のファイルの編集を開始するときに考慮される文字エンコーディングのリストです。ファイルが読み込まれると、Vimは最初に述べた文字エンコーディングを使用しようとします。エラーが検出された場合、リスト内の次のエラーが試行されます。動作するエンコードが見つかると、
fileencoding
が設定されます。
Vimを起動するたびに手動で入力する必要がないように、これらの設定を.vimrc
ファイルに配置するのが最適です。
そのディレクティブをファイルのコメントに入れることができます:
# vim: set fileencoding=<encoding name> :
Vimを開いたときにファイルが正しく表示されない場合は、:set encoding = utf8でエンコードを指定します
開いた:
vim ~/.vimrc
追加:
set fileencodings=utf-8
set encoding=utf-8
次を入力して保存して閉じます。
:wq
VIMエンコーディングについての多くのスレッドを読みました。最も重要なトリックは、ファイルを開く前に、最初にVIM= :++ enc = filename.extの編集エンコードとファイルエンコードに関するほとんどの質問を処理できます。
キーポイントは次のとおりです。
私は英語の母国語ユーザーではないので、自分のやり方を検証できると思います。