[ 新規に投稿する ]

全選択のキャンセルと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でUndoを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] に何か「コピー」以外に割り当てているということはないですよね
ないですよ。コピー、カット、ペーストに何か割り当てたら他のソフトとの操作の整合性が取れなくて混乱します。
仕様だそうなので、確認の仕方を間違われたのではないしょうかね

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

[ 新規に投稿する ]