全選択のキャンセルとUndoについてNo.42057
ラフ さん 25/07/09 01:48
 
全選択のキャンセルとUndoについて

(1) 全選択のキャンセル
全選択した後、やっぱりやめとなった時に、カーソル移動キーやHome,Endキーなどを
押すと、
カーソルがファイルの先頭行に飛びます。元の位置に戻るのが大変なので何とかなり
ませんか?
ちなみに、PageUpキーやPageDownキーはふつうにPageUpやPageDownの動作を行います
ので、同様の動きになってほしいです。

(2) 全選択した後に誤って文字キーを押してしまった場合のUndo
押した文字自体はUndoされて消えますが、それ以上のUndoができないので全選択して
いたものが戻らないことがあります。
必ず起こるわけではないので何か条件があると思われますが特定できていません。
サイズの大きいファイル開いた直後に全選択して何か文字キーを押してCtrl+UでUndo
を2回して戻そうとしたらよく起きます。
色々やってみた感じでは501KBあたりを境に起きたり起きなかったりしている感じが
しますが、偶々かもしれません。


OS:
エディション Windows 10 Pro
バージョン 2009
OS ビルド 19045.5965

秀丸エディタ:
Version 9.46  64bit version


[ ]
RE:42057 全選択のキャンセルとUndoについNo.42058
Iranoan さん 25/07/09 08:54
 
ラフさんこんにちは Iranoan です
> (1) 全選択のキャンセル
> 全選択した後、やっぱりやめとなった時に、カーソル移動キーやHome,Endキーなど
>を押すと、
> カーソルがファイルの先頭行に飛びます。元の位置に戻るのが大変なので何とかな
>りませんか?
これも含めて操作途中の取り消しは、[Esc] でたいてい可能です

> (2) 全選択した後に誤って文字キーを押してしまった場合のUndo
> 押した文字自体はUndoされて消えますが、それ以上のUndoができないので全選択し
>ていたものが戻らないことがあります。
> 必ず起こるわけではないので何か条件があると思われますが特定できていません。
> サイズの大きいファイル開いた直後に全選択して何か文字キーを押してCtrl+UでUn
>doを2回して戻そうとしたらよく起きます。
> 色々やってみた感じでは501KBあたりを境に起きたり起きなかったりしている感じ
>がしますが、偶々かもしれません。
Undo (やり直し) には、回数ではなく編集量に制限があります
「その他」→「動作環境」→「パフォーマンス」→[詳細] の「やり直しのバッファ
サイズ」である程度変更できます

[ ]
RE:42058 全選択のキャンセルとUndoについNo.42059
秀丸担当 さん 25/07/09 09:38
 
全選択時のカーソル位置は、ファイルの先頭にあります。
この時点でスクロールするかどうかは、[その他]→[動作環境]→[表示/操作]→[スク
ロールしてもカーソル位置は固定]によりますが、ここはONになっていると思います。

選択の解除はEscでできます。
ただしカーソル位置はファイルの先頭にあるので、マウスでクリックしないといけな
いです。
元いたカーソル位置に戻るには、[検索]→[前のカーソル位置]というコマンドがある
ので、キーボードの場合はこれを使うといいです。

やり直しは、Iranoanさんも書かれている通り、やり直しバッファファイズで変更す
ることができます。

[ ]
RE:42059 全選択のキャンセルとUndoについNo.42060
ラフ さん 25/07/09 17:27
 
Undoの設定はそんな場所にあったのですね。了解です。
しかい全選択の件はおかしいです。
(1) PageUp,PageDownは何故先頭にカーソルが行っていないのでしょうか?
そもそも、全選択コマンドがカーソル位置をファイル先頭に移動させる必要性が理解
できません。

(2) 範囲選択はなせカーソル位置が移動しないのでしょうか?
ファイル先頭文字からファイル末までの範囲選択と何故同じ動作にならないのでしょ
うか?

(3) 「スクロールしてもカーソル位置は固定をする」と、全選択した時点で先頭が表
示されてしまいます。それは望む動作ではないです。
まず、全選択するという事は次の行動として普通はCtrl+cでコピーし、別ウィンドウ
にペーストするのが一般的だと思います。
で、元のウィンドウは元のカーソル位置で作業を続けたいので、一々カーソル位置を
戻さないといけないのは非常に不便です。
それがたとえ[検索]→[前のカーソル位置]というコマンドがあったとしても。
そもそもカーソル位置は、ユーザーの意思で決めるべきであり、コマンドによって決
めるべきものではないと思いますが。
コマンドによるかもしれませんが

[ ]
RE:42060 全選択のキャンセルとUndoについNo.42061
igus さん 25/07/09 23:03
 
//全文コピーしてカーソル位置を戻すよ.mac

#x=x;#y=y;
selectall;copy;
moveto #x,#y;

[ ]
RE:42060 全選択のキャンセルとUndoについNo.42062
秀丸担当 さん 25/07/10 08:55
 
PageUp, PageDownは、通常はカーソルが共に移動します。
[スクロールしてもカーソル位置は固定]がONで、スクロール中とみなされている状態
では、PageUp, PageDownはカーソルが移動せず、スクロールします。
スクロール中とみなされている状態とは、ヘルプにはホイールやスクロールバーの例
がありますが、全選択でも画面外にカーソルがある状態となり、スクロール中とみな
される状態でした。
この点もヘルプに書いておきます。

