[5998]
Re3: GREP置換
K
>fonさん
複数ファイルを置換するだけなら、いろいろ方法はあるんですが、
サクラエディタからシームレスに検索置換できるようにしたいんですよね~
これがなかなか難しい。
> 別のデータを読み込んで保持したりといった機能が無いのです
確かに、マクロのコマンドも他ファイルにアクセスするものがないですね。
自分でスクリプトを組んでみたんですが、編集中の他のファイルのEditorオブジェクトが取得できず、
置換できず挫折しました。
結局、外部ツールを探しました。
サクラのGREPと同等の機能を持つツールがなかなか見つからなかったのですが、
Devasというツールが結構よさげです。
・シンプルかつ軽い
・単語単位の検索ができる。
・コマンドで詳細条件が指定できる
・フォルダ、検索条件の履歴が残せる
・外部エディタとの親和性が高い
Ctrl+Shift+G に登録して使ってます。
GREP代わりになるので、Ctrl+Gでもいいくらい。
記念にマクロを。
// カレントディレクトリを検索フォルダに
var path = Editor.GetFilename();
var last = path.lastIndexOf("\\");if (last > 0)
path = path.substring(0, last);
// 選択中の単語を検索語に指定
Editor.ExecCommand("Devas\\Devas.exe " + path + " -s $C");