VIMでファイルエンコードの確認や変換

主にenc, fileencoding, fileformatの3つを確認・変換する必要がある。

Excel形式 .xlsx から .tsv への変換は、GoogleSpreadsheetへインポートしてから .tsv 形式でエクスポートを行えばよい。


ファイルのエンコードを調べる・変換する

vimでファイルを開く。

% vi xxx.xlsx

エンコードを確認する。

:set enc

エンコードを変更する。

// =でエンコードを指定できます
:set enc=utf-8 [euc-jp, shift_jis]

f:id:hrt0kmt:20140506181817p:plain

f:id:hrt0kmt:20140506181709p:plain

ファイル自体のエンコードを調べる

// ファイルエンコード確認
:set fileencoding

// =でエンコードを設定
:set fileencoding=euc-jp shift_jis utf-8

短縮型::set fenc

改行コード


ファイルのフォーマット(改行コード)をVIMで調べる・置き換えする

Windowsで作成したファイルの改行コードはCR+LFだ。これに対して、Linuxの改行コードはLFだけなので、ファイルの転送方法によってはWindowsで作成したテキストファイルをviで開くと、すべての行末に「M」が表示される場合がある。 @IT > Linux & OSS > Linux Tips Index > テキストファイルの行末にMが表示される

// 改行コード確認
:set fileformat

// =でフォーマットを指定できます。
:set fileformat=dos mac unix
// :set ff (短縮系)

// 改行コード削除 LFへ変換(^M削除)
:%s/^M//g

^MCtrl+V+Ctrl+Mで記述可能。


改行コードをコマンドから調べる

od -c xxx.txt | less