overwriteが後ろの一文字まで上書きする?No.11244
Buckeye さん 06/10/24 08:54
 
いつもお世話になっています。

マクロでoverwriteを使ったときの動作がおかしいように思います。

beginsel〜endselで範囲選択を行い、overwriteで書き換えているのですが、選
択された範囲の一文字後ろが書き換えられるというか、どうも、削除されてしま
うようです。

たとえば、「秀丸エディタと秀丸メール」で「と」を選択し、overwriteで
「、」に書き換えると、「秀丸エディタ、丸メール」となってしまいます。

overwriteの前にマクロを停止して確認すると、きちんと「と」だけが選択され
ているのに、です。また、「秀丸エディタ、丸メール」となったあと、undoして
いくと、
「秀丸エディタ、丸メール」
  ↓
「秀丸エディタ秀丸メール」
  ↓
「秀丸エディタと秀丸メール」
となることから、overwriteしたあと、deleteが行われているかのように思われ
ます。

秀丸エディタVer.6.04では上記のようになりますし、秀丸メールVer.4.64のメー
ルエディタでも同じ現象が起こります。別のマシンにインストールされている秀
丸エディタVer.5.06でも同じようになります。

Best regards,
Buckeye


[ ]
RE:11244 overwriteが後ろの一文字まで上No.11245
Buckeye さん 06/10/24 09:23
 
>となることから、overwriteしたあと、deleteが行われているかのように思われ
>ます。

overwriteしたあと、ではないですね。

え〜、範囲選択が一文字だとわかりにくいので、「秀丸エディタおよび秀丸メー
ル」でやってみましょう。

「および」を選択範囲して「、」でoverwriteすると、やはり、「秀丸エディタ、
丸メール」になります。これをundoしていくと、

「秀丸エディタ、丸メール」
  ↓
「秀丸エディタ秀丸メール」
  ↓
「秀丸エディタおよび秀丸メール」
となります。

つまり、選択範囲を削除したあと、一文字後ろをoverwriteする、という動作に
なっているように見えます。

Best regards,
Buckeye

[ ]
RE:11245 overwriteが後ろの一文字まで上No.11246
Buckeye さん 06/10/24 09:36
 
あれこれトライして、少し様子がわかりました。

overwriteって、選択範囲の上書き、ではないんですね、もともと(^^;)

おそらく、上書きモードでの文字列挿入、というほうが正確なのではないかと。
とすると、insertは、挿入モードでの文字列挿入???

手入力で数パターン、やってみると、どうも、上記のような分け方であるように
思われます。

であるならば……

・マクロヘルプの説明を、上記のように「上書きモードでの文字列挿入」と「挿
  入モードでの文字列挿入」に相当するコマンドであるとしたほうがいいのでは
  ないでしょうか。手入力時の動作になぞらえたほうが分かりやすいと思います。
・overwriteというか、範囲選択して手入力で文字を入れても、選択範囲が
  deleteされた後、カーソル位置から入力した文字数分、上書きが行われます。
  これが仕様なんでしょうか。私は上書きモードを使わないのでよくわからない
  のですが、選択範囲がdeleteされるというのは、違和感があるのではないかと
  思うのですが。

Best regards,
Buckeye

[ ]
RE:11246 overwriteが後ろの一文字まで上No.11247
秀丸担当 さん 06/10/24 11:52
 

>・マクロヘルプの説明を、上記のように「上書きモードでの文字列挿入」と「挿
>  入モードでの文字列挿入」に相当するコマンドであるとしたほうがいいのでは
>  ないでしょうか。手入力時の動作になぞらえたほうが分かりやすいと思います。

overwriteは、おっしゃる通り、上書きモードでの入力に相当します。
ヘルプに書いておこうと思います。

>・overwriteというか、範囲選択して手入力で文字を入れても、選択範囲が
>  deleteされた後、カーソル位置から入力した文字数分、上書きが行われます。
>  これが仕様なんでしょうか。私は上書きモードを使わないのでよくわからない
>  のですが、選択範囲がdeleteされるというのは、違和感があるのではないかと
>  思うのですが。

挿入モードであれ、上書きモードであれ、範囲選択が削除されるのはどのアプリ
ケーションにも共通する一般的な動作のようです。
削除された後、次の文字を上書きするかどうかは、アプリケーションによって
様々なようです。とりあえずWordは秀丸エディタと同じでした。
解釈によってどちらとも捉えられるのか、そもそも誰もそういう操作をしないの
かわかりませんが、特に問題ということでなければこのままとしておきたいと思
います。

[ ]
RE:11247 overwriteが後ろの一文字まで上No.11249
Buckeye さん 06/10/24 12:49
 
秀丸担当さん、

そういうことなんですね。私自身は、上書きモードを(秀丸エディタ以外でも)
使わないのでよく知りませんでした。それがわりと一般的な動作なのであれば、
今のままがいいだろうと私も思います。

Best regards,
Buckeye

[ ]