ターミナルのコマンドラインとターミナル上で起動したEmacsでの日本語入力について。
ターミナルで日本語を入力すると、 文字がエスケープされて「\」+「数字」で表示されてしまいます。
設定変更が必要です。 ディスプレイ左上の「ターミナル」メニューから「ウインドウ設定...」を選択すると、 設定ウィンドウ「ターミナルインスペクタ」が出てきます。 そして、プルダウンメニューで「エミュレーション」を選択します。 デフォルトは下図のような設定なっています。 ここで「非ASCII文字をエスケープする」のチェックをはずします。
そして、 ホームディレクトリに下記の内容の .inputrc というファイルを用 意します。
set convert-meta off set meta-flag on set output-meta on
で、ターミナルを再起動し、もう一度日本語入力にトライしてみると、 今度はちゃんとできました!
以上、このページを参考にやってみました: 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」に変更。 再度、南京錠をクリックして完了。 ターミナルを再起動して確認!
私はEUC-JPベースで作業することが多いので、 ターミナルの文字コードの設定を変更します。 さきほどの設定ウィンドウ「ターミナルインスペクタ」で、 「ディスプレイ」を選び、「文字セットエンコーディング」を 「日本語 (EUC-JP)」にしました(下図)。
あと、 less や more を使うと、 「invalid charset name」とエラーが出て困りました。 ネットで調べると2ちゃんねる(キャッシュ)に解決方法が。 環境変数 LESSCHARSET に latin1 をセットすればOK、とのこと。 私の場合は、.zshrc に下記の一行を加えて解決しました。
export LESSCHARSET='latin1'
ターミナルからデフォルトの 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を使うつもりなので深追いしませんが。