viでWindowsのファイルを開くとき、文字コード自動判別に失敗し文字化けが起こった場合
以下に紹介する内容により、文字化けせずにテキストファイル開くことができます。
以下の書式で文字コードを指定することができます。
オプション | 文字コード |
:set fenc=utf-8 | UTF-8 |
:set fenc=euc-jp | EUC-JP |
:set fenc=iso-2022-jp | ISO-2022-JP |
:set fenc=cp932 | CP932(Windows shift-jis) |
以下のように端末からテキストファイルを開くことにより文字コード指定が可能です。
vi -c ':e ++enc=cp932' Windowsで作成したテキストファイル名
オプション | 改行コード |
:e ++ff=dos | CRLF |
:e ++ff=mac | CR(旧MacOS用) |
:e ++ff=unix | LF |
以下のように端末からテキストファイルを開くことにより改行コード指定が可能です。
vi ':e ++ff=dos' テキストファイル名
上記の ++enc= と ++ff= を同時に指定する場合は以下のように記述します。
以下の記述例は、Windowsのテキストファイル(cp932(sjis) + CRLF)を開く場合です。
vi -c ':e ++enc=cp932 ++ff=dos' テキストファイル名
当方、Windows上でCygwinのvi(vim)を使用するとき、.bashrcに以下のエイリアスを追記しています。
alias visjis='vi -c ":e ++enc=cp932 ++ff=dos"'
これにより visjis ファイル名 でWindowsファイルを開いています。
ちなみにCygwinはデフォルトのインストールで、以下のLANGとなっています。
$ echo $LANG ja_JP.UTF-8
以上、vi(vim)で文字コードと改行コードを指定してファイルを開く方法でした。