テキスト ファイル(または、入力/ペーストしたテキスト)の比較

Merge のテキスト比較では、テキスト ファイルまたは Merge に入力したテキストを比較することができます。ほかのアプリケーションから Merge にテキストをコピーしてペーストするか、Microsoft Office、OpenDocument、PDF、および RTF ファイルからテキストを開いて比較することができます。Merge は XML および XHTML ファイルに特別なフォーマットを適用して(下記参照)、変更箇所をより解りやすく表示することもできます。

Information ファイル比較およびマージのインスタント図解をまだお読みでない場合、これに目を通すことによって、Merge のファイル比較について簡単に理解することができます。

比較の実行

デフォルトでは、Merge を起動すると空の新しいテキスト比較が自動的に開きます。追加のテキスト比較を開くには:

  • 新規テキスト比較 ツールバー ボタンをクリックする。
  • または、ファイル新規新規テイスト比較 メニュー項目を選択する。
  • または、Shift+Cmd+T キーを押す。
  • または、Cmd+N キーを押す(Merge を開始する時、新しいテキスト比較を開始するように設定されている場合)。

同時に多数の比較タブやウインドウを開くことができます。

新規ファイル比較ウインドウ

比較ファイルが表示される 2 つの空の領域がウインドウの大部分を占めています。各ファイル ペインにテキストを直接タイプするか、ほかのアプリケーションからコピーされたテキストをペーストすることができます。また、各ファイル ペインの上には比較するファイルのパスを入力するフィールドがあります。

比較するファイルの指定

2 つのテキストファイルを比較するために、入力フィールドに 2 つのファイルのパスを入力するか、パス入力フィールドの右側にあるボタンを使ってファイルを選択することができます。

参照 ボタンをクリックするとファイルの参照シートが開き、履歴リストの表示 ボタンをクリックすると過去に比較したファイルのリストが表示されます。

比較する 2 ファイルを選択後、比較を実行するには:

  • 開始または再比較 ツールバー ボタンをクリックするか、代わりに Enter キーを押す。
  • または、ファイル比較/再比較の開始 メニュー項目を選択するか、代わりに Cmd+R キーを押す。
  • または、Finder から ファイル名入力フィールドまたはファイル ペイン上にファイルをドラッグ アンド ドロップします。

また、Merge は、ローカル ディスクおよびネットワーク ボリューム上のファイルと同様、Perforce、Subversion および(ローカル クローンの) Mercurial および Git リポジトリ内に保存されているファイルに直接アクセスし比較することもできます。詳細については、仮想ファイル システム(VFS)プラグインをご覧ください。

バージョン ボタンでファイルのその他のリビジョンにアクセスする

入力フィールドで示される名前のファイルに他のバージョンがあり、それらが比較に利用可能な場合、バージョン ボタンはこれらの他のバージョンのリストを表示します。左右両方の比較ペインで同じファイルを開き、このボタンを使用して、そのファイルの古いリビジョンと比較することができます。

環境設定…アプリケーションバージョン ページでオプションが有効になっていれば、Merge は以下のソースからファイルの他のバージョンを見つけることができます。

  • Time Machine。Merge は現在設定されている Time Machine バックアップ ディスクを自動的に検索し、比較しているファイルの古いバージョンを探します。Time Machine ディスクがネットワーク ボリュームの場合、Merge はそのボリュームへのマウントを試みます。

    Information Merge で、Time Machine パスワードで保護されたネットワーク ボリュームがマウントされている間は、Time Machine バックアップは起こりません。Time Machine がそのボリュームへバックアップを行えるようにするには、Finder を使用して Time Machine ネットワーク ボリュームを取り出します。

  • Perforce、Subversion、Mercurial および Git リポジトリ。Merge は、比較中のファイルの古いバージョンを、関連する Perforce、Subversion、Mercurial または Git リポジトリから検出しようとします。Perforce、Subversion、Mercurial または Git の URI がファイル名入力フィールドに指定されている場合、Merge はファイルが読み込まれるリポジトリで他のバージョンのファイルを検索します。そうではなく、ファイルがローカル ディスクまたはネットワーク ボリュームから読み込まれ、それがクライアント ワークスペースの一部である場合、Merge は資格情報環境設定ページで資格情報が提供されている関連リポジトリを検索します。

