[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

9. sdiffを用いた対話的なマージ

sdiffを用いると,横に並べた‘-y’書式の比較を元にして (see section 差異を並べて表示する),二つのファイルを対話的にマージすることが可能です. マージされたテキストを書く場所を指定するために,‘-o file’や ‘--output=file’を使用してください.sdiffのオプショ ンの詳細は,See section sdiffの呼び出し.

ファイルを対話的にマージするもう一つの方法は,Emacs Lispパッケージの emergeを使用する方法です.詳細は,See (emacs)emerge section ‘emerge’ in The GNU Emacs Manual.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

9.1 sdiffdiffのオプションを指定する

以下のsdiffは,diffと同じ意味です.これらのオプショ ンの使用については,See section diffへのオプション.

 
-a -b -d -i -t -v
-B -E -I regexp

--ignore-blank-lines  --ignore-case
--ignore-matching-lines=regexp  --ignore-space-change
--ignore-tab-expansion
--left-column  --minimal  --speed-large-files
--strip-trailing-cr  --suppress-common-lines  --expand-tabs
--text  --version  --width=columns

歴史的な理由から,sdiffは別名のあるオプションもあります. ‘-l’は‘--left-column’オプションと等価で,同様に, ‘-s’は‘--suppress-common-lines’と等価です.sdiff の‘-w’と‘-W’オプションの意味は,diffとは違います. sdiffでは,‘-w columns’は ‘--width=columns’と等価で,‘-W’は ‘--ignore-all-space’と等価です.‘-o’オプションを用いない sdiffは,‘-y’や‘--side-by-side’オプション (see section 差異を並べて表示する)を用いたdiffと等価です.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

9.2 マージコマンド

空白の溝を用いている共通行のグループは,最初のファイルから出力へコピーさ れます.差異のある行のそれぞれの行の後に,sdiffは‘%’のプ ロンプトを出力して一時停止し,以下のコマンドの一つを待ち続けます.それぞ れのコマンドに<RET>を続けてください.

e

どちらのバージョンも破棄します.空の一時ファイルでテキストエディタを呼び 出し,編集結果のファイルを出力にコピーします.

eb

二つのバージョンを連結し,一時ファイルでその結果を編集し,そして,編集結 果を出力にコピーします.

ed

eb’に似ていますが,それぞれのバージョンに,ファイルや行があるバー ジョンを表示するヘッダが前置されます.

el

左のバージョンのコピーを編集し,その結果を出力にコピーします.

er

右のバージョンのコピーを編集し,その結果を出力にコピーします.

l

左のバージョンを出力にコピーします.

q

終了します.

r

右のバージョンを出力にコピーします.

s

共通の行を黙ってコピーします.

v

冗長な出力を出しながら共通の行をコピーします.これはデフォルトです.

呼び出されるテキストエディターは,EDITOR環境変数が設定されていれば それで指定されます.デフォルトはシステムに依存します.


[ << ] [ >> ]           [冒頭] [目次] [見出し] [ ? ]

この文書は新堂 安孝によって2009年9月22日texi2html 1.82を用いて生成されました。