第 3 部・応用機能 / 3.4

左右 2 ペイン比較

F4 で 2 つのファイルを選ぶと、差分を行単位で整列して並べて表示します。差分ブロックは左右どちらへもコピーでき、変更はまず一時コピーに書かれます。元のファイルは、あなたが確認するまで書き換わりません。

所要時間 約 14 分 対象 ファイルを比べる人 前提知識 2.1 バージョン v1.0 ・ 2026-08-26
3.4.1

比較を開始する

F4 を押し、同じファイルダイアログで 2 回選びます。

  1. F4 を押します。1 行目が「左ファイルを選択」になり、操作はファイルを開くときと同じです(2.1.2 参照)。
  2. 左側のファイルを選びます。「左を選択済み:/etc/nginx/nginx.conf;右ファイルを選択してください」と出て、1 行目が「右ファイルを選択」に変わります。
  3. 右側のファイルを選びます。比較画面に入り、「比較完了:差分ブロック 7 件」と表示されます。
元のファイルはまだ触られていません

比較に入るとき、Erya は両方のファイルを一時ディレクトリにコピーし、以後のコピー操作はすべてその一時ファイルに書かれます。元のファイルが変わるのは、あなたが確認したときだけです(3.4.7 参照)。心置きなくコピーしてください。やめたくなったら Esc で破棄できます。

比較できないファイルが 2 種類あります
  • 大容量ファイル(64 MiB 以上):「ファイル全体の読み込みによるメモリー不足を避けるため、大容量ファイルの読み取り専用モードでは左右比較を利用できません」。
  • バイナリファイル:「バイナリファイルは左右2ペイン比較に対応していません」。

どちらも選択の段階で断られるので、比較画面には入りません。

3.4.2

画面の読み方

左右半分ずつ、間に 1 本の線。両側に行番号欄があります。

