LoginSignup
84
94

More than 5 years have passed since last update.

Vimの文字コード関連

Posted at

Vimの内部文字コードする(encoding)

set encoding=utf-8

とするとVimの内部文字コードがUTF-8に設定される。
バッファの内容はこの文字コードで扱われる。
encodingがutf-8に設定された環境で以下のコマンドを実行すると「3」と表示されるはずである。

:echo len('あ')

これはUTF-8で「あ」が3バイトであることを示している。
encodingは後で設定しても反映されないため、.vimrcに書く必要がある。

ファイル書き込み時の文字コード(fileencoding)

set fileencoding=utf-8

fileencodingが設定されていると、バッファの内容がファイルに書き込まれるとき、
(すなわち:wしたとき)にencodingからfileencodingに文字コード変換が行われる。

fileencodingが設定されない場合は、encodingと同じになり、文字コード変換は行わない。

fileencodingの設定は、書き込み時にファイルに書き込まれる文字コードを設定するもので、
バッファに開かれている内容はencodingの設定で扱われることに注意。

読み込み時の文字コード(fileencodings)

set fileencodings=utf-8,cp932

読み込み時にどの文字コードとして読み込むかを指定する。
カンマ区切りで設定し、左から順に試して最初に成功した文字コードで読み込み、
encodingに文字コード変換されてバッファが開かれる。

成功した文字コードはそのバッファのfileencodingに設定される。

文字コードを指定して再読み込み

:e ++enc=cp932

詳細

:help encoding
:help fileencoding
:help fileencodings
84
94
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
84
94