ファイルを二重に開く機能について。No.20737
かりん さん 06/01/18 01:50
 
[ ウィンドウ ] − [2 つに分割 ] に似た機能に関する要望です。ウィンドウ内で二
つに分割するのではなく、別ウィンドウとして同じファイルを開く機能をサポートし
ていただけませんでしょうか?

いまは場当たり的な回避策として、openfile で同名のファイルを二重に開くマクロ
を作って使っているのですが不便な点があります。

1 ファイルを二重に開く場合の動作は [ 動作環境 ] − [ ファイル ] − [ 排他制
御 ] で「開く方法を問い合わせる」に設定しているため、二重に開くマクロを実行
したときも開き方を選択するダイアログが表示されるのがまどろっこしいです。open
file のオプションで「かまわず開く」が指定できるとうれしい。

2 上記 1 が解決したとしても、未保存のファイルに対して上記マクロを実行しても
空っぽの新しいウィンドウが開くだけで多重オープンを実現できない。

といった問題が解決できずにおります。
どうぞ次回のバージョンアップの際にご検討いただけると大変うれしいです。もしく
はこれを実現するよう方法があればご教示ください。

どうぞよろしくお願いします。

[ ]
RE:20737 ファイルを二重に開く機能についNo.20739
たけのこ さん 06/01/18 10:24
 
こんにちは、たけのこです。

私も時々そういうことがしたいヒトですが、私は以下のようにしています。

1.元のテキストを全選択→コピー
2.ファイル→新規作成(Ctrl+N)
3.ペースト

強調表示などもしたければ、テキトーな名前で保存しちゃいます。
んで、これぐらいで良ければ、マクロもそんなに難しくないでしょう。(私は手
作業でやってます……さほど不便に感じない(鈍い?)ので)

では! (^v^)/~

[ ]
RE:20737 ファイルを二重に開く機能についNo.20740
秀丸担当 さん 06/01/18 10:31
 

>[ ウィンドウ ] − [2 つに分割 ] に似た機能に関する要望です。ウィンドウ内で二
>つに分割するのではなく、別ウィンドウとして同じファイルを開く機能をサポートし
>ていただけませんでしょうか?

いまのところこの機能はありません。ウィンドウ分割と違ってこれをやるにはい
ろいろ難しいかもしれません。
他の方からも要望もいただいたこともあるので、今後のバージョンアップの大き
なネタにはなると思います。


>1 ファイルを二重に開く場合の動作は [ 動作環境 ] − [ ファイル ] − [ 排他制
>御 ] で「開く方法を問い合わせる」に設定しているため、二重に開くマクロを実行
>したときも開き方を選択するダイアログが表示されるのがまどろっこしいです。open
>file のオプションで「かまわず開く」が指定できるとうれしい。

場当たり的な対策としては、排他制御を「上書き禁止」にして、
openfile filename;
if( readonly ) readonlyswitch;
というのではどうでしょうか。

>2 上記 1 が解決したとしても、未保存のファイルに対して上記マクロを実行しても
>空っぽの新しいウィンドウが開くだけで多重オープンを実現できない。

場当たり的な対策としては、自分が使っているマクロのですが以下のものとかど
うでしょうか。
フォトショップの複製コマンドのように、別ファイルとして同じものを複製する
マクロです。

disabledraw;
beginclipboardread;
$clip = getclipboard;
#c = column;
#l = lineno;
$f = basename;
selectall;
copy;
escape;
movetolineno #c + 1, #l;

newfile;
changename "コピー 〜 " + $f;
paste;
movetolineno #c + 1, #l;
beginclipboardread;
setclipboard $clip;
endmacro;

[ ]
RE:20740 ファイルを二重に開く機能についNo.20752
かりん さん 06/01/19 01:33
 
早速のご回答ありがとうございます。
以下、長文になってしまいましたがよろしくお願いします。

>場当たり的な対策としては、自分が使っているマクロのですが以下のものとかど
>うでしょうか。
>フォトショップの複製コマンドのように、別ファイルとして同じものを複製する
>マクロです。

未保存のファイルを二つのウィンドウで開く方法として、お二方からご提案いただい
た方法ですと、片方のウィンドウのテキストを修正したときに、もう片方に反映する
ことができない(と思います)のが不便です…。

一方、保存済みのファイルの場合は、変更してもう一方のウィンドウをアクティブに
する前に上書き保存をしておけば、ウィンドウが切り替わったタイミングで「更新さ
れているけど読み込み直すかい?」というダイアログが出てくれるのでかろうじて変
更内容を保ち続けることができますが、やはりいちいち保存しなければいけない点が
使いにくいと思うところです。(「2つに分割」と同じ使い勝手ではないという意味で)。


>場当たり的な対策としては、排他制御を「上書き禁止」にして、
>openfile filename;
>if( readonly ) readonlyswitch;
>というのではどうでしょうか。

排他制御のファイルの開き方の設定については私の説明不足でした。補足します。

「開く方法を問い合わせる」に設定しているのは「普段、既に開いているファイルを
再度開こうとしてしまった場合は既に開いているウィンドウをアクティブにし、二重
には開かないようにしたい。しかし「2つに分割」の代わりにマクロから二重に開こ
うとしたときだけは二重に開きたい」という気持ちを実現するための妥協的な選択結
果です。

ですから、本当は「同じファイルを二つ開くことを禁止する」に設定したいのです。
その状態でマクロのopenfileのオプション指定などで例外的に二重オープンができれ
ばベストです。しかし、現状はそれができないようなので「開く方法を問い合わせ
る」に設定して、マクロ以外で間違って開いてしまった場合は「閉じてから開く」か
「キャンセル」を選んでいます。
そのため「上書き禁止」にしておいて、マクロで開いたときは上書き禁止を反転する
という処理では、普段、二重に開きたくないときに二重に開いてしまうので私の使い
方には馴染みませんでした。すみません。

>他の方からも要望もいただいたこともあるので、今後のバージョンアップの大き
>なネタにはなると思います。

そんなわけでして、場当たり的な解決方法しか道がないのであれば、上記のようにop
enfileのオプションで例外的に二重オープンを許すといった改造をしていただけるの
は有り難いのですが、もし、根本的に別ウィンドウによる二重オープン機能を検討し
ていただけるのでしたら、それはとても嬉しいです。それまでのあいだはこれまでの
場当たり的なマクロでしのぎますので。

どうぞよろしくお願いいたします。

[ ]
RE:20752 ファイルを二重に開く機能についNo.20761
秀丸担当 さん 06/01/19 10:01
 

>ですから、本当は「同じファイルを二つ開くことを禁止する」に設定したいのです。
>その状態でマクロのopenfileのオプション指定などで例外的に二重オープンができれ
>ばベストです。

確かに、openfile文に排他制御のオプションが付けられると便利だと思います。
ネタとして参考にしたいと思います。

またしても場当たり的な対策としては、以下のような感じでもできると思います。

openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
#a = getregnum( "DupOpen" );
writeregnum "DupOpen",1;
closereg;
envchanged;

openfile filename;
if( readonly ) readonlyswitch;

openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
writeregnum "DupOpen",#a;
closereg;
envchanged;


[ ]
RE:20761 ファイルを二重に開く機能についNo.20765
かりん さん 06/01/20 01:54
 
こんばんは!
場当たり的な方法第二弾(笑)を試してみました!
ばっちりです。とりあえずはこれで使ってみます。
ありがとうございました。

今後のバージョンアップで根本的に解決されるのを首を長くして待っています。よろ
しくお願いいたします。

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

[ ]