編集中に折り返し文字数を変更No.07701
TAKA さん 01/02/28 21:26
 
編集中に折り返し文字数を変更すると、アンドゥが効かなくなりま
す。
例えば、「TEST」と入力後、「その他→ファイルタイプ別の設定→
全般→折り返し文字数」で文字数を変更後、アンドゥをしてもアン
ドゥが効きません。
カーソルが行の先頭に移動したりもします。

不具合か仕様か分かりませんが、アンドゥが効くようにしてもらえ
ないでしょうか?

もし、アンドゥを効くように出来ない(仕様)ようであれば、タイ
トルバーの「(更新)」という文字は消えないとおかしいのでは?
現在は、「TEST」と入力後、折り返し文字数を変更しても「(更新)」
という文字は消えていません。
折り返し文字数の変更後、「ABC」と入力して、アンドゥを3回実行
すると「(更新)」が消えます。

もし、実装上の問題でアンドゥが効くようにすることが難しいよう
でしたら、以下のようなマクロで折り返し行を一時的に変更した場
合だけでも、アンドゥが効くようにするということは出来ないでし
ょうか?

// テストマクロ(ここから)
    #Width = width;
    config "w20";
    insert "TEST";
    config "w" + str( #Width );
    endmacro;
// テストマクロ(ここまで)

[ ]
RE:07701 編集中に折り返し文字数を変更No.07702
encodingshiftjis さん 01/02/28 23:35
 
>編集中に折り返し文字数を変更すると、アンドゥが効かなくなりま
>す。
>もし、アンドゥを効くように出来ない(仕様)ようであれば、タイ
>トルバーの「(更新)」という文字は消えないとおかしいのでは?

(更新)の意味の説明がない限り、おかしいかどうかは。
折り返し文字数を変更しない使い方では、元ファイルから変更されているか
の解釈であっているハズでした。
しかし、現象では編集バッファのconfigが変化してから、変更されているか
みたいですね。

それはともかく、変更と折り返し文字数の調整をするのに、直接画面の
設定を変えるのでなく、整形マクロを使えないでしょうか?
整形マクロは行長の変更を試せて、整形のやり直しもできるのが
あるはずです。

[ ]
RE:07702 編集中に折り返し文字数を変更No.07703
TAKA さん 01/03/01 00:02
 
>>編集中に折り返し文字数を変更すると、アンドゥが効かなくなりま
>>す。
>>もし、アンドゥを効くように出来ない(仕様)ようであれば、タイ
>>トルバーの「(更新)」という文字は消えないとおかしいのでは?
>
>(更新)の意味の説明がない限り、おかしいかどうかは。

私は、アンドゥの意味を先に考えました。
アンドゥの目的は更新されているものを元に戻すということなので、
(更新)とあれば、アンドゥ出来ないとおかしいと思いました。


>それはともかく、変更と折り返し文字数の調整をするのに、直接画面の
>設定を変えるのでなく、整形マクロを使えないでしょうか?
>整形マクロは行長の変更を試せて、整形のやり直しもできるのが
>あるはずです。

整形マクロは、「7689」の発言で紹介しています。

そもそも折り返しを変更したい目的は、マクロ内で一時的に変更し
ワープロ行の行頭に改行を入れていくことで整形をするマクロを作
ろうと思ったからです。
一時的に変更すると、禁則処理など自前でする必要もなくなるので、
結構楽に行けますし、高速にもなります。
現在、いい感じで整形マクロが出来ているのですが、アンドゥが効
かなかったので今回の質問をさせてもらいました。


「7700」の発言とも関係するのですが、最初に改行を削除するため
に、(但し、改行だけの所は何もしない)
replaceallfast ".+\\f\\n\\f.", "\\0\\2", regular, inselect;
で処理しようとしているのですが、少し不具合があってこまってい
ます。
#目をつむれる程度の問題ですが。

[ ]
RE:07703 編集中に折り返し文字数を変更No.07706
ENCODINGSHIFTJIS さん 01/03/01 11:41
 
>一時的に変更すると、禁則処理など自前でする必要もなくなるので、
>結構楽に行けますし、高速にもなります。

一つの面でやりくりするのが難しい
(複雑な操作はたいていそうなります、カーソルは3個欲しいし)
のなら、別画面も使ってはど
一時作業表示用画面を開いておき、そこで折り返しの処理をして
から、最終結果を元の面に戻す方式なら安全度も高いです
マクロのバグで元テキスト全壊とか心配せず処理できる

<書式指定・・・>
文章・・・
の塊を作りフォーマッタ(出力編集)ソフトを通して、作るのも
普通の方法です、一つの面でライブに変化するのがWin風なのですが
操作の慣れで何とかなります。






[ ]
RE:07703 編集中に折り返し文字数を変更No.07708
ひろ さん 01/03/01 12:22
 
 TAKAさん今日は、ひろです。
> >(更新)の意味の説明がない限り、おかしいかどうかは。
>
> 私は、アンドゥの意味を先に考えました。
> アンドゥの目的は更新されているものを元に戻すということなので、
> (更新)とあれば、アンドゥ出来ないとおかしいと思いました。
 少なくとも秀丸の「(更新)」の意味は、ファイルを変更したかどうかだと
思います。簡単な例では、何か編集をして「上書き保存」をすると「(更新)」
は消えますが、アンドゥーは利きますし、逆に利かなくなると困ります。

> 一時的に変更すると、禁則処理など自前でする必要もなくなるので、
> 結構楽に行けますし、高速にもなります。
 確かに高速になりますが、(書き方は悪くなりますが、) 秀丸の禁則処理
は結構適当です。例えば「ぁ」などの小さい平仮名が連続している場合、折
り返してしまうことがあります。ですから逆にそういったことも考慮して禁
則処理は自前で書いた方がよいと思います。

> 現在、いい感じで整形マクロが出来ているのですが、アンドゥが効
 マクロの config に関わらず、「ファイルタイプ別の設定」を変更した場
合、アンドゥが利かなくなるのは、以前からの仕様だったと思うのですが、
ヘルプから見付けられない。

[ ]
RE:07706 編集中に折り返し文字数を変更No.07714
TAKA さん 01/03/01 14:21
 
>一時作業表示用画面を開いておき、そこで折り返しの処理をして
>から、最終結果を元の面に戻す方式なら安全度も高いです

もし、仕様ということになれば、この方法がよさそうですね。
#多分、仕様ということになると思いますが。

[ ]
RE:07708 編集中に折り返し文字数を変更No.07715
TAKA さん 01/03/01 14:25
 
>> 私は、アンドゥの意味を先に考えました。
>> アンドゥの目的は更新されているものを元に戻すということなので、
>> (更新)とあれば、アンドゥ出来ないとおかしいと思いました。
> 少なくとも秀丸の「(更新)」の意味は、ファイルを変更したかどうかだと
>思います。簡単な例では、何か編集をして「上書き保存」をすると「(更新)」
>は消えますが、アンドゥーは利きますし、逆に利かなくなると困ります。

そうですね。良く分かりました。


> マクロの config に関わらず、「ファイルタイプ別の設定」を変更した場
>合、アンドゥが利かなくなるのは、以前からの仕様だったと思うのですが、
>ヘルプから見付けられない。

仕様なら、諦めるしかなさそうですね。
ENCODINGSHIFTJIS さんの言われる通り、一時ファイルで処理する
ようにしようと思います。

[ ]
RE:07701 編集中に折り返し文字数を変更No.07734
秀丸担当 さん 01/03/01 18:46
 
>編集中に折り返し文字数を変更すると、アンドゥが効かなくなりま
>す。
>例えば、「TEST」と入力後、「その他→ファイルタイプ別の設定→
>全般→折り返し文字数」で文字数を変更後、アンドゥをしてもアン
>ドゥが効きません。
>カーソルが行の先頭に移動したりもします。

これは、ひろさんも言われている通り、(更新)はアンドゥできるか
どうかではなく、ファイルに手を加えているかどうかを示すべきも
のです。
折り返し文字数を変更後、はアンドゥはできない仕様です。
(更新)が消えてしまうことが問題なのでバグとして検討しておきま
す。

[ ]