grep して置換No.00278
Iranoan さん 07/01/30 23:43
 
 秀丸担当さん今日は、Iranoan です。
・「grep して置換」にヒットするファイルを開いたまま実行すると、置換自
  体は正しく行われるのですが、変更内容が直に反映されません。
  現在の仕様では、そもそも開いたままというのが想定外だとは思いますが、
  念の為。
・「検索するファイル」を「(現在の内容)」で実行できませんが、選択付加に
  しておくほうが良いと思います。
 こちらの環境は、WindowsXP+IE6.0+秀丸 Ver.6.50β17 です。

[ ]
RE:00278 grep して置換No.00286
三月 さん 07/01/31 07:30
 
>・「grep して置換」にヒットするファイルを開いたまま実行すると、置換自
>  体は正しく行われるのですが、変更内容が直に反映されません。
>  現在の仕様では、そもそも開いたままというのが想定外だとは思いますが、
>  念の為。

「動作環境− ファイル−排他制御」の
「他のソフトでファイルが書き換えられていないか確認」-
「自動で再読み込みする」にすれば反映されるのでは?
試したら反映されましたけど?

[ ]
RE:00286 grep して置換No.00298
Iranoan さん 07/01/31 13:53
 
 三月さん今日は、Iranoan です。
> 「他のソフトでファイルが書き換えられていないか確認」-
> 「自動で再読み込みする」にすれば反映されるのでは?
 確かに遅延時間だけしっかり待てばよかったかも。

 ただ他の書き込みとも重なるのですが、秀丸で開いている場合は、開いてい
る内容に対して置換して欲しいですね。行が変わっていることも有るし、読み
直しをするとアンドゥーできなくなるし。

 現在の仕様ですと、編集中のファイルから検索文字列を取得しての置換がや
りにくいんですよね。

[ ]
RE:00298 grep して置換No.00303
秀丸担当 さん 07/01/31 14:23
 

>> 「他のソフトでファイルが書き換えられていないか確認」-
>> 「自動で再読み込みする」にすれば反映されるのでは?
> 確かに遅延時間だけしっかり待てばよかったかも。

タイムスタンプのチェックは、遅延時間というのは無く、アクティブ切り替え時
に働くと思います。

> ただ他の書き込みとも重なるのですが、秀丸で開いている場合は、開いてい
>る内容に対して置換して欲しいですね。行が変わっていることも有るし、読み
>直しをするとアンドゥーできなくなるし。
>
> 現在の仕様ですと、編集中のファイルから検索文字列を取得しての置換がや
>りにくいんですよね。

開いている場合だけ特殊な動作になるというのは、一貫した動作ではなくあまり
良くないように思います。
通常のgrepも開いているファイルが編集中であっても無視して実際のファイルを
見ますし、grepして置換も開いている内容ではなく実際のファイルを直接操作す
るだけと考えるのが一貫していていいと思います。

自動再読み込みも動作環境の指定でできるので、これでいいのでは。

[ ]
RE:00303 grep して置換No.00309
Iranoan さん 07/01/31 15:36
 
 秀丸担当さん今日は、Iranoan です。
> タイムスタンプのチェックは、遅延時間というのは無く、アクティブ切り替え時
> に働くと思います。
 アクティブなファイルが対象となる条件で実行したから更新されなかったん
ですね。

> 開いている場合だけ特殊な動作になるというのは、一貫した動作ではなくあまり
> 良くないように思います。
> 通常のgrepも開いているファイルが編集中であっても無視して実際のファイルを
> 見ますし、grepして置換も開いている内容ではなく実際のファイルを直接操作す
> るだけと考えるのが一貫していていいと思います。
 確かにそれは言えますね。

> 自動再読み込みも動作環境の指定でできるので、これでいいのでは。
 いや、自動で再読込されるのはもっとも拙いです。(理由は以下)
 何か良い方法はないでしょうかね。

 「grep して置換」実行前に「全保存(更新ファイルのみ)」を自動で実行して
は拙いですかね。もちろん私が「全保存(更新ファイルのみ)」すれば済むので
すが、現状だと開いているファイルが「(更新)」されている場合、「(更新)」
前の状態を置換して保存されるので、自動で再読込されると、編集が無効にな
り、それは拙いだろうと。

 あと
> ・「検索するファイル」を「(現在の内容)」で実行できませんが、選択付加に
>   しておくほうが良いと思います。
のコメントも頂けたらと思います。

[ ]
RE:00309 grep して置換No.00317
秀丸担当 さん 07/01/31 17:36
 

> アクティブなファイルが対象となる条件で実行したから更新されなかったん
>ですね。

はて? ファイルを開いている状態からgrepして置換をして、また元のファイル
を見ると必然的にアクティブが切り替わるはずですが、そうならないケースがあ
るのでしょうか。
grepして置換の結果をアクティブにしたまま、裏にある非アクティブなものを見
ているままだと、更新はされないですが。

>> 自動再読み込みも動作環境の指定でできるので、これでいいのでは。
> いや、自動で再読込されるのはもっとも拙いです。(理由は以下)
> 何か良い方法はないでしょうかね。

自動で再読み込みがまずいのであれば、自動にしておかなければ問い合わせが出
るので問題無いと思います。
例え自動で再読み込みであったとしても、編集が加わっていれば必ず問い合わせ
が出ます。なので問題は無いです。

> あと
>> ・「検索するファイル」を「(現在の内容)」で実行できませんが、選択付加に
>>   しておくほうが良いと思います。
>のコメントも頂けたらと思います。

このことは考えていましたが、実行時にエラーを出すようにしました。
grepダイアログとも共用していて、最後に実行した「検索するファイル」の状態
を覚えているので、選択付加にすると不都合が出るので。

[ ]
RE:00317 grep して置換No.00324
Iranoan さん 07/01/31 23:20
 
 秀丸担当さん今日は、Iranoan です。
> はて? ファイルを開いている状態からgrepして置換をして、また元のファイル
> を見ると必然的にアクティブが切り替わるはずですが、そうならないケースがあ
> るのでしょうか。
 言われてみればそうですね。
 何故変わらなかったか不明ですが、再現性が低いので、お忘れください。

> 例え自動で再読み込みであったとしても、編集が加わっていれば必ず問い合わせ
> が出ます。なので問題は無いです。
 解りました。

> >> ・「検索するファイル」を「(現在の内容)」で実行できませんが、選択付加に
> >>   しておくほうが良いと思います。
> >のコメントも頂けたらと思います。
>
> このことは考えていましたが、実行時にエラーを出すようにしました。
> grepダイアログとも共用していて、最後に実行した「検索するファイル」の状態
> を覚えているので、選択付加にすると不都合が出るので。
 そうですか、解りました。

[ ]