索でのフルパス表記No.04258
熱気パラサ grep検 さん 99/10/15 15:08
 
はじめまして、いつも秀丸エディタを愛用させて頂いています。

秀丸でgrep検索をかけたとき、検索にマッチしたファイルは
相対パスで表示されますが、これをフルパスにすることは出
来ないのでしょうか。

相対パスで書かれると検索結果のファイルがいろいろな所に
散らばってしまい、後で削除し忘れて残ってしまったりします。

試しにフルパスで書いた検索結果のファイルを作成して、秀丸で
開いてタグジャンプしてみたところ、正常にジャンプできました
ので、検索結果をフルパスで書くオプションがあるのではないか
と思い質問しました。

よろしくお願いいたします。

[ ]
RE:04258 grep検索でのフルパス表記No.04261
秀丸担当 さん 99/10/15 16:24
 
>秀丸でgrep検索をかけたとき、検索にマッチしたファイルは
>相対パスで表示されますが、これをフルパスにすることは出
>来ないのでしょうか。

以前にも同じような要望があった気がしますが、
後からマクロで対処するとかもできるかもしれませんが、
秀tagsはフルパスで出力に対応していますし、grep結果
でも必要性があると思うので検討しておきます。

[ ]
RE:04261 grep検索でのフルパス表記No.04263
ながさわ さん 99/10/16 00:16
 
こんにちは。つい先日入会させていただいた者です。

>>秀丸でgrep検索をかけたとき、検索にマッチしたファイルは
>>相対パスで表示されますが、これをフルパスにすることは出
>>来ないのでしょうか。
>
>以前にも同じような要望があった気がしますが、
>後からマクロで対処するとかもできるかもしれませんが、

拙作ですが、お望みのモノであろうモノを公開してあります。
お試し下さいませ。
http://www.ic-net.or.jp/home/curly/
↑の、フリーウェアのページです。

[ ]
RE:04261 grep検索でのフルパス表記No.04265
番頭++ さん 99/10/16 12:52
 
>後からマクロで対処するとかもできるかもしれませんが、

とりあえず今は、こんな感じです。
directory2 では、完璧ではないです。そんな気がします !!!

//*5    g2fp.mac
//  grepdialog; // とりあえず、コメントアウトにしておきます。
//*5    grep の直後に行ってください。そうでないと動きません !
    if( filename2 != "" ){  endmacro;   }   //  無題ですよね !
    if( updated ){  endmacro;   }   //  更新されていない、が前提 !
    disabledraw;    disableinvert;
    #x = x; #y = y;
    $searchbuffer = searchbuffer;   #searchoption = searchoption;
    escape; gofiletop;  right;
    searchup "^[^(]+\\([0-9]+\\):", regular;    //  grep の結果っぽい !
    if( ! result ){
        moveto #x, #y;
        setsearch $searchbuffer, #searchoption;
        escape; endmacro;
    }
    escape;
//*5    通常は directory2 でうまく行きますが ...
//*5    勘違いでした ...
//x $wk1 = leftstr(directory2,2) + "\\\\" + midstr(directory2,3,999) + "\\\\";
    $wk1 = "";  $wk2 = directory2;  //  これが正解 !
    while( $wk2 != "" ){
        #i = strstr($wk2,"\\");
        if( #i != -1 ){
            #j = strlen($wk2);
            $wk1 = $wk1 + leftstr($wk2,#i) + "\\\\";
            $wk2 = midstr($wk2,#i+1,#j);
        } else {
            $wk1 = $wk1 + $wk2 + "\\\\";
            $wk2 = "";  //  message $wk1;
        }
    }
    replaceallfast "^", $wk1, regular, inselect;    //  どなたかに教えて頂い
た ...
    escape; gofiletop;
    config "w200";  //  気分で  200 桁
//  config "w1000"; //  気分で 1000 桁
    setsearch $searchbuffer, #searchoption;
//  moveto 0, #y;   //  趣味の問題。
//*5    不思議と、この後は UnDo はダメです ... どしてー ???
//*5    思い出した config をやめると UnDo できます、ハイ ...
endmacro;

[ ]