GREP結果を保存したファイルでGREP_VIEW.MNo.05587
makotosh さん 07/07/09 21:41
 
h-tomさんのGREP_VIEW.MACで、GREPした結果を保存したファイルを秀丸で開いてから
カーソル行のマッチしたファイル内容を表示したいのですが、なかなかうまくいきま
せん。このマクロはGREP結果の窓からしかマッチしたファイル内容を表示できないの
でしょうか?

[ ]
RE:05587 GREP結果を保存したファイルでGRNo.05588
h-tom さん 07/07/09 23:23
 

h-tom です。

>h-tomさんのGREP_VIEW.MACで、GREPした結果を保存したファイルを秀丸で開いてから
>カーソル行のマッチしたファイル内容を表示したいのですが、なかなかうまくいきま
>せん。このマクロはGREP結果の窓からしかマッチしたファイル内容を表示できないの
>でしょうか?
その通りです。"grep結果"以外で動かすことは考慮していません。

とりあえず、強引に動かすなら、
#def_mode = 4;//現在開いているファイルの内容で実行
ということで、Ver.1.2.3で、以下の箇所を変更して下さい。

変更前
00114|//起動した秀丸の種類を判断しgrepダイアログを表示
00115|if(filetype != "grep" || #def_mode == 1){

変更後
00114|//起動した秀丸の種類を判断しgrepダイアログを表示
00115|if((filetype != "grep" || #def_mode == 1) && #def_mode != 4){

#def_modeはマクロなら以下の行を、grep.view.iniを使っているなら、
def_modeの設定を"4"に書き換えて下さい。

00020|//grep結果で実行した場合の動作切替
00021|//0:そのデータで先頭から表示する。
00022|//1:新規にgrepを実行する。
00023|//2:問い合わせる。
00024|//3:現在の行から表示
00025|#def_mode = 3;

これで、現在開いているファイルの内容で、実行すると思いますが、あまり
よく見直ししないで変更している為、正常に動作するかは保証できません。

ちなみに、今回のように、"GREPした結果を保存したファイル"から実行した
いって人は多いんでしょうか?

[ ]
RE:05588 GREP結果を保存したファイルでGRNo.05589
makotosh さん 07/07/10 00:00
 
h-tomさん、回答ありがとう>
>
>とりあえず、強引に動かすなら、
>#def_mode = 4;//現在開いているファイルの内容で実行
>ということで、Ver.1.2.3で、以下の箇所を変更して下さい。
>
>変更前
>00114|//起動した秀丸の種類を判断しgrepダイアログを表示
>00115|if(filetype != "grep" || #def_mode == 1){
>
>変更後
>00114|//起動した秀丸の種類を判断しgrepダイアログを表示
>00115|if((filetype != "grep" || #def_mode == 1) && #def_mode != 4){
>
>#def_modeはマクロなら以下の行を、grep.view.iniを使っているなら、
>def_modeの設定を"4"に書き換えて下さい。
>
>00020|//grep結果で実行した場合の動作切替
>00021|//0:そのデータで先頭から表示する。
>00022|//1:新規にgrepを実行する。
>00023|//2:問い合わせる。
>00024|//3:現在の行から表示
>00025|#def_mode = 3;
>
>これで、現在開いているファイルの内容で、実行すると思いますが、あまり
>よく見直ししないで変更している為、正常に動作するかは保証できません。

御指示通り、GREP_VIEW.MAC(Ver1.2.3)の当該行を修正して試してみました。結果は、
残念でした。VIEW窓は空っぽでした。

僕の修正が間違っているのかな?以下のように2箇所修正しました。

>00025|#def_mode = 4;

>00115|if((filetype != "grep" || #def_mode == 1) && #def_mode != 4){

これが、期待通りに動けば助かります。


>
>ちなみに、今回のように、"GREPした結果を保存したファイル"から実行した
>いって人は多いんでしょうか?

僕の場合で申し訳ありませんが、GREP結果が数百行に及ぶ場合、昼休みや休憩で一旦
作業を中断せざるを得ない場合がります。その場合、会社の規定で席を離れる場合は
必ずログオフする必要があるので、GREP結果窓でどこまで作業したかをノートに記入
してから秀丸を終了し、ログオフします。休みから戻って作業再開する場合は、GREP
を今一度やりなおして、GREP結果窓の何行目でやったかを記入しておいたノートを参
照して手作業でそこまでカーソルを持ていって作業しています。GREPのやり直しでも
時間がかかるし(数百行に及ぶ場合、数分かかります)、ノートの記入と参照の煩わ
しさに不便を感じております。続きの仕事をするのにGREP結果をファイルにしておい
て、ログオフしても、その結果ファイルを開けばその途中から作業再開できれば作業
効率がよくなると思った次第です。

[ ]
RE:05589 GREP結果を保存したファイルでGRNo.05590
makotosh さん 07/07/10 00:07
 
すみません、返答内容を一部修正させてください。

ログオフは短い休憩の場合で、昼休みのように長い休憩の場合はパソコンの電源OF
Fが会社の規定です。ですので、不便さは昼休みをはさんだ時に発生しております。
ただのログオフの場合は秀丸を終了させないので、途中から再開できますので、先に
述べたような不便はありません。

[ ]
RE:05589 GREP結果を保存したファイルでGRNo.05591
h-tom さん 07/07/10 00:44
 

h-tom です。

>御指示通り、GREP_VIEW.MAC(Ver1.2.3)の当該行を修正して試してみました。結果は、
>残念でした。VIEW窓は空っぽでした。
タグジャンプできる箇所でも、何も表示されませんか?警告も出ませんか?

grep_view.txtを開き、変更したマクロを実行して下さい。
最初は何も表示されませんが、53行目以降までカーソル移動させれば、各種設定項目
で、
いくつかタグジャンプ出来る箇所があるので、内容を表示するはずです。
ファイル名がフルパスの場合は、表示しないと思いますが、メッセージが出るはず。

内容が表示されないのは、grep出力の解析が出来ていないのが原因ですが、
内容を見ないと何ともいえません。
(普通の文書ならば、確実に失敗しますけど。)

00050|*各種設定項目
00051| (タグジャンプで各項目にジャンプできます。)
00052| 
00053|grep_view.mac(11): マクロ終了時のビューア処理

[ ]
RE:05591 GREP結果を保存したファイルでGRNo.05594
makotosh さん 07/07/10 22:14
 
h-tomさん、回答ありがとうございます。

再度GREP_VIEW.MACをダウンロードして御指摘箇所を修正して試したところ、今度は
うまく表示することができました。たぶん、僕がGREP_VIEW.MACを修正中に、誤って
大事な行を消してしまったのかもしれません。申し訳ありませんでした。

ところで、問題が一つあります。それは、GREP結果を保存したファイルを秀丸で開い
た時は、終了した時の行にカーソルが自動的に復帰するのですが、修正したGREP_VIE
W.MACを実行すると、必ず先頭の行へカーソルが飛んでいってしまいます。これはな
ぜでしょうか?

[ ]
RE:05594 GREP結果を保存したファイルでGRNo.05595
h-tom さん 07/07/10 22:41
 

h-tom です。

>ところで、問題が一つあります。それは、GREP結果を保存したファイルを秀丸で開い
>た時は、終了した時の行にカーソルが自動的に復帰するのですが、修正したGREP_VIE
>W.MACを実行すると、必ず先頭の行へカーソルが飛んでいってしまいます。これはな
>ぜでしょうか?
#def_mode = 3 以外は、ファイルの先頭から実行するようになっているからです。
175行目を以下のように変更して下さい。

変更前
00173|//grepの出力形式判定
00174|//フルパス(ネットワークドライブ)かどうか
00175|if(#def_mode != 3)gofiletop;
00176|golinetop2;

変更後後
00175|if(#def_mode != 3 && #def_mode != 4)gofiletop;

[ ]
RE:05595 GREP結果を保存したファイルでGRNo.05596
makotosh さん 07/07/10 23:36
 
h-tomさん、

回答ありがとう御座います。

御指摘通りに175行目を修正して試してみました。が、何故かカーソルがファイル
の先頭へ飛んでいってしまいます。???

もしかすると、昨日と同じ間違いをしたかもしれないので、明日、ファイルをもう一
度ダウンロードしてピュアな状態にもどしてから再度修正しなおしてチャレンジして
みます。



[ ]
RE:05596 GREP結果を保存したファイルでGRNo.05597
h-tom さん 07/07/11 00:14
 

h-tom です。

>御指摘通りに175行目を修正して試してみました。が、何故かカーソルがファイル
>の先頭へ飛んでいってしまいます。???
すみません。マクロのミスです。何故か同じ処理をしている箇所が、もう一箇所
ありました。
182行目をコメントにして下さい。

変更前
00180|//先頭の内容を表示
00181|title "grep View Mode [esc]で終了 grep " +  directory2 + "\\" + grepfi
lebuffer;
00182|if(#def_mode != 3)gofiletop;

変更後
00182|//if(#def_mode != 3)gofiletop;

[ ]
RE:05597 GREP結果を保存したファイルでGRNo.05598
makotosh さん 07/07/11 21:55
 
h-tomさん、回答ありがとうございます。

追加の修正で期待通りに動作しております。

ありがとうございました。

[ ]