複数オープン時のオプション指定の挙動がNo.23971
TatsuH さん 07/11/02 16:42
 
ログファイル開くのに,秀丸エディタのショートカットのコマンドラインに複数ファ
イル名を指定して使っています.
このとき,末尾にカーソル移動させたいので[/je]オプションを付けていますが,Win
98SEでは,このオプションを複数ファイルパラメタ毎に付けないと全てのファイルで
カーソルが末尾に移動しません.
これをやっていてOSの種類によって挙動が異なる現象を見つけたので報告します.

具体的には,ショートカットのコマンドラインで下記のように指定しています.
・・・・\Hidemaru\Hidemaru.exe /je "・・・・\A.log"; /je "・・・・\B.log"; /je "・・・・\C.log"

Win98SEではこれで問題無く目的の動作をしてますが,もしかしたら[/je]オプション
は最初の一つだけで済むのではと思い,そのように設定したところ,最初の[A.log]
ファイルだけが末尾にカーソル移動するのみで,他のファイルは移動しませんでした.
他のOSではどうなのかなと確かめてみると,WinMe/XPでは,一つだけの[/je]オプシ
ョンを最初に指定すれば目的の動作をします.
他のオプションを間に挟んでみたりして確かめましたら,WinMe/XPでは,指定したオ
プション以降にある複数ファイル名全てに,そのオプション指定が引き継がれて動作
するようです.
ということは,Win98SEでは,オプション指定した箇所の後にある一つのファイル名
だけにそのオプションが効き,ファイル指定毎に,その前にオプション指定をする必
要があるということになりますか?
現状,[/je]オプションを全てのファイル名の前に付けて問題無く使えていますので,
特別これで困っているわけではありませんが,念のため,ご確認をお願いします.

使用環境
秀丸エディタ:Version 7.04
OS          :Win98SE/Me/XP

[ ]
RE:23971 複数オープン時のオプション指定No.23972
秀丸担当 さん 07/11/02 17:25
 

>ログファイル開くのに,秀丸エディタのショートカットのコマンドラインに複数ファ
>イル名を指定して使っています.
>このとき,末尾にカーソル移動させたいので[/je]オプションを付けていますが,Win
>98SEでは,このオプションを複数ファイルパラメタ毎に付けないと全てのファイルで
>カーソルが末尾に移動しません.

/je オプションは、最初のファイルだけに適用されます。
複数ファイルのそれぞれに/jeオプションを付けることは想定していなかったで
す。
たまたま動いてしまっているようです。

Win98SEだけでなく、xpでも同じはずです。
[その他]→[ファイルタイプ別の設定]→[体裁]→[詳細]→[カーソル位置の自動
復元]がONになっていて、ヒストリにある開いたことのあるファイルのカーソル
位置を覚えているためではないでしょうか。

複数ファイルでも適用されるのは、/r /b /wb /ws /f だけです。
/j系の行番号は複数に適用しても意味が無いですが、/jeだけであればできても
問題無いかもしれません。
「カーソル位置の自動復元」があれば事足りることかもしれないですが、どうで
しょうか。

[ ]
RE:23972 複数オープン時のオプション指定No.23973
TatsuH さん 07/11/02 20:29
 
秀丸担当 さん,ご回答ありがとうございます.

>/je オプションは、最初のファイルだけに適用されます。
>複数ファイルのそれぞれに/jeオプションを付けることは想定していなかったで
>す。
>たまたま動いてしまっているようです。
>
>Win98SEだけでなく、xpでも同じはずです。

テストファイルを作って再度確認してみたところ,Win98SE/Me/XP共全て,下記のと
おり同じ動作でした.
1.[/je]オプションを最初に一つだけ付けた場合:最初のファイルだけに適用された.
    (《WinMe》,《WinXP》で,後のファイルにも適用されているように見えたのは,
[カーソル位置の自動復元]が効いていたと思われる)
2.[/je]オプションをファイル名の前に各々付けた場合:全てのファイルに適用さ
れた.

但,2の想定外の使い方をすると,現状,全部のファイルに[/je]オプションが適用
されてしまいますね.
これで使えていたので,今まで問題にしてなかったのですが.

