/ 最近 .rdf 追記 編集 設定 本棚

脳log[20171218]



2017年12月18日 (月) [SakuraEditor] サクラエディタBBS[8303]■GREP置換とな。GREPはいつも Ctrl+G だから気づかなかったけどその下にそういうコマンドがある。いや知ってたけどね、実際にあるのを確かめたのは初めてだった。しかし……、デバッグのためという理由があってさえ試すことができなかった。■オプションの多さだろうか。取り返しのつかなさだろうか(※バックアップオプションはある)。置換の及ぶ対象の予測不可能性だろうか。■XPかそれより前の Windowsではショートカットに埋め込んだ引数が無視されて無理だったかもしれないけど、SendTo に GREP置換モードで起動するオプションを付けたサクラエディタのショートカットを入れておいて、フォルダを右クリックから送るようにするのが使いたい状況からも一部のオプション指定を省略できることからも楽だと思う。実際にそうできそうだ>「コマンドラインオプション(sakura-editor.sourceforge.net)」。■あるいはもうひとつの思いつき。まず GREPする。出力形式に種類があってグループ化されてると問題があるんだけど、そうでない場合は「/path/to/file.withmatch(line,keta) [charcode]: matchline」という行のリストが出力される。この GREP出力に基づいて選択的に置換を実行できれば、事前に対象が把握できて安心できるし、一部を除外したければ行を削除するなり選択範囲から外すなりして対応できる。ヒントは svk commit にあった。svk add a.txt b.txt && svk commit するとコミットメッセージを入力するためにエディタが起動し予めこう入力されている。「(改行)=== Targets to commit (you may delete items from it) ===(改行)A /path/a.txt(改行)A /path/b.txt」 試したことはないけど、Aから始まる行を削除することで一部の svk add のコミットを先送りできるのだと思う。もちろんコミット対象を指定して svk commit しても同じことができるんだけど、svk commit してから除外する作業フローが許されているし、実際にそうしたいだろうシチュエーションに誰でもが遭遇しうるだろうと思う。■GREP置換に話を戻すけど、改行が増減しない限りはうまくいくだろう。特定のファイルの特定の行が特定の内容を持っていることを確認してから、その行を対象に置換を実行する、というようなマクロなりコマンドなりがあると、既存の GREPなりタグジャンプなりを含んだ作業フローに組み込みやすいと思う。逆に言うと今の GREP置換は異質。スクリプトが使えない人が必要とするシチュエーションがあるのだろうとは想像できるけど、コマンドラインオプションで制御したくなる程度に、GREPと同じ程度に異質。いやひょっとして、GREPはそのあとでエディタで開きたいという考えがあって実行するけど、GREP置換の場合はどうだろう。■■■2003年に投稿されたマクロ>「Macro/投稿/133 Grep結果から複数のファイルをまとめて置換処理 - SakuraEditorWiki」 同じことを考え、とっくに作成している人がいた!