Mac OSX x zsh で日本語表示 & 入力

| コメント(1) | トラックバック(0) | このエントリーを含むはてなブックマーク

散々悩んだんですが、Mac で zsh を使って日本語を表示 & 入力が出来るようになりました。zsh はバージョン 4.3 から UTF-8 に対応したとのことなので、とりあえず使ってみることにします。あと断っておきますが、Mac OSX のデフォルトの TERM は xterm なので EUC-JP じゃないと日本語を表示することはできません。ですのでここでは Screen を使うことを前提に話を進めます。

追記: xterm でも UTF-8 で日本語表示出来るそうです。

Terminal x Z Shell for Japanese!!

上記は実際日本語を表示させたスクリーンショット。ls でも日本語フォルダが表示されています。また入力に関してもちゃんと表示出来ています。よく見ると Screen の下のバーで文字化けしてますが...

手順

  1. Terminal の日本語設定をする
  2. zsh のインストール
  3. zsh の日本語設定をする
  4. 最後に

Terminal の日本語設定をする

  1. まず「ウィンドウ設定」から「エミュレーション」えらび「非ASCII文字をエスケープする」のチェックボックスをオフにする。
  2. つぎに「ディスプレー」を選択し、「日本語や中国語などにワイドグリフを使用する」と「ワイドグリフは2桁とカウントする」をオンにする。
  3. それから文字コードエンコーディングを UTF-8 に変える。

zsh のインストール

実はインストールする際に日本語表示出来るように CONFIGURE で設定をしてあげないと UTF-8 に対応しないらしいので zsh を最初からインストールする。

% wget http://www.zsh.org/pub/zsh-4.3.2.tar.gz
% tar xzvf zsh-4.3.2.tar.gz
% cd zsh-4.3.2
% ./Util/preconfig    
% ./configure --enable-multibyte --enable-locale
% make
% sudo make install

zsh の日本語設定をする

まずホームディレクトリに .inputrc を作成して以下のように書いておく。

set kanji-code utf-8
set convert-meta off    #必須
set meta-flag on        #必須
set output-meta on      #必須
set input-meta on
set enable-keypad on

それから .zshenv とかで日本語表示の設定をする

export LANG=ja_JP.UTF-8
export SHELL=/usr/local/bin/zsh   #自分のzshのPath

とか書いておく。実は僕は二つめの SHELL 変数が /bin/zsh のままになっていて入力が文字化けするのでずいぶん悩みました。ここで UTF-8 が使用出来る 4.3 以上の zsh の Path を指定しておかないと Mac の場合はデフォルトの zsh4.24 を使用することになってしまい、$PATH 自体が通っていたとしても UTF-8 を使用出来ないので文字化けしてしまいます。まぁ zsh インストールする際にディレクトリ指定すれば済む問題なんですけど、僕はここではまったのでメモのために書いておきます。

最後に

ファイルを書き換えただけでは読み込まれないので Terminal を一度閉じ、再起動する。これでホームディレクトリの設定ファイル(.ファイル)が読み込まれるので日本語表示&入力が出来るようになるはずです。

参考リンク

  1. ターミナルでの日本語の扱いについて
  2. Re: zsh & UTF-8[メーリングリスト]
  3. Terminal.appで日本語入力
  4. Out of Sync - OSX の utf-8 な zsh で日本語入力とか

追記

寝て起きたら id:nagaton さんからブクマコメント頂いていた。環境変数でShellを設定するより chsh か NetInfo マネージャ使って変えた方が良いとのこと。確かにそうですよね。NetInfoの使い方 はこんな感じ。

トラックバック(0)

トラックバックURL: http://www.hasta-pronto.org/mt/mt-tb.cgi/88

コメント(1)

私も Mac OSX 10.4.8 上で tcsh を使って日本語環境構築を試みています、基本的にはうまくいくのですが、OSX の UTF8 は少し特殊らしいですね、zsh では濁点つき仮名文字のコマンドライン編集がうまくいきますか?

コメントする