>[その他]→[ファイルタイプ別の設定]→[体裁]→[詳細]→[カーソル位置の自動
>復元]がONになっていて、ヒストリにある開いたことのあるファイルのカーソル
>位置を覚えているためではないでしょうか。

[カーソル位置の自動復元]の設定を確認してみたところ,Win98SE/Me/XP共,チェッ
クされてONになっていました.

>複数ファイルでも適用されるのは、/r /b /wb /ws /f だけです。

前に,【他のオプションを間に挟んでみたりして確かめましたら】と書いて詳細を書
かなかったのですが,これは下記のようにして動作を確認したものです.

《WinMe》にて.
・・・・\Hidemaru\Hidemaru.exe /je "・・・・\A.log"; /r "・・・・\B.log"; /je "・・・・\C.log"
                                             ↑
                                             Bのファイル位置だけ[/r]のオプシ
ョン(上書き禁止)に変更

今,再度実験してみたところ,
[/je]オプションは,A,Cファイルに適用された.
[/r]オプション(上書き禁止)は,B,Cファイルに適用された.

ここでも[/r]オプション(上書き禁止)をファイル間に指定するのは想定外でしょう
が,ご教示のとおりに指定後の複数ファイルに適用されています.

>/j系の行番号は複数に適用しても意味が無いですが、/jeだけであればできても
>問題無いかもしれません。
>「カーソル位置の自動復元」があれば事足りることかもしれないですが、どうで
>しょうか。

ログファイルは,次々に勝手に更新されて,末尾に記録がドンドン追加されていきま
すので,「カーソル位置の自動復元」で覚えていた以前の位置を再現するだけでは,
目的に合いません.

ということで今回の諸々の動作を考えると,チョッと想定外の使い方が出来て動いて
しまうのも,統一が取れないのかなと思いますので,複数ファイル毎にオプションを
付けられるのは問題かもしれません.
ただ,ファイル毎にオプションが適用できるのも有用かなという気もしたりして,こ
ういう使い方も仕様とされればそれはそれで宜しいかなと思いますが,なかなか難し
いですね.
秀丸担当さんの方で,良い方法を練っていただければと思います.
とりあえず現状再確認の報告でした.

[ ]
RE:23973 複数オープン時のオプション指定No.23994
秀丸担当 さん 07/11/05 09:28
 

>ということで今回の諸々の動作を考えると,チョッと想定外の使い方が出来て動いて
>しまうのも,統一が取れないのかなと思いますので,複数ファイル毎にオプションを
>付けられるのは問題かもしれません.
>ただ,ファイル毎にオプションが適用できるのも有用かなという気もしたりして,こ
>ういう使い方も仕様とされればそれはそれで宜しいかなと思いますが,なかなか難し
>いですね.

とりあえず、/jeを1つ1つに指定する方法は想定外ではありますが、現状で問
題無いとのことですので、特に理由が無ければ下手にいじらずこのままにしてお
こうと思います。

[マクロ]→[マクロ登録]→[自動起動マクロ]で、「ファイルを開いた直後」のマ
クロに、

gofileend;

とだけ書いたマクロを用意して登録しておくと、常にファイルの最後にできると
いう方法もあります。

if(directory=="c:\\log"){
   gofileend;
}

といった感じで、いろいろ条件を指定しておくこともできます。

[ ]
RE:23994 複数オープン時のオプション指定No.23996
TatsuH さん 07/11/05 13:49
 
ご返事ありがとうございます.

>とりあえず、/jeを1つ1つに指定する方法は想定外ではありますが、現状で問
>題無いとのことですので、特に理由が無ければ下手にいじらずこのままにしてお
>こうと思います。

想定外のやり方でも今のところ問題無く使えていますので,現状維持のままというこ
とで了解しました.
また別の理由からこれでは不都合だという意見が他から出てきたときには,その時点
でご検討いただければと思います.

>if(directory=="c:\\log"){
>   gofileend;
>}
>
>といった感じで、いろいろ条件を指定しておくこともできます。

[自動起動マクロ]の「ファイルを開いた直後」のマクロは既に他の既製マクロを使う
ように設定しているので,この方法を併用するにはそのままでは無理でしょうが,参
考にさせていただきます.
色々とご回答いただき,ありがとうございました.

[ ]