コンピュータリテラシー演習目次
Emacsの使い方目次

Emacsの文字コード指定

Emacsではバッファごとに文字コードの取り扱いを変えることができる. 変更できる文字コードには,主に次の3つがある:
◇ファイル文字コード
バッファの内容をファイルに書き込むときの文字コード
◇キーボード文字コード
Emacsにキーボードから入力されるコードで,端末が送り出す文字コードとキーボード文字コードを一致させておかねばならない
◇ディスプレイ文字コード
Emacsから端末表示用に送り出される文字コードで,端末の表示に用いられるコードとディスプレイコードを一致させておかねばならない
他に,外部プロセスと通信するときに用いられるプロセス文字コード,コピー&ペースト などに使うセレクション転送時の文字コードなども変更できる.

編集中のバッファの文字コード・改行コードの判定

今,使っている編集バッファではどんな文字コードや改行コードを使っているかはEmacsウィンドウ下部にある黒ライン行であるモード行に表示されている. たとえば,下のようなモード行の場合,左端の『-E:--』の部分の赤い色部分『E:』が文字コードを表している:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
-E:--  *scratch*         (Text Encoded-kbd)--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

上の例では,EUC日本語コードが使われ, 行末の改行はUNIXであることを示す.

文字コードを表す代表的な記号は次のようである:

バッファで使われている漢字コード
記号意味
E日本語EUC
JJIS漢字
SShift JIS漢字

行末の改行の取り扱いは次のように示される:

バッファで使われている行末処理
記号意味
:LF(Unix)
(DOS)CR-LF(MS-DOS)
(Mac)CR(Macintosh)

文字コード(改行コード)の切り替え

現在編集中のバッファ内の文字コード・改行コードを変更するには,キーボードから

C-x RET f
を(あるいは Esc + x set-buffer-file-coding-system)を入力して,次のように現れるミニバッファ

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
Coding system for visited file (default, nil): ここにコード設定を入力
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

に次のような変更するコード設定を入力する(改行コードの現在の設定のまま):

euc-japan
日本語EUCコードへ変更する
junet
JISコードへ変更する
sjis
Shift JISコードへ変更する

文字コードに加えて,行末改行コードの取り扱いも同時に変更することができ,文字コードxxxx-の後に次のようにUNIX, MS-DOS, Macintoshに応じて unix, dos, mac をつけてコード設定とする:

OS種別EUCJISShift JIS
UNIXeuc-japan-unixjunet-unixsjis-unix
MS-DOSeuc-japan-dosjunet-dossjis-dos
Macintosheuc-japan-macjunet-macsjis-mac

これらの操作によってコードが設定されるが,実際にファイルに反映されるのは,バッファの内容を書き換えてファイルに保存したときである.

目次

Emacsの使い方目次


mizutani@edu.tuis.ac.jp
ohmi@rsch.tuis.ac.jp (加筆修正 2002年4月22日)