
まとめて置き換える作業は、下見と実行に分けると事故の危険を減らせます。 ただし、下見の件数だけでは安全と判断できません。検索結果の文脈を確認し、元へ戻せる控えを残したうえで、下見と実行の件数を突き合わせます。
この記事では、下見をどう使うのか、どういう置換で事故が起きるのかを扱います。検索の使い方は別の記事に譲ります。
置換で注意したい事故は「直しすぎ」
置換では、直してはいけない場所まで直す事故に注意が必要です。
- 引用の中まで変わる:原文どおりでなければならないのに変わる
- 固有名詞の一部が変わる:「山田」を「山口」にしたら「山田川」まで変わった
- 別の意味の語まで変わる:「行った」を「いった」にしたら「行った先」まで変わった
どれも、実行してから気づきます。 そして気づいたときには、他の直しと混ざっています。
元に戻せばいい、という考え方
取り消しに対応したエディタなら、置換を実行して、おかしいと気づいた時点で戻せる場合があります。
これで済む場合もあります。置換の直後に気づけば、1回の取り消しで戻ります。
「直後に気づけるとは限らない」
問題は、置換の影響が全部見えるわけではないことです。
20ファイルにまたがる置換をすると、画面に見えているのは1ファイルだけです。他の19ファイルで何が起きたかは、開かないと分かりません。おかしいと気づくのは、数日後にその章を読み返したときです。
そのころには、他の編集も重ねています。 取り消しを繰り返して置換の直前まで戻すと、そのあとの編集も全部消えます。
もう一つ、取り消しが効かない場合があります。 ファイルを閉じたあと、アプリを終了したあと、別の道具で置換した場合。こうなると、手で直すしかありません。
rune Studioは、実行前に対象の件数を返す
rune Studioには、置き換えずに下見だけを行う指定があります。
実際に開発版を命令から動かして確かめました。ある語を別の語に置き換える下見をかけたところ、対象は2ファイル・2か所と返り、原稿は変わっていませんでした。
先に件数が出るので、思っていた数と違えば実行前に止まれます。 ただし、3か所のつもりで40か所と返ったとき、増えた37か所がすべて誤対象とは限りません。自分が把握していなかった正しい対象もあり得るため、検索結果の行と前後の文脈を見て分類します。
件数より先に、対象の文脈を確認する
置換前に同じ条件で検索し、ファイル名、行番号、その行の文章を確認します。件数が少なければ全件を見ます。多ければ、少なくとも各ファイルと、引用・固有名詞・本文など異なる文脈の例を確認します。
想定件数と一致しても安全とは限りません。正しい対象を1件漏らし、誤対象を1件含めば、合計は想定どおりになります。件数は異常を見つける合図、文脈確認は対象を決める工程として分けます。
さらに、対象ファイルの複製など、実行前の状態へ戻せる控えを残します。下見は原稿を変えませんが、実行後の判断ミスまでは自動で元に戻しません。
実行すると、結果も件数で返る
実際に1つの原稿の中で置換を実行したところ、1か所が置き換わったという結果が返りました。 そのあと置き換え後の語で探し直すと、確かに見つかりました。
「実行した」ではなく「何か所置き換えた」と分かります。 下見の件数と実行の件数が一致するかを確かめられます。
探す範囲を絞れる
作業場全体だけでなく、1つのファイルの中に限って置換することもできます。実際に確かめたのはこの形です。まず1ファイルで試し、結果を見てから全体へ広げる、という進め方ができます。
正規表現は置換でも使える
置き換える条件を、決まった書き方の並びで指定できます。実際に開発版で、置換の指定に正規表現を付けて「第[一二三]章」を「序章」に置き換えたところ、下見では原稿が変わらず、実行すると原稿の「第一章」が「序章」に変わりました。
「山田」ではなく「山田さん」だけを置き換えたい、といった絞り込みができます。 直しすぎを防ぐには、実行する前に条件を狭めるのがいちばん確実です。
逆に、探し漏れが起きるのはどんなときか
タイトルにある「探し漏れ」は、下見の件数が思ったより少ないときに疑います。原因はだいたい3つです。
表記がゆれている。 「引っ越し」で指定すると「引越し」は対象になりません。正規表現で両方を拾える条件にします。
範囲を絞りすぎている。 1つのファイルに限って置換したことを忘れて、全体を直したつもりになる。件数が想定より少なければ、対象範囲を確認してください。
ワークスペース外に原稿がある。 対象はワークスペースの中の原稿なので、外に置いた原稿は入りません。章を別のフォルダへ避難させていると、そこだけ残ります。
下見の件数を「多すぎないか」だけでなく「少なすぎないか」でも見る。 そのうえで検索結果の文脈を確認すると、探し漏れや直しすぎの可能性を実行前に絞れます。
置換の前に、条件を狭める順番
下見で件数が多すぎたとき、条件を狭める順番があります。
まず、語を長くします。 「山田」ではなく「山田さん」。前後の1語を足すだけで、意図しない箇所の多くが外れます。
次に、前後の文脈を条件に足します。 正規表現を使えば、「行頭のこの語」「括弧の中のこの語」といった絞り込みができます。
それでも多いなら、範囲を絞ります。 作業場全体ではなく、1つのファイルに限って置換します。1章ずつ処理すれば、結果を確かめながら進められます。
最後の手段は、置換をやめることです。 多数の箇所を一度に置き換えるより、検索で1件ずつ見て手で直すほうが確実な場合があります。件数だけで一括置換へ進まず、文脈を確認して方法を選びます。
向く人と、別の方法が向く人
向いているのは、複数のファイルにまたがる原稿を扱う人です。 章ごとにファイルを分けていると、置換の影響が画面の外へ広がります。
1ファイルだけの短い文章なら、実行して目で見ても構いません。 画面に全部見えているなら、下見の価値は下がります。
なお、確かめたのは下見と実行の件数が返ること、1つの原稿での置換までです。
まとめ
- 置換の事故は「直しすぎ」で起きる。引用や固有名詞の中まで変わる
- 取り消しで戻せるとは限らない。影響が画面の外に広がると、気づくのが数日後になる
- rune Studioは置き換えずに下見だけを行え、対象の件数を先に返す
- 件数だけでは対象の正しさを保証できない。検索結果の文脈を確認し、元へ戻せる控えを残す
- 実行後も何か所置き換えたかが件数で返るので、下見と突き合わせられる
次の一歩として、次に置換するときは、検索結果の文脈を確認して元ファイルの控えを残し、下見だけをかけてください。対象を確定してから実行し、実行件数と下見件数を突き合わせます。


