Start MacBook

ターミナルでの日本語入力

ターミナルのコマンドラインとターミナル上で起動したEmacsでの日本語入力について。

コマンドラインで日本語

ターミナルで日本語を入力すると、 文字がエスケープされて「\」+「数字」で表示されてしまいます。

Terminal
Terminal

設定変更が必要です。 ディスプレイ左上の「ターミナル」メニューから「ウインドウ設定...」を選択すると、 設定ウィンドウ「ターミナルインスペクタ」が出てきます。 そして、プルダウンメニューで「エミュレーション」を選択します。 デフォルトは下図のような設定なっています。 ここで「非ASCII文字をエスケープする」のチェックをはずします。

  Terminal conf

そして、 ホームディレクトリに下記の内容の .inputrc というファイルを用 意します。

set convert-meta off
set meta-flag on
set output-meta on

で、ターミナルを再起動し、もう一度日本語入力にトライしてみると、 今度はちゃんとできました!

Terminal

以上、このページを参考にやってみました: http://homepage3.nifty.com/toshi3/osx2t.html

ターミナルのシェルと文字コード

ターミナルのデフォルトのシェルはbashで、デフォルト文字コードはUTF-8になっています。 なお、zshでUTF-8で日本語を使うには、zshのバージョンアップが必要だそうです。 「Mac OSX x zsh で日本語表示 & 入力 : Hasta Pronto.org」 で手順が解説されています。

ログインシェルは普段使っているzshに変更しました(バージョンアップはしてません)。 某氏から教えてもらった 「login shell の変更は NetInfo マネージャーで!」というフレーズを念仏のようにとなえながら、 Finderで「アプリケーション」→「ユーティリティ」→「NetInfo マネージャー」を起動。 「users」→「自分のユーザ名」を選択し、左下の南京錠をクリックし、 パスワードを入力(下図)。 それから「shell」の箇所を「/bin/bash」から「/bin/zsh」に変更。 再度、南京錠をクリックして完了。 ターミナルを再起動して確認!

NetInfo
Manager

私はEUC-JPベースで作業することが多いので、 ターミナルの文字コードの設定を変更します。 さきほどの設定ウィンドウ「ターミナルインスペクタ」で、 「ディスプレイ」を選び、「文字セットエンコーディング」を 「日本語 (EUC-JP)」にしました(下図)。

Terminal

あと、 less や more を使うと、 「invalid charset name」とエラーが出て困りました。 ネットで調べると2ちゃんねる(キャッシュ)に解決方法が。 環境変数 LESSCHARSET に latin1 をセットすればOK、とのこと。 私の場合は、.zshrc に下記の一行を加えて解決しました。

export LESSCHARSET='latin1'

ターミナル上でEmacs

ターミナルからデフォルトの Emacs (エディタ)を使う場合、 何も設定なしだと日本語入力ができません。 ホームディレクトリに下記の内容の .emacs ファイルを作ってから、 起動(コマンドラインから emacs と打つだけ)すれば、 文字列入力も問題なくできるようになります。

(set-language-environment "Japanese")
(set-default-coding-system 'euc-jp)
(set-keyboard-coding-system 'euc-jp)
(set-terminal-coding-system 'euc-jp)
(set-buffer-file-coding-system 'euc-jp)

なお、「ターミナルインスペクタ」で、 「キーボード」を選び、「メタキーとしてoptionキーを使用する」をチェックすると、 「alt/option」キーをメタキーとして使えるようになります。 Emacsには必須!

ターミナルの複数オープン

ターミナルを複数起動するには、Dockにあるターミナルアイコンを長押し or トラックパッド二本指タッチ、 で出てくるメニューから新規シェルを選択すればok。

はまりどころ

いろいろな組み合わせを試してみたりしていたのですが、 なぜか、bash + UTF-8 + Emacs で日本語入力しようとすると、 仮名漢字変換後にターミナルごと固まってしまいました。 そのときの .emacs は下記通り。

(prefer-coding-system 'utf-8)
(set-default-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)

何か根本的に勘違いしているのかもしれません。 または、アップデートしたzshを使えば平気なのかな? とりあえずメモしておきます。 まあ、EmacsはCarbonEmacsを使うつもりなので深追いしませんが。

written by [を] (2007.3.21) トラックバック()
Apple Store(Japan)