パーソナルツール

ファイルのエンコーディング、改行コードを変更して、ファイルを保存する。

作者: 小見 拓 最終変更 2012年01月08日 11時59分

vimエディタで、ファイルのエンコーディング、改行コードを変更して保存する方法を説明します。 この機能は、他の一般エディタの「保存時の文字コード、改行コード指定」の機能にあたります。 (Windows, Mac)

概要

vimエディタでファイルのエンコーディング、改行コードを変更して保存する方法を説明します。
この機能は、他の一般エディタの「保存時に文字コード、改行コードを指定する機能」にあたります。

ファイルの文字コードを変更して保存する

vimエディタでファイルの文字コードを変更するには、
「:set fenc={文字コード}」というコマンドを実行します。

" ファイルの文字コードを変更する
:set fenc={文字コード}

" 文字コードeuc-jpを指定。
:set fenc=euc-jp
" 文字コードshift_jisを指定。
:set fenc=shift_jis
" 文字コードutf-8を指定。
:set fenc=utf-8

文字コードを変更した直後はファイル保存前の状態なので、
文字コードを変更して保存するには、次のように2つのコマンドを実行することになります。

" ファイルの文字コードを変更して、ファイルを保存。
:set fenc=utf-8
:w

ファイルの改行コードを変更して保存する

vimエディタでファイルの改行コードを変更するには、
「:set ff={ファイルのフォーマット}」というコマンドを実行します。

" ファイルの改行コードを変更する
:set ff={ファイルのフォーマット}

" Windowsの形式を指定。
:set ff=dos
" Macの形式を指定。
:set ff=mac
" Unixの形式を指定。
:set ff=unix

やはり、改行コードを変更した直後はファイル保存前の状態なので、
改行コードを変更してファイルを保存するには、次のようにコマンドを実行します。

" ファイルの改行コードを変更して、ファイルを保存。
:set ff=unix
:w

変換処理をかける時に、注意するべきこと

ファイルの文字コードを変更して保存する場合、改行コードを変更してファイルを保存する場合、 どちらの場合でも注意しなければならないことがあります。
それは、vimエディタがファイルのエンコーディングや改行を正しく解釈できていない状態では、 ファイルの文字コード、改行コードを変換してはいけない、ということです。
例えば、下(↓)のような文字化けしている状態で文字コード変換処理を行うと、ひどい目にあいます。

文字化けしたファイル

このような場合、ファイルの文字コード、改行コードを変換する前に、 ファイルを正しい状態で開いてから 、変換処理を行う必要があります。
ファイルの文字コード、フォーマットを指定してのファイルの読み直し方 については、 記事を書いているので、そちらも参考にしてみてください。

Note

つまり、次のような手順となります。

  • 正しい状態でファイルを開く。
  • ファイルの文字コード、改行コードの変換処理を行う。
  • ファイルを保存する。
ドキュメントアクション
コメント
blog comments powered by Disqus