このページでは、Inkscapeでキャンバス上のオブジェクトをキーワードなどで検索したり別の属性にまとめて置換したりする機能について紹介しようと思います。

(2024.01.15更新)
検索/置換でできること
Inkscapeの検索/置換機能では、次のようなことが可能です。
- テキストオブジェクトの文字列をキーワードで検索する。
- 任意のオブジェクトの属性名や属性値をキーワードで検索する。
- 特定の種類のオブジェクトを検索する。
- 検索でヒットしたオブジェクトを選択状態にする。
- 検索でヒットしたキーワードをすべて別のキーワードに置換する。
検索は、検索/置換ダイアログ上から行う手順と、オブジェクトを選択しておいてメニューから同じオブジェクトを選択を操作する手順があります。
置換は、検索/置換ダイアログ上から行います。
検索/置換ダイアログ
検索/置換ダイアログは次のようになっています。
検索欄に検索したいキーワードを入力します。何も入力しない場合はあらゆる属性にヒットします。
検索対象でキーワード検索の対象をテキストオブジェクトの文字列か任意のオブジェクトの属性(プロパティ)かを選びます。
検索範囲では、どの範囲のオブジェクトを検索対象とするかを選びます。
オプションでは、どんな検索を行うかを指定します。
オプションの中でも特にオブジェクトタイプは検索対象のオブジェクトの種類を選びますが、必ず1つは選ばないと検索は実行できません。(検索ボタンを押しても何も起こらない)
もろもろ指定して検索ボタンを押すと検索が実行されてヒットしたオブジェクトが自動的にすべて選択状態になります。
置換欄に置換後のキーワードを入力してすべて置換ボタンを押すとヒットしたオブジェクトの属性のうち、検索欄のキーワードにヒットした部分が置換後のキーワードに置き換わります。1つずつ順番に置換していくようなよくある機能はInkscapeにはないようです。
検索/置換ダイアログの使い道
検索/置換ダイアログを使うと、何らかの共通点のあるオブジェクトを全部まとめて選択状態にすることができるので、例えば同じ種類のオブジェクトの色をまとめて変更するときや、非表示にしているオブジェクトを選択するときに便利です。
検索欄に何も入力せずに検索を実行すると、オブジェクトタイプに指定した種類のオブジェクトを全部ヒットさせて選択状態にすることもできます。
また本来選択することができないはずのロック状態のオブジェクトもヒットさせて選択状態にすることができるので、ロック状態のオブジェクトがたくさんある中で特定のロック済みオブジェクトを選択状態にすることもできます。(ロック済みオブジェクトを選択したところでその後実行できることはそんなにないので、何のために選択するのかというと実はよく分かりませんが)
さらにSVG形式データのテキストレベルでの置換ができるので、例えばすべてのテキストオブジェクトの特定のキーワードを一斉に置き換えることはもちろん、オブジェクトの任意の属性値(文字列)を置換することもできます。
例えば「0000ff」を「ff0000」に置換するような指定をダイアログ上でしておいてすべて置換ボタンを押すと次のように青色のところを全部まとめて赤色に置換するなんてこともできます。


ただ、置換機能はどんな結果になるのか分からないことも多いので、個人的にはテキストオブジェクトの置換以外の置換についてはInkscape上で行うよりもSVG形式ファイルに保存した上で一般のテキストエディタで開いて置換したほうが間違いがないようにも思います。
同じオブジェクトを選択
特定のオブジェクトを選択しておいて、メニューから編集 > 同じオブジェクトを選択を操作するか、または、そのオブジェクトの上で右クリックしてメニューを表示させて同じオブジェクトを選択を操作します。
同じオブジェクトを選択というメニューの下位メニューに次のようなメニューが表示されるので、検索したい条件を選びます。

これを使えば、例えば特定の色で塗られた部分を全部別の色に変更したいときなどに、その色で塗られているオブジェクトをまとめて選択した上で変更するという手順が実行可能になります。
例えば次のようなオブジェクトが描いてある状態で・・・

水色のフィルのオブジェクトのストロークの色をまとめて黄色にしたいとします。
水色のフィルのオブジェクトを1つだけ選んでフィルの色が同じというメニューを操作すると、次のように同じ水色のフィルのオブジェクトが全部選択された状態になります。(緑色のフィルの矩形だけ選択されていません)

この状態でストロークの色を黄色に設定すれば、次のようにまとめて黄色に変更することができます。
