このエントリーをはてなブックマークに追加


viで文字コードおよび改行コードを指定してファイルを開く

viでWindowsのファイルを開くとき、文字コード自動判別に失敗し文字化けが起こった場合
以下に紹介する内容により、文字化けせずにテキストファイル開くことができます。


関連記事

:e ++enc=文字コード

以下の書式で文字コードを指定することができます。

オプション文字コード
:set fenc=utf-8UTF-8
:set fenc=euc-jpEUC-JP
:set fenc=iso-2022-jpISO-2022-JP
:set fenc=cp932CP932(Windows shift-jis)

以下のように端末からテキストファイルを開くことにより文字コード指定が可能です。

vi -c ':e ++enc=cp932' Windowsで作成したテキストファイル名

:e ++ff=改行

オプション改行コード
:e ++ff=dosCRLF
:e ++ff=macCR(旧MacOS用)
:e ++ff=unixLF

以下のように端末からテキストファイルを開くことにより改行コード指定が可能です。

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)で文字コードと改行コードを指定してファイルを開く方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:29:42