WinMergeを使ったテキストファイルの比較と編集について解説します。
-
WinMergeでフォルダーの内容を比較する
WinMergeを使った比較の手始めとして、ふたつのフォルダーの内容を比べてみましょう。 WinMergeの概要については、前回の記事を参照してください。 この記事の目次1 フォルダーの比較とは2 比 ...
続きを見る
この記事の目次
テキストファイルを比較する
WinMergeでは、フォルダー内のファイルを比較するだけでなく、テキストファイルの内容を比較することもできます。
ふたつのファイルの相違箇所をチェックしテキストを編集するために、相違箇所への移動、文字列コピーなどの機能を備えています。
ピュアテキストだけでなく、HTMLやXMLなどでマークアップされた書類、CSVやタブ区切り形式のデータ、プログラミング言語やスクリプト言語で書かれたソースコードなども、比較・編集可能。
もちろんマークダウン形式もOKです。
比較するファイルを開く
まず比較するファイルを指定します。
指定方法はフォルダーのときと同じで、「ファイルまたはフォルダーの選択」タブで、1番目のファイルまたはフォルダーと2番目のファイルまたはフォルダーにファイルを指定します。
ファイルを指定して[比較]ボタンをクリックすると比較画面が現われます。
いちどに3つのファイルを開くこともできます。
比較画面のレイアウト
テキスト比較画面は大きく3つのエリアに分かれます。
比較表示画面
テキストを表示しているエリアを本記事では便宜上比較表示画面と呼びます(正式な呼称ではありません)。
比較表示画面は、比較するテキストの数によって2つまたは3つのペイン(枠)に分かれます。
次のキャプチャ画像では、ふたつのファイルを左右に分割して表示しています。
ここでは左が1番目のファイル、右が2番目のファイルですが、左右の配置を入れ替えることもできます。
黄色いところは、左右で文字の違いがある行です。
さらに行の中で違いがあるところを色つきで表示します。
比較表示画面の中では、直接文字の入力・編集ができます。
ロケーションペイン
左側の縦長のブロックをロケーションペインといいます。
ここには、ファイル全体の中でどのあたりに違いがあるかを表示しています。
上の図では、黄色いところが3ヶ所、ファイルの先頭近くに固まっているのがわかります。
また、現在比較表示部に表示しているところは、ロケーションペインの中で淡いパープルのブロックで示されています。
diffペイン
ウィンドウの下にある横長のブロックがdiffペインです。
逆に、違いがない部分(色がついていない行)をダブルクリックしてもdiffペインには変化がありません。
diffペインは比較表示画面では横幅が足りなくて行全体を表示できないときに役立ちます。
また、比較表示画面のほうをスクロールして別の場所を表示したときもdiffペインのほうは移動しないので、diffペインと別の場所を比較するのにも使えます。
diffペイン内で直接テキストを編集することはできません。
異なる箇所へ移動する
テキスト比較ツールでは、違いのある部分を検索してすばやく移動する必要があります。
移動系のコマンドは[マージ]メニュー内にあります。
差異への移動
現在選択している行(カーソル位置)を基準に、それ以前の差異部分、それ以後の差異部分へジャンプする機能です。
キーボードショートカット
次の差異 【Alt】+【↓】
前の差異 【Alt】+【↑】
最初の差異/最後の差異/現在の差異
テキストファイル内で最初の差異部分や、最後の差異部分にジャンプすることもできます。
[現在の差異]は、現在選択している(カーソルがある)差異部分の色をマゼンタで強調表示します。
画面上のどの差異部分を選択しているかわからなくなったときに便利な機能です。
また、比較表示画面をスクロールして、現在の差異の場所が表示されていないときに使うと現在の差異までジャンプしてくれます。
キーボードショートカット
最初の差異 【Alt】+【Home】
最後の差異 【Alt】+【End】
現在の差異 【Alt】+【Enter】
文字列のコピー
左右のペインに表示されている文字列を行単位で相互にコピーできます。
コピーできるのは違いがある行だけです。
差異がない行ではコピーコマンドはグレーアウトされて実行できません。
左側にコピー/右側にコピー
右のペインにある行を左ペインにコピー、逆に左ペインの行を右へコピーできます。
コピー元となる側の行にカーソルがある状態で実行してください。
カーソルがある側から、反対へ送り出す感じです。
キーボードショートカット
右側にコピー 【Alt】+【→】
左側にコピー 【Alt】+【←】
左側からコピー/右側からコピー
コピー先となる側にカーソルがあるときは、こちらのコマンドを使います。
カーソルがある側へ、反対から持ってくる感じです。
キーボードショートカット
左側からコピー 【Alt】+【Shift】+【→】
右側からコピー 【Alt】+【Shift】+【←】
コピーして次に進む
コピー作業を連続して行うときに使います。
現在の行でコピーを行ったあと、次の差異部分へ移動します。
キーボードショートカット
右側にコピーして次に進む 【Ctrl】+【Alt】+【→】
左側にコピーして次に進む 【Ctrl】+【Alt】+【←】
すべてを右側にコピー/すべてを左側にコピー
テキスト全体を左から右/右から左へコピーします。
すべて上書きする形になります。
キーボードショートカットは割り当てられていません。
テキストの直接編集
比較表次画面上に直接文字を入力したり、削除したりできます。
エディタ上で直接編集する
ワープロやテキストエディタと同じ感覚で、テキストを編集します。
文字を挿入・削除したい位置でマウスを左クリックします。
そのほか、文字列をドラッグや【Shift】+矢印キーで選択して、コピー&ペーストすることもできます。
編集結果を比較に反映させる(リフレッシュ)
テキストを直接編集しただけでは、比較結果(色分け表示)には反映されません。
そのばあいは、ツールバーの右端にある[表示更新]ボタンをクリックするか【F5】キーを押すと、比較画面に反映されます(ファイルを保存する必要はありません)。
テキストの保存
編集したテキストは保存できます。
保存コマンドは、ペインごとに”左側のファイル”、”右側のファイル”に分かれていて、3つめのファイルを開いているときはさらに”中央のファイル”でも利用できます。
上書き保存
[保存]コマンドを実行すると、上書き保存が行われます。
編集していないファイルは、上書きできません。
名前を付けて保存
これに対し[名前を付けて保存]は、編集していないファイルに対しても実行できます。
別の名前を付けて保存することで、元のファイルに手を加えずに残しておくことができます。
ドキュメント作成の幅が広がりそう!
WinMergeでは、複数のテキストファイルを開いて違いをチェックしつつ、相互に文字列をコピーしたり、ときには直接編集することもできるので、ファイルごとに分かれたデータをひとつにまとめていくような作業が簡単にできます。
たとえば、バージョンの異なるふたつの原稿から、それぞれのいいところを組み合わせて新しい原稿を作ったり、CSSファイルの指定を変更したらレイアウトが崩れてしまったので急遽以前の設定に書き戻すといった使い方が可能です。
特に、バージョン違いのファイルを比較・編集するときは、ファイル同期ツールを使ってファイルを世代ごとに管理しておくと威力を発揮するでしょう。