grep開始位置についてNo.03408
masayan さん 99/05/27 11:55
 
はじめまして、今村といいます。
いつも秀丸を使わせてもらっていてとても快適です。

さて、本題ですが、検索開始位置に戻ることはできても、grep開始位置に
戻ることができなくて、非常にはがゆい思いをしております。会社の仲間
もそう言っております。マクロ等を使っても(過去に質問したとおもいます)、
なかなか実現できず、今にいたっています。
ぜひとも、次回バージョンアップの際には、この機能を盛り込んでいただく
よう、切に願います。すでに、なんらかの方法でできるのなら、その情報
を教えていただければ幸いです。
どうかよろしくお願いします。

[ ]
RE:03408 grep開始位置についてNo.03409
番頭++ さん 99/05/27 12:23
 
>さて、本題ですが、検索開始位置に戻ることはできても、grep開始位置に
>戻ることができなくて、非常にはがゆい思いをしております。会社の仲間
>もそう言っております。マクロ等を使っても(過去に質問したとおもいます)、
>なかなか実現できず、今にいたっています。

//*1    勘違いでしたら、すみません ...

//*1    g1.mac
//*1    grep のあと元のファイルに戻りたい ....
    escape;
    #x = x; #y = y;
    $str_file1 = filename2;
    grepdialog;
    if( ( x + y ) == 0 && code == eof ){    quit;   }   //  何も無い時 !!!
    setactivehidemaru hidemaruhandle(findhidemaru($str_file1));
    moveto #x, #y;
endmacro;


[ ]
RE:03409 grep開始位置についてNo.03422
番頭++ さん 99/05/27 17:44
 
>//*1    勘違いでしたら、すみません ...

新規のファイルが開けれるので grepdialog; は 範囲選択では不便ですね、
マクロで ClipBoard に内容を copy しておきますので、
[Ctrl] + V で「検索する文字列」に貼り付けてください ...

//*1    g2.mac
//*1    grep のあと元のファイルに戻りたい ....
    if( selecting ){
        $wk1 = gettext(seltopx,seltopy,selendx,selendy);
        if( strstr($wk1,"\x0A") != -1 ){    //  改行を含んでいる
        //  setclipboard "";
            $wk1 = "";
        } else {
            setclipboard $wk1;  //  copy;
//R         setsearch $wk1, searchoption;
//T         message searchbuffer;   endmacro;
        }
    }
    escape;
    #x = x; #y = y;
    $str_file1 = filename2;
    grepdialog;
    if( ! result ){ endmacro;   }
    if( ( x + y ) == 0 && code == eof ){    quit;   }   //  何も無い時 !!!
    setactivehidemaru hidemaruhandle(findhidemaru($str_file1));
    moveto #x, #y;
endmacro;

これ以上は、案がありませんです 。。。

[ ]
RE:03422 grep開始位置についてNo.03423
番頭++ さん 99/05/27 18:53
 
>新規のファイルが開けれるので grepdialog; は 範囲選択では不便ですね、
>マクロで ClipBoard に内容を copy しておきますので、
>[Ctrl] + V で「検索する文字列」に貼り付けてください ...

秀丸担当 さま、

grepdialog と searchbuffer についての話です。

マクロのヘルプには、
========
grepdialog文は、「grepの実行...」のダイアログボックスを出します。ちなみ
にgrepdialog文を実行すると、現在の秀丸が新規作成状態でない場合は新規に秀
丸エディタが立ち上がります。
========
と書いてあります。

searchbuffer はこのとき意味を持ちません。
新規にファイルを開く前に、改行を含まない範囲選択のデータの時には、
それを「検索する文字列」に入れていただくと有難いのですが。

困っていない人がお願いするのも変な話ですが 。。。


[ ]
RE:03408 grep開始位置についてNo.03424
番頭++ さん 99/05/27 19:29
 
あれあれ、また、勘違いかな ...

「秀丸」の「検索」-「マーク一覧」をご存知ですか ???

    setmark;
    marklist;
    nextmark;
    prevmark;

grep; の前にマークを追加すれば、そこに帰れますけど ...

[ ]
RE:03423 grep開始位置についてNo.03436
秀丸担当 さん 99/05/28 19:06
 
>grepdialog文は、「grepの実行...」のダイアログボックスを出します。ちなみ
>にgrepdialog文を実行すると、現在の秀丸が新規作成状態でない場合は新規に秀
>丸エディタが立ち上がります。
>========
>と書いてあります。
>
>searchbuffer はこのとき意味を持ちません。
>新規にファイルを開く前に、改行を含まない範囲選択のデータの時には、
>それを「検索する文字列」に入れていただくと有難いのですが。

たしかに、これでは使い辛いですね。検討しておきます。

[ ]
RE:03424 grep開始位置についてNo.03451
masayan さん 99/05/31 13:58
 
番頭++さん、秀丸担当さん、レスありがとうございます。
連絡が遅れてすいません。

詳細な説明どうもありがとうございます。私の説明が少したりなかったみたい
で、もう少し付け加えさせていただきます。grep した後、すぐに元のファイル
に戻りたいわけではないのです。

どんな感じかと言いいますと、まず、grep(キーに直接割当してある) して、TAG
ジャンプして色々なファイルを見てきて、元のファイルに戻ってきたとき、grep
した位置に戻るのが大変な時があるので、gosearchstarted と同じように、一発
でその開始位置に戻りたかったのです。
例えば、1ファイルしかない10000行のCソースの場合、grep(キーに直接割
当してある) して、TAGジャンプして色々見てまわってくると、開始位置に戻るの
が大変で...。
grep は非常によく使うので、いちいち手動でマークしては、効率が落ちますし。

それで、次のような感じで、マクロでやろうとしてみました。

現在位置マーク。
grepdialog;
マーク位置へ戻る。

まず、grepdialog では、カーソル位置や選択中の文字を取り込めませんし、また
新規にファイルを作るので、それが不便だったりします。
また、「マーク位置へ戻る。」では、任意のマーク位置へ戻れなかったと思いま
す。余談ですが、Vzには、マーク番号があってそこへ、自由に行けましたが。

そういうわけで、gosearchstarted と同じような、gogrepstarted というような、
コマンドを作ってもらえればなあと、思ったわけです。
秀丸で、こういうことは、できるのでしょうか?

[ ]
RE:03451 grep開始位置についてNo.03452
番頭++ さん 99/05/31 17:06
 
まえのコメントの通りで、grepdialog; の制限で範囲選択されたデータは、
ClipBoard 以外からは、自動では、現在は取れません。

ローカルな Jump はマクロで、filename2 と x,y を何処かに覚えれば出来ますが、
新規にファイルを開かない grepdialog; もないし、
あちきには grepdialog; は代案がありません ...

この件に関するコメントは、あちきはこれで終わりにします。。。

//*1    add1.mac
    setmark;
    if( selecting ){copy;}
    grepdialog; //  [Ctrl] + V で手作業
endmacro;

//*1    list1.mac
    marklist;
endmacro;

[ ]
RE:03452 grep開始位置についてNo.03453
秀丸担当 さん 99/05/31 18:54
 
>ローカルな Jump はマクロで、filename2 と x,y を何処かに覚えれば出来ますが、
>新規にファイルを開かない grepdialog; もないし、
>あちきには grepdialog; は代案がありません ...

うーむ、たしかに、他に代案はないように思います。
検討しておきます。

[ ]
RE:03453 grep開始位置についてNo.03455
masayan さん 99/05/31 20:04
 
>うーむ、たしかに、他に代案はないように思います。
>検討しておきます。
何とぞ、お願いします。

[ ]