AppleがMac OS X 10.7 Lionの目玉機能の多くを、現在Macユーザーではない、あるいは従来のデスクトップメタファーにあまり馴染みのないユーザーを主にターゲットにしていることを少し考えてみると、示唆に富むと思います(「Lionの二つの顔」、2011年6月9日参照)。Lionが長年のMacユーザーにとって歓迎すべき機能を提供しないというわけではありませんが、私たち古参ユーザーがターゲットユーザーではないようです。
私は、Bare Bones Software が強力なテキストエディタの最新バージョンである BBEdit 10 を作成するにあたり行った取り組みと対比するために、Apple のターゲット設定に注目したいと思います。私たち TidBITS ではコードよりも文章を書く量の方がはるかに多いにもかかわらず、Subversion バージョンコントロールシステムのサポート、プレーンテキストのスタイル設定のための Markdown 形式の構文カラーリング、grep ベースの検索などにより、BBEdit は私たちが長年好んで選ぶ執筆ツールとなっています。
Bare Bones社は、何らかの理由でこれまでBBEditを購入していない新規ユーザーをターゲットにするのではなく、既存ユーザーのためにBBEditの主要機能をどのように改善するかについて、時間をかけて熟考を重ねてきました。(新規ユーザーにとっては、49.99ドル(2011年10月19日までは39.99ドル)という低価格も嬉しい点でしょう。)プログラマーにとって今回のBBEditのアップデートは多くのメリットをもたらすでしょうが、BBEdit 10の新機能や改善された機能の中には、Markdown形式の文章、HTML形式のWebページ、EPUBベースの電子書籍など、コード以外のテキストを扱うプロフェッショナルにとって特に興味深いものがいくつかあります。それでは、主な新機能を見ていきましょう。
Dropbox ベースのサポートファイル共有— すぐに気に入った機能は、アプリケーションのサポートファイルを Dropbox ベースで共有できることです。BBEdit は BBEdit フォルダを内部に保持しており、~/Library/Application Support
そこにはテキストファクトリー、スクリプト、クリッピングなど、あらゆる必須ファイルが含まれています。これまでは、複数のマシン間でこれらのファイルを同期するのは面倒で、MacBook で最近作成したテキストファクトリーやクリッピングにアクセスできないことにいつもイライラしていました。
BBEdit のアプリケーション サポート ファイルを共有するには、Dropbox フォルダに「Application Support」というフォルダを作成し、BBEdit フォルダを から に移動(または、テスト目的であればコピー)します~/Library/Application Support/
。~/Dropbox/Application Support/
(この操作は、BBEdit が実行中でないときに行います。BBEdit は起動時にのみ新しい場所を検索します。)必要なのはこれだけです。BBEdit はまず Dropbox でサポート ファイルを検索し、そこで見つからない場合は従来の場所に戻ります。
一つ注意点があります。Dropboxフォルダ内のApplication SupportフォルダはBBEdit特有のものではありません。Bare Bones社がDropboxを使ってサポートファイル(1PasswordやTextExpanderなどのユーティリティ用)を共有することに興味のある他のMac開発者にも、この~/Dropbox/Application Support/
フォルダの利用を検討してもらえることを期待して、この共有方法を採用しました。ぜひこの情報を広めてください!
共有といえば、共同作業中のプロジェクトに関連するBBEditのサポートファイル一式を誰かに渡したい場合があります。共同作業相手はおそらくBBEditの設定をすべて必要としないので、Dropboxを使うのは得策ではありません。代わりに、BBEditでは「パッケージ」という概念が新たに導入されました。これは、スクリプト、クリッピング、言語モジュール、テキストフィルターのコレクションで、すべて.bbpackage拡張子を持つフォルダ内の適切な名前のフォルダ( 、 など)に収められておりContents/Scripts
、Contents/Clippings
フォルダApplication Support/BBEdit/Packages
(ローカルまたは
Dropbox)に保存されます。
さらに、BBEdit 10では新しい機能ではありませんが、私にとっては新しい機能として、Emacs変数ブロックを使ってドキュメントごとに特定のオプションを設定できる機能があります。例えば、内部的にはMarkdownのファイル名拡張子として.tbを使用しているので、Markdown形式の記事を寄稿者に送ってMarkdown構文の色分けを確認させたい場合、ファイルの先頭に次の行を追加することで、BBEditにMarkdownとして解析するように指示できます。この機能へのインターフェースは、「編集」>「挿入」>「Emacs変数ブロック」です(これらのブロックはファイルの先頭または末尾に配置できます)。
<!-- -*- mode: markdown; -->
ドキュメントへの高速アクセス— 標準編集ウィンドウ (以前は複数の開いているファイルを一覧表示するために右側の引き出しがデフォルトで使用されていました) を BBEdit のプロジェクト ウィンドウ (複数のファイルを一覧表示するために左側のサイドバーを使用していました) に近づけるために、BBEdit 10 では引き出しを完全に廃止し、代わりに複数ペインの左側のサイドバーを使用しています。
標準編集ウィンドウの場合、サイドバーの2つのペインには、現在開いているドキュメントが上部に表示され、最近アクセスしたドキュメントが下部に一覧表示されます。プロジェクトウィンドウの場合、現在開いているドキュメントと最近使用したドキュメントのペインに加えて、プロジェクト内のファイル(開いているか最近使用したかに関係なく)を一覧表示するプロジェクトペインと、プロジェクト固有のスクラッチパッドとUnixワークシート専用のペインが設けられます。(スクラッチパッドは、役に立つかもしれないランダムなテキストを保存するための場所です。Unixワークシートは、ターミナルのようなUnixコマンドライン環境を提供します。)
作業中の文書へのアクセスをさらに高速化するため、BBEdit 10 はデフォルトで、Lion の Resume 機能と同様に、終了時に開いていた文書を自動的に保存し、再度開きます。ただし、BBEdit は文書の自動保存や再開を Lion に依存していません。この機能は Snow Leopard でも同様に動作します。本当に素晴らしいのは、1 つ以上の文書に未保存の変更があっても BBEdit が問題なく終了し、再起動すると、文書は終了時と全く同じ「未保存」状態になっていることです。
常に複数の「無題テキスト」ウィンドウを開いているような人にとっては、これは嬉しい機能です。(注意: 保存を優先してこの機能に頼らないでください。2 つの BBEdit でそれぞれ無題のファイルを開いている状況に遭遇しました。片方を終了して再起動すると、開いていた無題ファイルではなく、もう片方で開いていた 2 つの無題ファイルが開かれました。)
HTML マークアップインターフェースとテンプレートベースのプレビュー— BBEdit が特に人気の高い分野の一つが HTML オーサリングです。日々 HTML に取り組んでいるユーザーのために、BBEdit 10 ではユーザーインターフェースが全面的に刷新され、よりスマートになりました。BBEdit でタグを素早く挿入する基本的な方法 (階層メニューまたはフローティングパレット) は変わりませんが、BBEdit 10 では、特定のタグのすべての属性を設定できるポップオーバーが表示されるようになりました。BBEdit の構文チェッカーから得られる高度な機能により、適切なオプションだけがインテリジェントに表示されます。既存のタグを Control キーを押しながらクリックし、「マークアップの編集」を選択して、
ポップオーバーでその属性を編集することもできます。
BBEdit 10 の HTML 作成におけるもう 1 つの主要機能は、BBEdit 内でプレビュー用の HTML および CSS テンプレートを作成し、切り替えることができることです。テンプレートベースのコンテンツ管理システムが普及していることで問題となるのは、HTML のページ全体を作成することがほとんどないということです。代わりにフラグメントを作成し、CMS がそのフラグメントをコア HTML テンプレートおよび CSS ファイルと組み合わせて完全なページを生成します。以前は、BBEdit でフラグメントをプレビューすることは、フラグメントが
最終ページの外観とはまったく異なるため、せいぜい満足のいくものではありませんでした。しかし、今後は、プレビュー前にフラグメントを挿入する HTML および CSS テンプレートを作成し、設定できるようになりました。この機能は、動的に生成されるサイト内でフラグメントをプレビューするという問題を解決することはできませんが、多くのユーザーのプレビューの問題を解決するでしょう。
EPUBを含むZipファイル内編集— BBEditの次の目玉機能は、おそらくほとんどの人にとっては興味をそそられるものではないでしょう…ただし、特別なケースに触れてみれば、その違いが分かります。BBEdit 10は、Zipアーカイブ内のテキストファイルを閲覧できるだけでなく、Zipアーカイブ内でそれらのファイルを編集(手動、テキストフィルター、複数ファイル検索など)できるようになりました。編集したファイルは、BBEditによってアーカイブ内に直接保存されます。これはまさに奇想天外なテクニックであり、様々な場面で役立つことは間違いありません。
しかし、この機能が真価を発揮するのは EPUB ファイルです。EPUB ファイルは HTML ファイルと CSS ファイル、その他のテキストベースのサポート ファイル、必要なグラフィック ファイルやマルチメディア ファイルを Zip 形式で圧縮したものです。以前は、EPUB ファイルのタイプミスを修正するといった簡単な作業でも、ファイルを解凍し、変更を加えてから、適切な MIME タイプを取得するために適切なコマンド ライン インカンテーションを使用してファイルを再度 Zip 圧縮する必要がありました。EPUB を日常的に扱うほとんどの人は、何らかの方法でこの作業を自動化しています (EPUB を解凍および再 Zip する Automator ベースのコンテキスト メニュー コマンドがあります。ダウンロードしてご確認ください)。
それでも、中間ファイルを使用せずに EPUB をその場で編集できればはるかに便利です。BBEdit 10 はまさにそれを実現します。
BBEdit 10でEPUBファイルを開き、表示されるディスクブラウザウィンドウで適切なファイルを探し、他のファイルと同じように編集します。変更を保存すると、BBEditはZip圧縮されたEPUBファイルを更新します。BBEditはEPUBファイルの構造について何も知らないため、EPUBを無効にしたり、無効にしたことの警告を表示したりすることはできません。ただし、BBEditは優れたスクリプトサポートを備えているため、必要に応じてEPUB検証スクリプトを組み込むことは可能です。
スクリプトとテキストフィルタ、あらまあ! — BBEdit 10 でスクリプトとテキストフィルタが新たに区別されたことは、最初は戸惑うかもしれない大きな変更点です。以前は、スクリプトの種類(AppleScript、Unix シェルスクリプト、BBEdit 独自のテキストファクトリーなど)ごとに区別されていました。スクリプト言語はある程度論理的ですが、多くの人はスクリプトについて、スクリプト言語を「何を行うか」という視点で捉えています。
そのため、BBEdit 10では、スクリプトの種類を機能別に2種類、つまりスクリプトとテキストフィルターに分類しています。BBEdit 10における「スクリプト」はワークフローの一部であり、複数のファイルを操作したり、Subversionを更新したりします。一方、「テキストフィルター」は最前面のドキュメントの内容のみを操作します。これら2つのタイプはそれぞれフォルダーに関連付けられており、/Application Support/BBEdit
スクリプトは「スクリプト」メニューから、テキストフィルターは「テキスト」>「テキストフィルターの適用」からアクセスできます。
BBEdit 10 は既存のテキストファクトリーを適切なフォルダに自動的に配置しようとしますが、必ずしも正確とは限りません。テキストフィルターであるにもかかわらず Scripts フォルダに移動してしまった場合は、移動してください。古い Text Factories フォルダはそのまま残りますが、新しいテキストファクトリーを保存する際の混乱を避けるために、手動で削除することをお勧めします。
BBEdit 10 では、Automator ワークフローを、その機能に応じてスクリプトまたはテキスト フィルターとして処理できるようになりました。
新しい設定ウィンドウとテキストカラーパネル— 最後に、BBEdit 10では、プログラムの広範な設定ウィンドウが全面的に刷新されました。左側に設定項目が一覧表示され、右側に必要なオプションを表示するためにウィンドウのサイズが動的に調整されます。あまり使用されないオプションは複雑さを軽減するために削除されましたが、defaults write
ターミナルのコマンドを使用してすべてのオプションにアクセスできます。完全なリストについては、「ヘルプ」>「BBEditヘルプ」>「エキスパート設定」をご覧ください。
BBEdit自体に新しく追加された「テキストカラー」設定パネル(上図参照)では、異なる色のセットを作成し、それを異なる種類のファイルに関連付けることができます。例えば、Markdownファイルでは暗い背景に明るい色のテキストを表示し、HTMLファイルでは明るい背景に暗い色のテキストを表示するといった場合に便利です。扱うファイルの種類はますます増えているため、開いているファイルの種類を色で確認できる機能は役立つでしょう。
設定ウィンドウとは別に、BBEdit > 設定からアクセスできる新しい設定ウィンドウがあります。ここでは、繰り返しアクセスする必要がある可能性のある4種類の永続的な設定を定義できます。BBEditのFTP/SFTPブラウザのブックマーク、ディスクブラウザのフィルター、検索ウィンドウの検索パターン、HTMLオーサリングのサイトです。これらは少し関連性がないように思えますが、設定ウィンドウはこれらの設定をまとめて管理するのに便利なようです。
価格と入手性— 現在BBEditをお使いの方には、アップグレードを強くお勧めします。Bare Bones社はBBEditのインターフェースを洗練させ、嬉しい新機能を提供するという素晴らしい仕事をしてきました。現在BBEditをお使いでない方で、あらゆる種類のテキスト(大容量ファイルも含む)の編集・操作に強力なツールをお探しなら、BBEditはぜひ検討する価値があります。また、価格も大幅に引き下げられました(下記参照)ので、以前よりもさらにお勧めしやすくなりました。
BBEdit 10は現在Bare Bonesから入手可能ですが、AppleはまだMac App Storeでの販売を承認していません。Bare Bones(およびAppleが承認次第Mac App Store)では、BBEditは49.99ドルで販売されますが、2011年10月19日までは39.99ドルで販売されます。以前のバージョンからのアップグレードも39.99ドルかかりますが、2011年1月1日以降にBBEdit 9を購入した方は無料でアップグレードできます。この無料アップグレードのタイミングには、BBEditがMac App Storeに登場した時期と同期するという有益な副次効果があります。そのため、Bare Bonesから直接購入した方は、今回のアップグレードに追加料金を支払う必要はありません。無料トライアル版もご利用いただけます。