爾雅 Erya │ ファイル比較
左 │ nginx.conf │ 右 │ nginx.conf.new
1 worker_processes 4; │ 1 worker_processes 4; 2 │ 2 3≠ keepalive_timeout 65; │ 3≠ keepalive_timeout 75; 4 gzip on; │ 4 gzip on; 5 ▶ client_max_body_size 8m;│ 5 ▶ client_max_body_size 8m; 6- access_log off; │ 7 server { │ 6 server { │ │ 7+ listen 8443 ssl;
カーソル行 5/9 現在の差分 2/7 横位置 1 │ 凡例:強調行/▶ カーソル ≠ 変更 - 左のみ + 右のみ
N 次の差分 P 前の差分 Shift+→ カーソル位置を左→右 Shift+← カーソル位置を右→左 Ctrl+S 適用 Esc 戻る
画面の要素内容
2 行目(ヒント行)左右のファイル名が半分ずつ入り、区切り線は下の内容とそろいます。
行番号欄片側 4 桁の行番号に続き、マーク欄が 2 つ:差分の種類とカーソル。
空行片側に対応する行が無いところです。これが「整列」の効果で、同じ行が向かい合います。
ステータス行何行目/全何行、何件目の差分/全何件、横位置、そして凡例。
メッセージ行比較用の操作説明が常駐し、操作するとその結果に入れ替わります。
3.4.3

3 種類の差分マーク

色だけに頼らずに済むよう、種類ごとに記号があります。

記号意味画面での見え方
≠両側にあるが内容が違う両側に付き、行内で違う文字はさらに強い色で示されます
-左だけにある左に付き、右は空行
+右だけにある右に付き、左は空行
(空白)同一マーク無し

差分とは別に、位置を示すマークが 2 つあります:

  • ▶ はカーソルで、左右同時に出ます。両側のカーソルは連動しています。
  • 明るくなった行がカーソルのある行です。
  • 行番号が黄色なのが「現在の差分ブロック」で、N/P が止まる場所です。
連続する差分行は 1 ブロックです

ステータス行の「現在の差分 2/7」の 7 はブロック数で、行数ではありません。連続して変わった 5 行は 1 ブロックで、N はブロックごと飛び、コピーもブロック単位です。

3.4.4

カーソルと現在の差分は別物

この画面でいちばん混同しやすいところです。

カーソル(▶)

↑ ↓、PageUp PageDown、Home End で1 行ずつ動き、同じ内容の行にも止まります。

差分のコピーはカーソルのある行を見ます。

現在の差分(黄色い行番号)

N/P でブロック単位に飛び、差分のある場所にだけ止まります。

飛ぶときにカーソルも一緒に動くので、そのままコピーできます。

同じ内容の行ではコピーできません

Shift+→ を押しても何も起きず「カーソル位置にコピーできる差分ブロックがありません」と出るのはこのためです。先に N で差分へ移動してください。

3.4.5

移動とスクロール

左右は常に同期して動きます。

キー動作
↑ ↓カーソルを 1 行、画面も追随
PageUp PageDown1 ページずつ
Home End比較結果の先頭/末尾へ
← →左右を同期して横スクロール。長い行を見るときに
Ctrl+← Ctrl+→横方向に 8 桁ずつ
N次の差分ブロック
P前の差分ブロック

N/P は最後まで行くと先頭へ戻るので、押し続ければ全体を一周できます。

3.4.6

差分を反対側へコピーする

キーは 2 つ。矢印の向きがそのまま方向です。

キー動作
Shift+→カーソル位置のブロックを左から右へ(右の一時ファイルへ)
Shift+←カーソル位置のブロックを右から左へ
  • コピー後:「現在の差分を左から右の一時ファイルへコピーしました。残り 6 ブロック」——残り件数まで教えてくれます。
  • コピー後もカーソルと画面位置は動きません。結果を確認できます。次へ行くときは N を押してください。
  • ブロック全体がコピーされます。1 行ずつではありません。
  • 一時ファイルへの書き込みに失敗すると(ディスク不足、権限など)「一時ファイルを更新できませんでした:…」と出ます。
統合の定番の流れ

N で差分へ→内容を見る→取り込むなら Shift+→ か Shift+←、取り込まないならまた N→一周したら Ctrl+S で適用。使うキーは 4 つだけです。

3.4.7

元のファイルへ適用する

プロファイルの保存キー(既定は Ctrl+S)を押し、Y か N で答えます。

一時的な比較結果で元のファイルを上書きしますか?Y 上書き/N キャンセル
  1. Ctrl+S を押します。まだ何もコピーしていなければ「適用する一時変更はありません」と出るだけで、確認は出ません。
  2. Y で確定します。Erya はまず元のファイルが外部で変更されていないか確認し、問題が無ければ書き込みます。
  3. 成功。「確認後、元のファイル 2 件を上書きしました」——実際に変更した側だけが書かれます。
  4. 失敗。「元のファイルは上書きされませんでした:…」と出て、どちらも変更されません。多くは比較中に原本が動かされた場合です。
  5. N でキャンセル。「上書きをキャンセルしました。一時変更は保持されています」——作業内容は残るので、続きも後からの適用もできます。
外部変更の確認は省略されません

通常の保存と同じ仕組みです(2.1.7 参照)。比較には時間がかかり、その途中で git checkout により原本が入れ替わることは珍しくありません。Erya はそれを黙って上書きしません。

3.4.8

終了時の 3 つの選択

未適用の変更があると、Esc は先に尋ねます。

一時変更は未適用です:Y 上書きして終了/N 破棄して終了/Esc 戻る
キー結果
Y元のファイルを上書きして終了します(同じ外部確認が入ります)。
N一時変更を破棄して終了します。コピーした内容は無効になり、元のファイルはそのままです。
Esc比較画面に戻り、何もしません。

一時変更が 1 つも無ければ、Esc は何も尋ねずに終了します。

終了時に一時コピーは削除されます

一時ディレクトリは比較のあいだだけ存在します。N で終了したあと、コピー内容は取り戻せません。ただし元のファイルは残っているので、やり直しても失うのは時間だけです。

3.4.9

よくあるつまずき

比較画面での 7 つの場面。

症状原因と対処
Shift+→ が効かないカーソルが同じ内容の行にあります。先に N を(3.4.4)。
ファイル選択の段階で断られる大容量ファイルかバイナリを選んでいます(3.4.1)。
コピーしたのに原本が変わらない変更先は一時コピーです。Ctrl+S のあと Y で確定します(3.4.7)。
「元のファイルは上書きされませんでした」比較中に原本が外部で変わりました。いったん終了してやり直します(3.4.7)。
終了後に作業内容が消えた終了時に N(破棄して終了)を押しています(3.4.8)。
長い行の後半が見えない← → で横スクロールします。左右は同期します(3.4.5)。
差分の件数が思ったより少ない数えているのはブロックで、連続した変更は 1 件です(3.4.3)。