置換には、次の6コマンドがあります。これらの置換では、現編集テキスト内が 対象になります。
なお、「ファイルから置換」 は、別のところで説明しています。
各種の置換条件を指定して、置換を開始するには、「置換ダイアログボックス」を表示します。それには、 この「置換」コマンドを実行します。
このコマンドは、初期環境では、
・Ctrl+R キー
・メニューバーの「検索」→「置換...」
・ツールバー
に、割り当てられています。また、「置換確認ツールボックス」内のボタンにも、割り当てられています。
このコマンドは、現在の置換条件で、現カーソル位置から順方向に、つまり、 編集テキストの末尾に向かって、検索して、置換を行ないます。但し、 「置換確認ツールボックス表示」の指定が ON になっている場合、置換は行なわずに、このツールボックスを表示します。 これが既に表示中なら、結局、検索だけになります。
このコマンドは、初期環境では、
・F3 キー
・メニューバーの「検索」→「順行検索」
・ツールバー
に、割り当てられています。また、「置換確認ツールボックス」内のボタンにも、割り当てられています。
なお、「検索ダイアログボックス」から 「順行検索」または「逆行検索」を行なった後では、置換連動状態が解除されているので、 このコマンドは、検索だけを行ないます。置換連動状態に設定するには、 「置換ダイアログボックス」から、 「順行検索」または「逆行検索」を行なう必要があります。
このコマンドは、現在の置換条件で、現カーソル位置から逆方向に、つまり、 編集テキストの先頭に向かって、検索して、置換を行ないます。但し、 「置換確認ツールボックス表示」の指定が ON になっている場合、置換は行なわずに、このツールボックスを表示します。 これが既に表示中なら、結局、検索だけになります。
このコマンドは、初期環境では、
・Shift+F3 キー
・メニューバーの「検索」→「逆行検索」
・ツールバー
に、割り当てられています。また、「置換確認ツールボックス」内のボタンにも、割り当てられています。
なお、「検索ダイアログボックス」から 「順行検索」または「逆行検索」を行なった後では、置換連動状態が解除されているので、 このコマンドは、検索だけを行ないます。置換連動状態に設定するには、 「置換ダイアログボックス」から、 「順行検索」または「逆行検索」を行なう必要があります。
このコマンドは、現在の置換条件で、現在の選択範囲を、置換文字列に、 置き換えます。選択範囲がなければ、現カーソル位置に、置換文字列を 挿入します。
このコマンドの機能は、「置換確認ツールボックス」内のボタンに割り当てられていますが、初期環境では、それ以外、 どこにも割り当てられていません。というのは、通常、検索と置換は、 連続して行なわれるか、または、その間で確認する時は、ツールボックスで行なうからです。 勿論、このコマンドの機能は、環境設定で、任意のキー等に割り当て可能です。
このコマンドは、まず、現在の置換条件で、現在の選択範囲を、置換文字列に、
置き換えます。選択範囲がなければ、現カーソル位置に、置換文字列を
挿入します。
その後、即時、次の候補を、置換条件で検索します。この検索の方向は、
前回と同じです。つまり、前回が順行なら今回も順行に、前回が逆行なら
今回も逆行になります。
このコマンドの機能は、「置換確認ツールボックス」内のボタンに割り当てられています。また、 初期環境では、F4 キーに割り当てられていますが、 環境設定で、任意のキー等に割り当て可能です。
このコマンドを実行すると、現在の置換条件で、「検索文字列」に一致する全ての部分が、「置換文字列」に置換されます。 なお、この全置換での検索方向は、前回と同じになります。つまり、前回が順行なら今回も順行に、 前回が逆行なら今回も逆行になります。
全置換は、場合によっては危険なので、その実行前に、確認のメッセージが表示されます。 ここでは、次の選択肢の中から、操作を選べるようになっています。
全置換は、かなり高速で行なわれますが、途中で、ESC キーを押せば、 中断させることができます。
全置換に対する「元に戻す/やり直し」は、もちろん 可能ですが、1箇所ごとに行なうのか、それとも、全箇所を一気に行なうのかが、 問題です。本仕様では、現状、1000 箇所ごとに行なうようになっています。
全置換は、「置換ダイアログボックス」で、 「全ての候補を一気に置換」の 指定を ON にして、起動することで行なえますが、このコマンドの機能は、 「置換確認ツールボックス」内のボタンにも割り当てられています。 初期環境では、それ以外、どこにも割り当てられていませんが、 環境設定で、任意のキー等に割り当て可能です。
本エディタでは、空文字列との全置換は、禁止されています。
ちなみに、通常の(単発の)置換は、正規表現を使えば、空文字列とも行なうことが
できます。例えば、
検索文字列: X*
置換文字列: ABC
の置換の場合、X* が空文字列に一致するので、現カーソル位置に ABC が挿入されます。
全置換で、これが禁止されていないと、ABC が無限に挿入されることになります。