可能ですか?
私は名前付きバッファ(ファイル)に対してこれを行う方法を知っています。もう一度開く必要があります
++enc=<encoding>
オプション。ただし、名前のないバッファは再度開くことはできません。
実行しましたが、:set encoding=utf-8
VIMに表示されているテキストはまだ読み取れません。バッファをファイルに保存した後にのみ開いて再度開くと、:e ++enc=utf-8
正しく読み取ることができます。しかし、私はバグを見つけました[ILLEGAL BYTE in line 37]
。しかし、私はそれに満足しています。最も重要なことは、内容を読むことができるということです。
エラーなしで実行しましたが、:set encoding=utf-8
何も起こらないようです。
仮想マシン 7.4
答え1
再度開く必要はありません。コマンドモードでは、必要に応じてエンコードを設定できます。
:set encoding=whatever
例えば
:set encoding=utf-8
さて、:help encoding-names
サポートされているvim
エンコーディングのリストを入力してください。
答え2
この'encoding'
オプションはVimのテキスト内部表現に関するものです。みんなバッファー。 Vimが起動した後は、この値を変更しないでください。バッファエンコーディングに(少なくとも直接的には)影響しません!
あなたが探している:help 'fileencoding'
オプション:
:setlocal fenc=...
要約すると、新しいバッファに入力して表示できる文字の種類は、このオプションによって制御されます'encoding'
。その「最高の」値はですutf-8
。なぜならそれだけが示すからです。どの文字(Unicode内)。これで、名前のないバッファを作成して別のエンコーディングで保存したい場合は、最初の書き込みと'fileencoding'
後続の書き込み(例:)でそれを変更できます。ucs-2le
(:w ++enc=...
また動作しますが、特定の書き込み専用です!)
対照的に、発覚このオプションを設定したい開いているファイルの数'fileencodings'
。