XのCLI環境の整備を本格的に始めた。プログラム開発環境をCLIに統合化することがこの作業の最終目的。前記事で紹介したとおり、プログラミングエディタをMacVimに換えたこともこの目的の一部だ。Shell)に換えたので、備忘録を兼ねてその作業ログを書いていく。zshの特徴についてはWikipediaのこちらのページに詳しく書かれているので説明は省略するが、一度zshを使い始めると、他のものに変える気にならないほどの超優れ物のシェルらしい。zshの最大の特徴は強力な補完機能を備えていることで、この機能によって、少ない文字入力で目的のコマンドを生成することができる。zshの補完機能はプログラムによって記述されているので、ユーザがカスタマイズしたり追加することも可能。他にも多くの機能を備えていて、現状最強のシェルがzshだと言っても過言ではないだろう。Macを使い始めた頃からzshのことは知っていて、いつかシェルをこれに換えようと思っていながらついつい先延ばしにしてきた。本格的なCLI環境を構築するにあたって、まずはzshのインストールと設定作業から取りかかった。Xにはデフォルト状態でzshが存在するが(/bin/zshがそれ)、バージョンが結構古い。最新版を使いたいなら、Homebrewによってインストールした方が良い。いつものようにzshのフォーミュラ情報を調べてみた。...」で始まる注意書きメッセージが気になったので、これについてググってみた。Lionでは/etc/zshenvの内容に不具合があり、これによって、zsh起動時に環境変数PATHの設定値がリセットされる」ということを意味しているらしいことが判った。上のメッセージの説明のとおり、この問題の対処方法として次の2つがあるそうだ。/etc/zshenvを/etc/zprofileにリネームする。zsh」で、zshをインストールする。私はAの方法を選択することに決めた。その前に、zshのインストールを先に行った。zsh続いて、上記の問題の対処方法Aを実行した。/etc/zprofile■ログインシェルをzshに設定するこれでzshがインストールできたので、さらに続いて、ログインシェルをzshに変更するための設定を行った。/etc/shellsを次のように編集した(一番最後に/usr/local/bin/zshを追加)。Xではこの中に定義されているシェルしか選択できないようになっている。ここまでの設定が済んだ状態で下のコマンドを実行すれば、ログインシェルはzshに変更される。/usr/local/bin/zsh試しに新しいターミナルを開いてみた。すると、下のような画面が表示された。zsh」と表示されていることで確認できる。ホームディレクトリにzshの起動設定ファイルが一つも存在しないと、上の画面のメッセージが表示されるようだ。これらのファイルの設定例はググればたくさん見つかるので、後で自分で編集することにして、取りあえず、この画面では「0」を選択して空の.zshrcを作成しておいた。■.zshrcを作成する続いて、.zshrcの編集を行った。print_eight_bit上は必要最低限の設定だけしか記述していない。zshは非常に多くの機能を備えているので、今後この.zshrcにどんどん新しい設定を追加していくことになるだろう。zshのインストールと起動設定が済んだので、さっそく新しいターミナルを開いてzshを使ってみた。<TAB>」と入力すると、補完機能が働いて、ディレクトリ名の候補一覧が自動的に表示される。」以降(<TAB>を入力した位置)に追加される。<TAB>を入力すると、次の候補のファイル名に順番に変わっていく。zshの補完機能は、ファイル名だけでなく、コマンド名、シェル変数や環境変数名、ユーザやホスト名、プロセスやジョブ名などにも対応している。入力済みのコマンドの文脈から適切な候補を検索する機能まで備えている。うろ覚えで途中までコマンドを入力してとにかく<TAB>を打ち続ければ、zshがどんどん候補を表示してるので、それらを適切に選択しながら辿っていくことで目的の完全なコマンドに到達することができる。実際に使い始めて、zshの補完機能のすばらしさをすぐに実感することができた。いままで「もはやzshなしではMacやLinuxを使う気になれない」と書いているページを多く見かけたが、この意見にもすぐに納得できた。こんなに便利なら、もっと早くzshを導入しておけば良かった。■zsh-completionsをインストールするこれでzshのインストールと設定は完了だが、zshについてググっていると、いくつかの非標準コマンドの補完情報をまとめたzsh-completionsというものが存在することを知った。zsh自体に標準的なコマンドの補完情報は付属しているが、zsh-completionsをインストールすると、さらに、ackやgithubなどいくつかのコマンドで補完が使えるようになるらしい。これには「brew」コマンドの補完情報も含まれているので、Homebrewを使っているならぜひインストールするべきだ。zsh-completionsもHomebrewでインストールすることができるので、フォーミュラ情報を調べてみた。/usr/local/share上のフォーミュラ情報に含まれる注意書きメッセージをしっかりと読んだ上で、zsh-completionsのインストールを行った。zsh-completions上の注意書きメッセージのとおり、zsh-completionsはインストールしただけでは有効にならない。compinit」コマンドより前に置くこと)。$fpath)さらに、次のコマンドを実行して、zshの補完情報の再構築も行わなければならない。compinit上の2つの操作を行った後ターミナルを再起動すると、下のような警告メッセージが表示された。[n]?この警告メッセージを回避するには、.zshrc内の「compinit」コマンドに「-u」オプションをつければ良いそうだ。<Tab>」と入力しても、カレントディレクトリのファイル一覧が候補として表示されていた)。/usr/local/share/zsh-completions」で確認することができる。このディレクトリには100個弱の「_」で始まるファイルが含まれているが、zshの非標準コマンドの補完情報を格納したファイルは「_<COMMAND>」という名前で作成する決まりになっている。Macこの記事へのコメントとみやんさん、はじめまして。05:53はやぶささん、こんにちは。ご質問の件ですが、私の環境では特に問題ないようです。ローマ字入力だと、次のような動作になりますが、これは正常ですよね。「nihongo」→「にほんご」(自動変換)→<Space>→変換候補表示→<Tab>→候補選択→<Space>→候補確定ちなみに、確認した動作環境は以下のとおりです。5.0.2ちなみに、普段私はGoogle日本語入力をかな入力に設定して使っていますが、こちらでも特に問題は発生していません。そちらの動作環境や具体的な現象について詳細情報を教えていただけないでしょうか。すれば、こちらでも再度検証できるかと思います。16:09返信ありがとうございます。動くんですね、羨ましいです。「日本語部分がよくわからないコードに変換される」->「それをechoなどで出力した場合、ちゃんともとの日本語が表示される」という結果になるんですよね。環境で違うところと言えばMacOSX10.8.4というところですかね。他にも日本語関係?でバグあったりするらしいですし可能性はありそうです。一応zsh5.0移行に思いいれがあるわけがないので、ちゃんと動く4.3.15にバージョン下げて解決しました。ありがとうございました。11:33はやぶささん現象からの単純な推測とアドバイスですが・・・。ターミナルのフォントが(漢字コードを含まない)欧文フォントに設定されているこということはありませんか。pcreをインストールし直してみたらどうでしょう。Reguarに設定されているみたいですが・・・。miniでも検証してみましたが、こちらでは正常な動作をしています。5.0.2ブロードバンド回線が低速なので、10.8.4への更新はまだやっていません。相違点があるとすれば、以下の点くらいでしょうか。Toolsのバージョンtmuxやoh-my-zshとかをzshと組み合わせて使う場合、4.3系より5.0系の方が互換性が高いのではないかと思います。5.0.xが正常に動くと良いですね。[必須入力]※画像の中の文字を半角で入力してください。