【コラム】
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)
| TI、 タブレット端末の設計を簡素化する2つの新デバイスを発表 [09:30 5/22] |
| QEMU 1.5公開 - VGAパススルーとUSB 3.0対応 [09:29 5/22] |
| NetBSD 6.1登場 [09:28 5/22] |
| アプリを"ハイジャック"! 「libhijack」最新版登場、FreeBSD対応 [09:27 5/22] |
| ホタル発光利用の生体pHモニター [09:21 5/22] |
|
男性が彼女に「距離を置こうか」と言う理由 [10:00 5/22] 恋愛・結婚 |
|
ゆがみや猫背も正す、デスクワークでこった脚の対策 - 1日1分からの筋トレ [10:00 5/22] ライフ |
|
iPhoneが圏外表示のままになってしまう場合の対処法 [09:59 5/22] ライフ |
|
経済産業省、インドとの間でインフラ開発・投資促進の協力に関する共同声明 [09:49 5/22] エンタープライズ |
|
東京都・渋谷で「深海の巨大生物」展。ダイオウイカの実物大模型も! [09:49 5/22] 旅行 |