新入学生/新社会人応援企画:あるWebプログラマーの作業環境――豪傑の三種の神器【後編】 (1/3)

はてなという企業でプログラマーとして働くあの人の開発環境には欠かすことのできない三種の神器が存在する。後編となる今回は、前回紹介できなかった神器を紹介するとともに、意外と知られていないWebプログラマーの生態についてもみてみよう。


Zshを使おう!

 前回紹介したWebアプリケーション開発における三種の神器。GNU Emacs、GNU screenと紹介してきましたが、締めくくりはZshです。ZshはBashやtcshなどと同じUNIXのシェルですが、プログラマー向けにさまざまな機能を搭載した高機能シェルといえます。Bashやtcshと比較して、機能的に大きく違うわけではありませんが、細かな使い勝手でほかのシェルにはない便利さが感じられると思います。

 またわたしがほかのどのシェルよりもZshを推薦するのには理由があります。

 Bashにしてもtcshにしても、シェル上で実行したコマンドをさかのぼる際にはCtrl+Rキーを押して、履歴のインクリメンタルサーチを行うのが便利です。例えばBashでは、

[naoya@colinux naoya]$


とプロンプトが表示されているときにCtrl+Rキーを押すと、

(reverse-i-search)`':


と履歴のインクリメンタルサーチモードに切り替わり、ここで「pe」と入力すると、

(reverse-i-search)`pe': perl script/server.pl


「pe」でコマンド履歴を検索した結果が得られます。このときCtrl+Rキーを再度押すと、

(reverse-i-search)`pe': sudo perl -MCPAN -e shell


「pe」での検索結果を1つずつさかのぼっていくことができます。この履歴の検索機能は非常に強力で、一度入力したものならどんな複雑なコマンドもすべて履歴を追うことですぐに実行できます。わたしの場合、UNIXのシェル上で何かコマンドを実行する場合は、よほど簡単なものでない限りは必ず履歴を検索して取り出し、必要に応じてそれを編集し実行するといった具合です。こうすることで、必要最低限のタイプ数でコマンドを実行でき快適です。

 さて、前回GNU Screenを紹介しましたが、実はBashやtcshでは複数起ち上げたウインドウをまたいで履歴を共有できないのです。そのため、1番目のウインドウで実行したコマンドの履歴と、2番目のそれがまったく別に管理されてしまい、いざというときに履歴が追えなかったりと不都合が生じます。

 Zshではウインドウをまたいだ履歴の共有機能が標準で搭載されているため、この問題が発生しません。わたしがZshをオススメする一番大きな理由がこれです。履歴の共有を有効にするには、~/.zshrcに、リスト1の設定を書いておけばOKです。

HISTFILE=$HOME/.zsh-history         # 履歴の保存先

HISTSIZE=100000                     # メモリに展開する履歴の数

SAVEHIST=100000                     # 保存する履歴の数

setopt share_history                # 同一ホストで動いているZshで履歴を共有


リスト1 Zshの履歴を共有する設定

 なお、ここで紹介したTIPSをはじめ、履歴に関するノウハウは、高林哲氏による「横着プログラミング 第3回:履歴マニア」(『UNIX Magazine』2002年3月号)*に掲載されていますのでぜひご一読ください。

 Zshには履歴を共有する以外にも、

  • sshの引数のホスト名を補完するなど、実行コマンドに合わせて引数をインテリジェントに補完できる
  • Bashやtcshなどのファイルの補完機能があるのはもちろん、補完候補をカーソルで選択できる
  • 「./configure――charset=ujis……」など、複数にまたがる長いコマンドの履歴も、改行をくずさずさかのぼることができる

などかゆいところに手が届く便利機能が満載です。ここで紹介したのはほんのわずかな一例ですので、ぜひ一度Zshもトライしてみてください。コマンドラインから、

$ zsh


とするだけでZshが使えます。

このページで出てきた専門用語

高林哲氏による「横着プログラミング 第3回:履歴マニア」(『UNIX Magazine』2002年3月号)

http://0xcc.net/unimag/3/でも読むことが可能です


       1|2|3 次のページへ

Copyright© 2010 ITmedia, Inc. All Rights Reserved.




キャリアアップ



エンタープライズ・ピックアップ

news004.jpg 世界で勝つ 強い日本企業のつくり方:利用契約の検討――グローバルクラウドで失敗しないために(前編)
2010年以降、クラウドサービスの利用がさらに加速する。サービスを利用する企業はプロバイダーのデータセンターに預けた自社情報を保護するために、法的な要素を理解しておかなければならない。企業が注意を払うべき法的な検討事項を整理する。

news001.jpg IT投資の新方程式:「Twitter使ってます」――現役MS社員が“社員力”を語る(前編)
マイクロソフトが掲げるプロモーションメッセージ「社員にチカラを。ITで企業力を。(以下、BIEB)」からは、ITで社員の生産性を向上することが業績の拡大につながる、といったニュアンスを感じる。そこで気になるのが「じゃあ、マイクロソフトの社員自身はどうなのよ?」ということ。3人の現役MS社員により実態が明らかになる……?

news010.jpg 産業構造を変えるか:「住宅クラウド」の衝撃
住宅都市工学研究所が進める「住宅クラウド」は、クラウドが企業のIT領域にとどまらず、ビジネスのやり方自体を変える可能性を示している。

news010.jpg オルタナティブな生き方 栗原進さん:ネットでリアルを楽しくしたい
SE出身の企業広報マンでありながら、趣味は落語で憧れの人はインディ・ジョーンズとアナログ全開の栗原さんに、ブログを書く理由やネットからはじまるコミュニケーションについて伺った。

news001.jpg 最強最速アルゴリズマー養成講座:トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター
プログラミングにおける重要な概念である「探索」を最速でマスターするために、今回は少し応用となる探索手法などを紹介しながら、その実践力を育成します。問題をグラフとして表現し、効率よく探索する方法をぜひ日常に生かしてみましょう。