Programming Tips 1024
プログラムしているときに思いついた小ネタを書きます。このコーナーへの投稿もお待ちしてます^^
特にことわりが無い限り、C++/VC++/Win32です。情報提供者orネタ提供者がいる場合は、表題の右横に《 》で書いています。
'04/03/15 update '04/04/21
Tips 72. grepした内容を編集して、元のテキストに反映させる
秀丸エディタを使っていて、grepでソースファイル全体から特定の文字列を検索することがあるのですが、その検索結果をさらにテキスト置換したりした場合、元のファイルへ反映させる手段がありません。たとえば、秀丸ではgrepの結果。
a.txt(10) : a.txtの10行目の内容
b.txt(15) : b.txtの15行目の内容
ってな感じでファイル名と行数が書かれています。これを元のファイルに書き戻すためのマクロが必要になります。この作業を他の人はどうやっているのかは知りませんが、私は以下のようなマクロを作ってこれを愛用しています。
moveto 0,0; // 編集中のファイル名を待避 $f1 = basename; while (true) { // : をサーチ while (true){ right; if (!result) break; if (code==':') { right 2; beginsel; golineend2; copy; break; } } tagjump; if (result){ // タグjumpに成功 selectline; paste; insert "\n"; // 元のファイルに戻る setactivehidemaru(findhidemaru($f1)); } down 1; moveto 0,y; if (!result) break; } |