【コラム】
IDEの発展やAjaxなど現在のデベロッパにとってGUIとうまくお付き合いすることは開発効率を上げるうえで必須といえる。しかしながら、シェルというCUI環境も根強い人気がある。GUIと違ったカスタマイズ、アジリティ、効率の良さ、幅広い対応プラットフォームなど、なくてはならないものだ。
本連載ではそうしたCUI環境の充実を補佐することを目的とし、"zsh"について語ってみようとおもう。かつてzshはUTF-8の扱いが弱いところがあったが、それもずいぶんと改善され、ここ1年でzshへ移行しやすい状況が整ってきている。はじめるには悪くないタイミングだ。
最初に軽くzshについて紹介しておこう。
名前につく"z"の文字は、「究極の」という意味がこめられているらしい。系統としてはsh系である。つまり、zshはsh系の超高機能シェルといえるだろう。Linuxなどのユーザーであればsh系であることの意味は語るまでもないだろうが、要はつぶしが利くと捉えておけばいいだろう。
高機能で様々なことができるし、組み込み機能を多く持つので、設定ファイルも簡素になる。この連載がそんな状況の助けになれば幸いだ。基本的な設定、便利な設定、ときには珍妙な設定までzshの機能を紹介していきたいと考えている。ぜひとも活用していただきたい。
さて、zshもインストールしただけではただのシェル。「最強」にするには、設定が肝だ。そんな設定の中でも最も基本かつ強力なのが次の2行だ。早速設定しておこう。
この2行をホームディレクトリの.zshrcファイルに追加することで、zshの強力な補完機能への扉が開かれる。最初の数回は基本的な設定内容を説明するが、そのあとは早速この補完機能の詳細設定に入るつもりだ。
.zshrcに加えた内容を次のコマンドでシェルに教えて、早速その効果を確かめてみよう。
この状態で"ls -"と入力して"Tab"キーを押すと……
となるはずだ。また、"tar "と入力して"Tab"キーを押すと……
となるはず。
実はこの補完、configureスクリプトやmake、antなどのコマンドでも効くのだ。さらに便利なのが、sshやscpといったコマンドでも使える。ためしに"ssh "と入力して"Tab"キーを押してみてほしい。ホストやユーザ名が補完されるはずだ。
zshではあらかじめ多くのコマンドに対して非常に便利な補完機能が用意されている。一度使えば、これなしには生きていけないというくらい病み付きになってしまう。さぁ、既に最強たるゆえんがわかっってきたのではないだろうか?
さて、先ほど設定を書き込んだ.zshrc、当然zshの設定ファイルなのだが、.zshrc以外にもいくつか存在する。基本的に.zshrcを使えばいいが、今週はこれらを紹介して終わりとしよう。
zshで使われる設定ファイルは基本的には「.zshenv」「.zprofile」「.zshrc」「.zlogin」「.zlogout」の5つ。bash/shとtcsh/cshの設定ファイルの特徴を整理したような組み合わせになっている。
ログインシェルとして起動した場合(要するにzshをユーザアカウントのシェルとして設定しておいてユーザがログインした場合)、ログインシェルではなくただのインタラクティブシェルとして起動した場合、シェルスクリプトを実行するコマンドとして起動された場合、ログインシェルからログアウトする場合でそれぞれ読まれるファイルと順序が決まっている。オプションを指定するなどして順序を変えない限り、次のように読まれるはずだ。
1 ~/.zshenv
2 ~/.zprofile
3 ~/.zshrc
4 ~/.zlogin
1 ~/.zshenv
2 ~/.zshrc
1 ~/.zshenv
1 ~/.zlogout
なので、基本的に設定は.zshrcファイルに書いておけばいい。環境変数を設定するなどログイン時に一度だけ実行すればいいような設定だけ.zprofileに書いておく。一時的にzshをインタラクティブシェルとして起動するような使い方をする場合はぜんぶ.zshrcに書いておけばいい。
.zshenvはシェルスクリプトコマンドとしてzshを実行する場合にも読み込まれるので、予期せぬ設定をしておくとハマることもある。よくわからなければ使わない方がいいだろう。
まずはこんなところだ。さっそくzshをインストールして"Tab"キーを使った補完を堪能してみよう。
【コラム】漢のzsh 第2回 取りあえず、プロンプトを整えておく。カッコつけたいからね
【コラム】ダイナミックObjective-C 第65回 デザインパターンをObjective-Cで - Adapter (1)
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
【レポート】「appliko」がオススメAndroidアプリを紹介!! - 1月31日~2月8日のAndroidアプリランキング [01:30 2/11] 携帯 |
|
【レポート】人気の無料/有料アプリを毎週紹介 - 1月31日~2月8日のAndroidアプリランキング [01:00 2/11] 携帯 |
|
渡部篤郎主演でドラマ化!地元新聞社が伝え続けた東日本大震災の物語 [00:08 2/11] キャリア |
|
沖縄発ヒーロー革命!「琉神マブヤー」が海を越えハワイを目指す! [00:08 2/11] キャリア |
|
中国四川省、パンダの保護と生態研究の最新情報とは? [00:08 2/11] キャリア |