範囲選択は、必ず選択の先頭または末尾のどちらかのカーソルが存在します。
全選択では先頭にカーソルがあります。
この動作は変わることは無いので、すみませんがこの仕様の範囲内でなんとか使って
ほしいです。

[スクロールしてもカーソル位置は固定]がONであれば、全選択で画面はファイル先頭
に行かず、現在の見えているスクロール位置のままです。
見た目上のスクロール位置は変わらないので、マウス操作であればコピー後クリック
していただくのが一番簡単です。
キーボード操作であれば[前のカーソル位置]を使う方法がありますが、あまり使われ
ている人はいないかもしれません。
それかigusさんが示してくださったようなマクロを使うのも手だと思います。

[ ]
RE:42062 全選択のキャンセルとUndoについNo.42065
ラフ さん 25/07/13 20:27
 
超忙しくて読めてなかったので遅くなりましたが、重要事項でもないので取りあえず
現状でいいです。
連日3時間睡眠は体に堪えます(^^;

最後の編集地点に戻るコマンドがあるとわかったので、わざわざ専用のマクロを組む
必要はないですよね。
それに当初の問題はコピーしなかった時の方なので。

代替策として、カーソル位置から先頭と、カーソル位置から末尾の2か所をマクロで
複数選択すれば、
見た目全選択でカーソル位置変わらず、Ctrl+Cでコピーできるし、カーソル移動キー
(右矢印だけ動きが変でファイル末に移動する)でキャンセルもできるんですが、
Ctrl+Cでコピーした時にカーソル位置に改行が挿入されます。
カーソル位置が行頭、または行末ならば空行が増えるだけで済むので余り問題ではあ
りませんが、
行の途中にあった場合に単語がぶった切られることになります。
これってそういう仕様でしょうか?
つまり「各選択範囲の間に改行が入る」
仕様ならば、注意書きをヘルプにいれておいてほしいです。

あと複数選択関連のマクロがヘルプ見てもよくわからないです。試行錯誤でおおよそ
は掴めましたが。
このあたりの複数選択関連をもう少し詳しく書いた方がいいと思います。
例えばclearreservedmultiselってどの選択範囲が解除されるとか、
selectreservedmultiselは複数選択予約されている範囲を選択状態にするとか
できればサンプルコードも載せた方がいいかと思います。

ネット検索したら
tomultiselect 文 現在の範囲選択を複数選択に切り替える。(複数行選択していた場
合は、改行を区切りにして複数選択になる)
って書かれているページにヒットしたんですが、
「現在の範囲選択を複数選択に切り替える」はわかるんですが、
「複数行選択していた場合は、改行を区切りにして複数選択になる」ってどういう使
い方を想定しているのでしょうか?
そもそもこの説明文が合ってるのかどうかわかりませんが


[ ]
RE:42065 全選択のキャンセルとUndoについNo.42066
Iranoan さん 25/07/13 22:05
 
ラフさん今日は Iranoan です
> Ctrl+Cでコピーした時にカーソル位置に改行が挿入されます。
> カーソル位置が行頭、または行末ならば空行が増えるだけで済むので余り問題では
>ありませんが、
> 行の途中にあった場合に単語がぶった切られることになります。
これは再現しませんね
[Ctrl]+[C] に何か「コピー」以外に割り当てているということはないですよね

> あと複数選択関連のマクロがヘルプ見てもよくわからないです。試行錯誤でおおよ
>そは掴めましたが。
> このあたりの複数選択関連をもう少し詳しく書いた方がいいと思います。
マクロの中で「〜文」の多くはメニューやショートカットから行う機能をエミュレー
トするものですから、マクロ・ヘルプを見ただけでわかりませんよ
元となる機能を普通のヘルプで見ないと
これは秀丸に限ったことではなく、他のエディタなどのスクリプトも同様です

その意味で
> できればサンプルコードも載せた方がいいかと思います。
に反対です
理由は、開発者には本体の改良に時間を割いてほしいからです
ただ機能そのものをエミュレートするものでない文でサンプル・コードがないのなら
追記に賛成です

[ ]
RE:42066 全選択のキャンセルとUndoについNo.42068
秀丸担当 さん 25/07/14 09:20
 
複数選択時のコピーは、複数選択の境界が行の途中にあると改行が挿入されます。
これらの操作はやってみないとわからないので、ヘルプに何かしら書いておこうと思
います。

[複数選択化]コマンド(tomultiselect)は、複数行の単一選択であれば行ごとの複
数選択にします。
身近な使いみちとしては、文字入力すると各行が入れ替わるとか、左矢印キーを教え
てから各行の先頭に入れるなどが使えると思います。
マクロのサンプルなども、ご意見参考にさせていただきます。

[ ]
RE:42068 全選択のキャンセルとUndoについNo.42073
ラフ さん 25/07/17 00:34
 
>複数選択時のコピーは、複数選択の境界が行の途中にあると改行が挿入されます。
ですよね。まぁ仕様だろうなと思ったのでああいう質問にしました。

[ ]
RE:42066 全選択のキャンセルとUndoについNo.42074
ラフ さん 25/07/17 00:38
 
今日は。真夜中だけど^^;

>[Ctrl]+[C] に何か「コピー」以外に割り当てているということはないですよね
ないですよ。コピー、カット、ペーストに何か割り当てたら他のソフトとの操作の整
合性が取れなくて混乱します。
仕様だそうなので、確認の仕方を間違われたのではないしょうかね

あとの部分はただの見解の相違なので割愛します。

[ ]