ソフトウェア

WinMergeでテキストの比較と編集

フォルダー内のファイル比較に続き、WinMergeを使ったテキストファイルの比較と編集について解説します。

関連記事
WinMergeでフォルダーの内容を比較する

WinMergeを使った比較の手始めとして、ふたつのフォルダーの内容を比べてみましょう。 WinMergeの概要については、前回の記事を参照してください。 この記事の目次1 フォルダーの比較とは2 比 ...

続きを見る

 

テキストファイルを比較する

WinMergeでは、フォルダー内のファイルを比較するだけでなく、テキストファイルの内容を比較することもできます。

 

ふたつのファイルの相違箇所をチェックしテキストを編集するために、相違箇所への移動文字列コピーなどの機能を備えています。

ピュアテキストだけでなく、HTMLXMLなどでマークアップされた書類、CSVやタブ区切り形式のデータ、プログラミング言語やスクリプト言語で書かれたソースコードなども、比較・編集可能。

もちろんマークダウン形式もOKです。

 

比較するファイルを開く

まず比較するファイルを指定します。

指定方法はフォルダーのときと同じで、「ファイルまたはフォルダーの選択」タブで、1番目のファイルまたはフォルダー2番目のファイルまたはフォルダーにファイルを指定します。

WinMerge 比較ファイルの選択

比較するファイルを選択する

 

ファイルを指定して[比較]ボタンをクリックすると比較画面が現われます。

いちどに3つのファイルを開くこともできます。

 

比較画面のレイアウト

テキスト比較画面は大きく3つのエリアに分かれます。

比較表示画面

テキストを表示しているエリアを本記事では便宜上比較表示画面と呼びます(正式な呼称ではありません)。

比較表示画面は、比較するテキストの数によって2つまたは3つのペイン(枠)に分かれます。

 

次のキャプチャ画像では、ふたつのファイルを左右に分割して表示しています。

ここでは左が1番目のファイル、右が2番目のファイルですが、左右の配置を入れ替えることもできます。

WinMerge テキスト比較画面

テキスト比較画面の表示例

 

黄色いところは、左右で文字の違いがある行です。

さらに行の中で違いがあるところを色つきで表示します。

比較表示画面の中では、直接文字の入力・編集ができます。

 

ロケーションペイン

左側の縦長のブロックをロケーションペインといいます。

ここには、ファイル全体の中でどのあたりに違いがあるかを表示しています。

WinMerge ロケーションペイン

ロケーションペインの表示例

 

上の図では、黄色いところが3ヶ所、ファイルの先頭近くに固まっているのがわかります。

また、現在比較表示部に表示しているところは、ロケーションペインの中で淡いパープルのブロックで示されています。

 

diffペイン

ウィンドウの下にある横長のブロックがdiffペインです。

比較表示画面で違いのある行をダブルクリックすると、その行が抽出されます。

逆に、違いがない部分(色がついていない行)をダブルクリックしてもdiffペインには変化がありません。

 

diffペインは比較表示画面では横幅が足りなくて行全体を表示できないときに役立ちます。

また、比較表示画面のほうをスクロールして別の場所を表示したときもdiffペインのほうは移動しないので、diffペインと別の場所を比較するのにも使えます。

diffペイン内で直接テキストを編集することはできません。

WinMerge diffペイン

diffペインの表示例

 

異なる箇所へ移動する

テキスト比較ツールでは、違いのある部分を検索してすばやく移動する必要があります。

移動系のコマンドは[マージ]メニュー内にあります。

 

差異への移動

現在選択している行(カーソル位置)を基準に、それ以前の差異部分、それ以後の差異部分へジャンプする機能です。

WinMerge マージメニュー

差異部分へ移動するコマンド

 

キーボードショートカット

次の差異 【Alt】+【↓】

前の差異 【Alt】+【↑】

 

最初の差異/最後の差異/現在の差異

テキストファイル内で最初の差異部分や、最後の差異部分にジャンプすることもできます。

[現在の差異]は、現在選択している(カーソルがある)差異部分の色をマゼンタで強調表示します。

画面上のどの差異部分を選択しているかわからなくなったときに便利な機能です。

また、比較表示画面をスクロールして、現在の差異の場所が表示されていないときに使うと現在の差異までジャンプしてくれます。

