iTermでコマンドで日本語を正常に扱うための設定

2010年2月14日

iTermだけの問題ではないかもしれませんが、iTermではコマンドライン上で 日本語を入力すると、ctrl-aや以前使った日本語を含むコマンド履歴を呼び出した際に カーソルがおかしくなります。


これをなんとか解決したくていろいろと調べましたので、その解決策を以下に記述します。
まず、デフォルトでインストールされている.bashrcではだめのようで、MacPortsに登録されている zshを使用します。 


MacPortsをインストールしていない方は以下のようにしてインストールしましょう。

 

  • MacPortsのダウンロードページ から、MacPortsをダウンロードして、dmgファイルをクリックして解答された.pkgファイルをクリックし、インストール。

    (注)MacPortsを使うには、事前にXCodeをインストールしておく必要があります。
    インストールしていない場合は、 ADC (Apple Develeper Connection) でユーザ登録してXCodeをDL&インストールしておきましょう。そうしないとgccやmakeコマンドが動きません。 


次は、zsh-develのインストールです。


1
2
3
4
5
6
# /opt/local/bin配下にMacPorts用のportコマンド(apt-getのようなもの)がインストールされるので、これを使ってzsh-develをインストールする。
$ sudo port install zsh-devel +mp_completion +pcre +utf8

# デフォルトシェルをインストールしたzshに切り替える。
# hogeusrの部分は、自身のユーザ名を入力してください。
$ sudo chsh -s /opt/local/bin/zsh hogeusr
最後に、ターミナルの環境変数LANGを設定すれば、日本語を入力してctrl-aしても、カーソル位置が 正常に保たれるようになります!


.zshrcに「export LANG=ja_JP.UTF-8」を追加して、シェルを再起動。