バージョン ボタンが有効でない場合は、バージョンおよび資格情報環境設定ページで関連するオプションをオンにしてください。

3 者間ファイル比較

2 者間ファイル比較に加え、Merge Professional Edition では 3 ファイルの比較(および、テキスト ファイルの場合はマージも)が行えます。詳細については、3 者間ファイル比較を参照してください。Professional Edition はテキスト ファイルの自動マージもサポートしています。

Unicode/MBCS とその他の文字エンコーディング

Merge は Unicode、MBCS およびそのほかの文字エンコーディング ファイルを ASCII ファイルと同じように比較することができます。Merge は異なったエンコーディングで保存されてもファイルを比較することができます。詳細については、文字エンコーディングの処理を参照してください。

Microsoft Office、OpenOffice.org、PDF、RTF および HTML ファイルのテキスト コンテンツの比較

Merge には、よくあるタイプのファイルを読み込むときに、それらファイルから自動的にテキスト コンテンツを抽出できる多くのフィルタが付属しています。これはたとえば、Merge テキスト比較ウインドウに一対の Microsoft Word ドキュメントをドラッグ アンド ドロップすると、テキスト比較はそれらのドキュメントからテキストを自動抽出し比較することができることを意味します。

Merge は以下のアプリケーションのファイルからテキストを抽出するフィルタを含んでいます。

  • Microsoft Word 97 以降(.doc および .docx
  • Microsoft Excel 97 以降(.xls および .xlsx
  • Microsoft PowerPoint 97 以降(.ppt
  • LibreOffice、OpenOffice.org および NeoOffice の OpenDocument テキスト、スプレッドシート、プレゼンテーション ファイル(Writer、Calc および Impress ドキュメント)(.odt.ods.odp
  • 暗号化されていない Adobe PDF ファイル(.pdf
  • リッチ テキスト ファイル(.rtf
  • HTML ファイル(.html.htm

Information Merge は、スプレッドシート ファイルに保存されている文字列のみを抽出することが可能であることに注意してください。スプレッドシートのセルで計算を実行することはできません。

これらのフィルタはすべてオプションです。それらのすべてがデフォルトで使用可能であるわけではありません。HTML および RTF ファイルは変換を行わないで比較することができます。さらにイメージ比較を使用して PDF ファイルを比較することを望まれるかもしれません。Merge で、どのフィルタを使用するか、さまざまなファイル タイプについてどの種の比較を開始するかについては、ファイル タイプ環境設定ページで構成を設定することができます。

テキスト ドキュメントを比較するとき、Merge が長い行のテキストを単語境界で折り返すことは非常に役に立ちます。表示環境設定ページでこの動作を選択することができます。

Merge は上記のファイル形式からテキストを抽出できますが、書式は抽出できないことに留意してください。そのため、Merge では書式の相違を示すことができません。これらのファイル形式のためのテキスト フィルタは一方向です。テキストはこれらのタイプのファイルから抽出できますが、それらのファイルに書き込むことはできません。また、フィルタにはほかにもさまざまな制限があることに留意してください。たとえば、Microsoft Word ファイルから行頭文字と段落番号は抽出しません。またパスワードで保護されたドキュメントはサポートされません。ドキュメントによっては、それらのネイティブ アプリケーションでファイルを開いて、ファイルからテキスト比較ペインへテキストをコピーしてペーストする方がよい場合もあります。これは行頭文字や段落番号のような詳細を保持するために有効でしょう。

最後に、これらのフィルタを使用すると、異なる種類のドキュメントを比較できるということに気付いてください。たとえば、クライアントからあなたが以前に閲覧した Microsoft Word ドキュメントから作成された契約書の最終バージョンの PDF を送ってきました。PDF と Word ドキュメントのテキスト コンテンツが同じ内容であることを確認するために Merge を使用できます。

macOS プロパティリスト(.plist)と実行ファイルの比較

Merge には Mac .plist ファイルを XML テキストに変換する plistFilter フィルタが付属しています。これは Merge のテキスト比較を使用してバイナリの .plist ファイルの比較と変更ができることを意味します。.plist ファイルを保存するとき、Merge はフィルタを使用して XML をバイナリの .plist ファイルに戻します。

また、Mac のバイナリ実行ファイルを(潜在的に)いっそう意味を持つテキストに変換する(otoolFilter)フィルタも付属します。このフィルタは一方向で、実行可能なファイルに対して変更を保存することはできません。

これらのフィルタはいずれもデフォルトで使用可能ではありません。それらを可能にするには、ファイル タイプ環境設定ページをご覧ください。。

XML と XHTML ファイルの比較

XML ツールバー ボタン メニューとアクション メニューは共に XML と XHTML テキスト(非 XHTML HTML は除く)を整形するためのコマンドを含んでいます。XML/XHTML を整形すると、画面上のファイルの外観とレイアウト、そしてファイルの比較方法に影響を与え、より簡単にファイルを比較できるようになります。しかし、ファイルの内容は変更しません。たとえば、空白の追加や削除、内容の並べ替えは行いません。これはつまり、難解なフォーマットの XML ファイルでも、本来の原文比較の正確さを犠牲にしないで、変更を明確に見ることができるということです。整形されたファイルは通常と同様に、編集、マージ、および保存が行えます。

ファイル タイプ環境設定 ページで、新しいテキスト比較ウインドウを開くときに自動的に XML および XHTML ファイルの整形の有効/無効を設定できます。

Warning XML ツールバー メニューと関連したアクション メニュー項目(あるいは前述の自動整形)は正しい XML/XHTML ファイルのみに使用してください。非 XML テキスト(たとえば有効でない XHTML の HTML)にこれらのコマンドを使用するとエラーメッセージが表示され、結果は不確定になります。

整形された XML および XHTML ファイルを比較するとき、表示環境設定 ページの末尾の CR/LF 文字を表示するオプションをオンにすると役立ちます。これはオリジナルのテキスト ファイルに存在する改行を確認するのに役立ちます。

数値データを含むファイルの比較

Merge ではテキスト ファイル間で対応する数値を比較することができます。また、必要に応じて、互いの数値の差が一定の許容範囲内である場合にそれらを同一として処理することもできます。これを使用する可能性がある一例は、コンピュータ数値制御(CNC)マシン ツールによる数値制御(NC)コード ファイルの出力の比較です。つまり、たとえば、数値比較の許容値として 0.002 を定義した場合、34.01334.015 は同一と見なされますが、34.01234.015 では相違があると見なされます。

Merge が数値の許容を考慮するのは、ファイル タイプ環境設定ページでテキスト (数値データ) 比較として定義されるタイプのファイルを比較する場合のみです。Merge を新規インストールした場合、デフォルトでは .ptp 拡張子のファイルをこのタイプのファイルとして扱います(既存の Merge をアップグレードした場合、.ptp ファイル タイプは自動的には追加されないので注意してください)。

対象ファイルの数値比較における許容値は、環境設定ページで指定されます。

Intel Hex ファイルの比較

Merge では Intel Hex ファイル向けの特殊な操作を提供します。この操作を有効にするには、ファイル タイプ環境設定ページで、ファイルのタイプがテキスト (Intel Hex) 比較として定義されている必要があります。Merge を新規インストールした場合、デフォルトでは .hex 拡張子のファイルをこのタイプのファイルとして扱います(既存の Merge をアップグレードした場合、.hex ファイル タイプは自動的には追加されないので注意してください)。

Intel Hex ファイルの場合、レコード行(コロンで始まり、その後の 8 桁は 16進数の制御データ)の比較は、制御データのみが対象で、コンテンツ データは無視されます。変更されたブロックが複数のレコード行で構成される場合は、それを行ごとの変更として扱い、対になる行が具体的に示されます。その後、制御データの後に続くコンテンツ データが行単位で比較され、変更箇所があれば行内で強調表示されます。

ファイル比較の表示

Merge のインストール ディスクイメージの Sample Files フォルダには、2 つのサンプル テキスト ファイル(test1.txt および test2.txt)が用意されています。下図は、これら 2 つのサンプル ファイルの比較結果の画面です。

test1.txt と test2.txt の比較結果

2 つのファイル間の変更箇所が色とリンク線を使って強調表示されています。ファイル比較ウインドウの中央ペインに表示されているリンク線は、両ファイルの変更箇所をつなぐことによってファイルがどのように関連しているかを示しています。ファイル比較ウインドウで使用されている色とフォントはフォント/カラー環境設定ページのコントロールを使用して変更できます。

Merge のメイン ウインドウ下部のステータス バーに、比較している両ファイルの削除、挿入および変更箇所の数が表示されます。編集カーソルが置かれている位置の行番号と列番号も表示されています。

比較ウインドウの左下の情報開示ボタンは上のテキストパネルと上のもう 1 つのテキストパネルから現在行を開示するために使用できます。このパネルでは空白スペースと行終端文字は常に表示されます。

レイアウトの制御

比較するファイルを上下または左右(デフォルト)に並べて表示するよう、ファイル比較ウインドウでのファイルのレイアウトを変更するには、レイアウト ツールバー ボタンで 2 者間比較(左右に表示) 3 者間比較(左右に表示) 2 者間比較(上下に表示) 、および 3 者間比較(上下に表示) メニュー項目を使用するか、またはウインドウ メニューを使用できます。

Merge には、ファイルの比較および表示方法をカスタマイズするためのオプションが数多く用意されています。また、最良の結果を出すために Merge のカスタマイズを行うためのヘルプ トピックも用意されているので活用してください。

移動

一方のファイルでスクロール バーを使ってファイルをスクロールするともう一方のファイルもスクロールされるので、比較する両方のファイルは常に中央で揃えて表示されます。中央のポイント マーカー(リンク線パネルの中央にあるインデントされた線)は、整列している両ファイルで Merge が関連付けようとしているポイントを示します。Ctrl+Cmd キーを押しながらスクロールすれば、ファイルを揃えて表示する機能を一時的に解除することができます。Ctrl+Cmd キーを離せば、ファイルは元のように揃えて表示されます。

スクロール バーの下部の小さなボタン前の変更箇所 および 次の変更箇所 ボタンを使用して、前の変更や次の変更に移動することができます。

概要ストリップファイル比較ウインドウの左右には、細い概要ストリップがあります。これらのストリップは、比較しているファイル内の変更の位置を示すマークを含んでいます。ストリップ上のマークをクリックすれば、変更箇所へ迅速にアクセスすることができます。

ファイル内をクリックしてキーボード フォーカスを移してから、カーソル キーを使って移動することができます。また、下記のショートカット キーを使用することもできます。

  • Ctrl+Option+ 編集カーソルが前の変更箇所へ移動します。
  • Ctrl+Option+ 編集カーソルが次の変更箇所へ移動します。
  • Option+ および Option+ 編集カーソルが語単位で左右に移動します。
  • Cmd+ および Cmd+ 編集カーソルがファイルの先頭または最後に移動します。
  • Cmd+L 指定の行番号へ移動するためのウインドウが表示されます。

すべてのキーボードのショートカット キーの一覧は、キーボード ショートカットを参照してください。

マウスおよびタッチパッドによる移動

ホイール付きマウスやタッチパッドを使用している場合、選択しているファイル内で上下や左右のスクロールに使用することができます。

Unicode/MBCS 文字エンコーディングとコードページ

Merge は Unicode または MBCS 文字エンコーディング ファイルを ASCII ファイルと同じように比較することができます。MBCS ファイルの場合、Merge はユーザのデフォルトのコード ページ以外のコード ページで保存したファイルであっても比較することができます。詳細については、文字エンコーディングの処理を参照してください。

テキストの検索

検索 ツールバー ボタンをクリックして、検索…を選択するとアクティブ ファイル内のテキストを検索することができます。また、編集検索検索 メニュー項目を選択するか、Cmd+F キーを押すことにより検索することができます。

複数のファイル比較ウインドウの切り替え

Merge では同時に複数のファイル比較ウインドウを開くことができます。アプリケーション ウインドウの上部にあるタブ ストリップを使用すると、マウスのシングル クリックでファイル比較ウインドウを切り替えることができます。

ブックマークおよびコメント

ファイルの比較や編集を行っている際にブックマークを設定しておいて、後でその場所に戻ることができます。現在行のブックマークのオン/オフを切り替えるには ブックマーク ツールバー ボタンをクリックして、ブックマークの切り替えを選択します。また、編集ブックマークブックマークの切り替え メニュー項目を選択するか、Cmd+F2 キーを押すことにより切り替えることができます。

ブックマーク間を移動するには ブックマーク ボタンをクリックして、次のブックマーク または 前のブックマークを選択します。また、編集ブックマーク メニューから 次のブックマーク または 前のブックマークを選択するか、F2 または Shift+F2 キーを押すことで移動できます。

ブックマークにコメントを追加することができ、重要な情報の注釈を付けたり、質問を記録することができます。ブックマークのコメントを編集するには ブックマーク ツールバー ボタンをクリックして、コメントの編集…を選択します。また、編集ブックマークコメントの編集… メニュー項目を選択するか、ブックマークを右クリックして コメントの編集… メニュー項目を選択します。ブックマーク コメントは、マウス ポインターをブックマーク上に置くとツール ヒントとして表示されます。

Information ブックマークおよびコメントは、比較をアーカイブまたはチームでの合同作業のために保存する際に一緒に含められます。またブックマーク コメントは HTML 比較レポートでも見られます。このため、比較の中に質問を入力したり注釈を付けておき、それを後で電子メールで送信してほかのチーム メンバーが校閲できるようにする有用なツールとなります。

ファイルの編集

上に述べた比較機能に加え、Merge では比較中のファイルを編集およびマージすることができます。詳細については、ファイルの編集を参照してください。

構文の強調表示

Merge では、さまざまなプログラム言語の構文の色分けを行うことができます。

言語 ファイル拡張子
C/C++/Obj-C .c, .cc, .cpp, .cxx, .h, .hh, .hpp, .hxx, .sma, .m, .mm
C# .cs
D .d
Windows リソース .rc, .rc2, .dlg
IDL .idl, .odl
Flash .as, .asc, .jsfl
Java .java
JavaScript .js
VB .vb, .bas, .frm, .cls, .ctl, .pag, .dsr, .dob
VBScript .vbs, .dsm
Pascal/Delphi .dpr, .dpk, .pas, .dfm, .inc, .pp
HTML/XML/PHP/VXML .html, .htm, .asp, .shtml, .htd, .php3, .phtml, .php, .htt, .cfm, .tpl, .dtd, .hta, .vxml, .xml, .xsl, .xslt, .svg, .xul, .xsd, .dtd, .axl, .xrc, .rdf, .vcproj, .wxs, .wxi, .docbook
CSS .css
Caml/OCaml/F#/SML .caml, .ml, .mli, .fs, .fsi
Erlang .erl, .hrl
Fortran .f90, .f95, .f2k, .f, .for
Lisp .lsp, .lisp, .scm, .smd, .ss
Perl .pl, .pm, .cgi, .pod
Python .py, .pyw, SConstruct, SConscript
Ruby .rb, .rbw
Scala .sbt, .sc, .scala
Smalltalk .st, .pac
Visual DataFlex (Smalltalk パーサを使用) .src, .pkg
SQL .sql, .spec, .body, .sps, .spb, .sf, .sp

構文の強調表示は、強調表示環境設定ページのコントロールを使用して利用できます(表示色の構成も可能)。各言語のファイル拡張子およびキーワードは、Merge インストール ディレクトリにある highlight.styles ファイルを編集して変更することができます。