MacBook Air、レビュー目的で数日ほど堪能させていただきました。薄いボディもいいですが、やはり印象深かったのは「マルチタップトラックパッド」。ソフトを更新すれば、MacBook / MacBook Proでも利用できるとかできないとか……とりあえず、ソフトウェアアップデートに期待してみましょうか。

さて、今回はまたしても「Quick Look」について。Leopard発売以来三たびの登場となるが、実際に便利で利用する機会も多いのだから仕方ない。わざわざ当コラムにお運びの皆さんは、筆者と同じ趣向の持ち主との勝手な推測のもと、Carbon EmacsのDiredモードからQuick Lookを使うという企画を勝手に進めさせていただこう。

やはりEmacsで使いたい!

筆者の仕事場は、自宅にある約5畳の空間だが、狭義の仕事場は「Carbon Emacs」だ。原稿を書くのもコレならば、コマンドの実行もコレ。ソースをコンパイルするときなど、シェルでの作業が長引きそうなときはTerminal.appを使うが、M-x shellで済ませてしまうことのほうが多い。

ファイル操作には、もっぱらメジャーモードの「Dired」を利用している。ファイルの削除やリネーム、書庫の作成や展開など、一度慣れると手放せない便利さがあるからだ(Finderはときどき使う程度)。さらに現行バージョンのCarbon Emacsは、PNGやJPEGなどの画像をウインドウ内に表示できるため、ちょっとしたビューアとしても活用できる。ううむ、便利なり。

Carbon EmacsのDiredモード。ここからQuick Lookを呼び出してみよう

しかし、画面に収まりきらない大きさの画像ファイルは、その一部しか表示されない。PDFも、デフォルトのままでは表示できない。そこで目をつけたのが、「qlmanage」コマンドだ。

なお、筆者が利用するCarbon Emacsは、いわゆる2007年夏版(GNU Emacs 22.1.1 / Carbon Version 1.6.0、CarbonEmacs-Tiger-20070623.dmg)。最新の2008年冬版は日本語インライン入力が動作しないため、現在導入を見送っていることを追記しておく。

Diredでqlmanageコマンドを使う

qlmanageコマンドは、Quick Lookプラグインのデバッグ用に提供されている。シェルから直接呼び出される通常のUNIXコマンドとは毛色が異なるが、うまく使えばDiredでファイルプレビューに活用できる。これを放っておく手はないだろう。

仕組みは次のとおり。qlmanageコマンドに「-p」オプションを指定し、ファイルを引数として与えると、そのファイルに対応するQuick Lookプラグインでファイルがプレビューされる。Diredの機能強化版「Dired-x」では、「X」または「!」をタイプしたときに実行されるコマンドと拡張子の関係を「dired-guess-shell-alist-user」という変数に定義できるので、これに「qlmanage -p」を割り当ててしまうという寸法だ。

設定はかんたん、以下のリストに示した要領で、拡張子と「plmanage -p」の定義を「~/.emacs.el」に記述すればいい。qlmanageコマンドは、システム情報に従い呼び出すプラグインを適切に判断してくれるため、拡張子「.png」のファイルならば「("\\.png" "qlmanage -p")」、拡張子「.jpg」のファイルならば「("\\.jpg" "qlmanage -p")」でOKだ。/Library/QuickLookなど、適切なパスに保存されていれば、システム非標準のプラグインでも構わない。

もちろん、当コラム第258回で紹介したプラグイン群も動作した。ただし、「.zip」や「.tex」など、メジャーな拡張子にはあらかじめ関連づけられたコマンドが存在するため、必ず拡張子とqlmanageコマンドの定義が必要だ。

リスト: Carbon EmacsのDiredモードからQuick Lookを使う(~/.emacs.elに追加)

;;Dired
(setq dired-load-hook '(lambda () (load "dired-x"))) 
(setq dired-guess-shell-alist-user
      '(("\\.png" "qlmanage -p")
        ("\\.jpg" "qlmanage -p")
        ("\\.pdf" "qlmanage -p")))

目的のファイルを選択してから「X」または「!」を実行、続けて[enter]キーを押す

このようにPDFもQuick Lookできる

Quick Look on Dired、ココに注意

このようにとても便利な「Quick Look on Dired」だが、いくつか注意点がある。30分ほどムダな時間を費やした筆者の轍を踏まぬよう、必ず以下の文に目をとおしたうえで実際の作業に臨んでほしい。

まず、デフォルトのコーディングシステムについて。筆者は~/.emacs.elの冒頭に「(set-default-coding-systems 'sjis-dos)」と書いていたため、日本語ファイル名をQuick Lookできない現象にしばらく悩まされた。OS Xのファイルコーディング形式はUTF-8なので、ここは「(set-default-coding-systems 'utf-8)」に修正しておくこと。

現れたQuick Lookのプレビュー画面だが、Finderとは違い[SPACE]キーでは消えない。シェルから実行したときとは異なり、[Control]+[C]キーを押しても消去されない。慌てず騒がず[Control]+[G]キーをタイプしてみよう。これにてQuick Look on Dired、一件落着。

日本語ファイル名も扱えるのでご安心を