キーボードショートカット

最初の差異 【Alt】+【Home】

最後の差異 【Alt】+【End】

現在の差異 【Alt】+【Enter】

文字列のコピー

左右のペインに表示されている文字列を行単位で相互にコピーできます。

コピーできるのは違いがある行だけです。

差異がない行ではコピーコマンドはグレーアウトされて実行できません

 

左側にコピー/右側にコピー

右のペインにある行を左ペインにコピー、逆に左ペインの行を右へコピーできます。

コピー元となる側の行にカーソルがある状態で実行してください。

WinMerge コピーコマンド

差異部分をペイン間でコピーする

WinMerge コピー結果

コピーの実行結果

カーソルがある側から、反対へ送り出す感じです。

キーボードショートカット

右側にコピー 【Alt】+【→】

左側にコピー 【Alt】+【←】

 

左側からコピー/右側からコピー

コピー先となる側にカーソルがあるときは、こちらのコマンドを使います。

カーソルがある側へ、反対から持ってくる感じです。

キーボードショートカット

左側からコピー 【Alt】+【Shift】+【→】

右側からコピー 【Alt】+【Shift】+【←】

コピーして次に進む

コピー作業を連続して行うときに使います。

現在の行でコピーを行ったあと、次の差異部分へ移動します。

WinMerge 直接編集

比較表示画面上で直接編集する

WinMerge コピーして次の差異へ

コピーしたい行を選択する

WinMerge コピーして次の差異へ2

コピーして次の差異へ移動するコマンド

WinMerge コピー後の移動結果

コピー後の移動結果

キーボードショートカット

右側にコピーして次に進む 【Ctrl】+【Alt】+【→】

左側にコピーして次に進む 【Ctrl】+【Alt】+【←】

 

すべてを右側にコピー/すべてを左側にコピー

テキスト全体を左から右/右から左へコピーします。

すべて上書きする形になります。

キーボードショートカットは割り当てられていません。

 

テキストの直接編集

比較表次画面上に直接文字を入力したり、削除したりできます。

エディタ上で直接編集する

ワープロやテキストエディタと同じ感覚で、テキストを編集します。

文字を挿入・削除したい位置でマウスを左クリックします。

そのほか、文字列をドラッグや【Shift】+矢印キーで選択して、コピー&ペーストすることもできます。

WinMerge 直接編集

比較表示画面上で直接編集する

 

編集結果を比較に反映させる(リフレッシュ)

テキストを直接編集しただけでは、比較結果(色分け表示)には反映されません。

そのばあいは、ツールバーの右端にある[表示更新]ボタンをクリックするか【F5】キーを押すと、比較画面に反映されます(ファイルを保存する必要はありません)。

WinMerge

[表示更新]で編集結果を反映させる

 

テキストの保存

編集したテキストは保存できます。

保存コマンドは、ペインごとに”左側のファイル”、”右側のファイル”に分かれていて、3つめのファイルを開いているときはさらに”中央のファイル”でも利用できます。

 

上書き保存

保存]コマンドを実行すると、上書き保存が行われます。

編集していないファイルは、上書きできません。

WinMerge 上書き保存

編集したファイルは上書き保存可能

 

名前を付けて保存

これに対し[名前を付けて保存]は、編集していないファイルに対しても実行できます。

別の名前を付けて保存することで、元のファイルに手を加えずに残しておくことができます。

WinMerge 名前を付けて保存

[名前を付けて保存]コマンド

 

ドキュメント作成の幅が広がりそう!

WinMergeでは、複数のテキストファイルを開いて違いをチェックしつつ、相互に文字列をコピーしたり、ときには直接編集することもできるので、ファイルごとに分かれたデータをひとつにまとめていくような作業が簡単にできます。

たとえば、バージョンの異なるふたつの原稿から、それぞれのいいところを組み合わせて新しい原稿を作ったり、CSSファイルの指定を変更したらレイアウトが崩れてしまったので急遽以前の設定に書き戻すといった使い方が可能です。

特に、バージョン違いのファイルを比較・編集するときは、ファイル同期ツールを使ってファイルを世代ごとに管理しておくと威力を発揮するでしょう。

 

-ソフトウェア
-, ,