カーソルが表示領域外にある時のキー押下

  1. いつもお世話になってます。

    ダークモードいいですね~。
    周囲の人にカッコよさをわかってもらいたくて、仕事中にMeryをデカデカと開いた状態で席を立つことが増えました^^;

    さてさて、ちょっとした要望です。
    # このやり取りを見て思い出しました。
    # https://www.haijin-boys.com/discussions/5772

    マウススクロールでカーソル行が表示領域外に行ってしまったとき、
    例えば、下にスクロールしてカーソル行が上方の表示領域外に行った状態で、
     [↑]キー押下:元のカーソル行の1行上にカーソルが移動し、その行がスクロールマージン分空けて上部に位置するように表示される。
     [↓]キー押下:カーソルが現在の表示領域に移動してしまう。
     [Ctrl]+[s]キー押下:カーソル位置は変わらないが、元のカーソル行付近が表示される。
    といった動作になっているようですが、以下のようになったらうれしいです。
     [↑]キー押下:現状の仕様のまま
     [↓]キー押下:元のカーソル行の1行下にカーソルが移動し、その行がスクロールマージン分空けて上部に位置するように表示される。
     [Ctrl]+[s]キー押下:カーソル位置も表示領域も変わらない。

    以前、この辺りの仕様について議論されていたような気もするのですが・・・。

     |  Dainty  |  返信
  2. Mery をご愛用いただきありがとうございます。

    > 周囲の人にカッコよさをわかってもらいたくて、仕事中にMeryをデカデカと開いた状態で席を立つことが増えました^^;

    私もダークモード、気に入っています。でも、セキュリティが!席を立つときは [スタート] + [L] キーでロックですっ ^^;

    > 以前、この辺りの仕様について議論されていたような気もするのですが・・・。

    そうですね、この仕様はメモ帳式です。もともと Mery はメモ帳に慣れたユーザーさんが気軽に使えるようなテキストエディターとして開発しているものなので…。

    メモ帳以外のエディターですと ↑・↓ でカーソル位置付近に強制送還される仕様になっているものが多いので、違和感を感じられるお気持ちもわかります。

    でも、ちょっとメモ帳式からアレンジが入っていて、スクロール方向とは逆の方向キーを押せば強制送還、スクロール方向と同じ方向キーを押せばその場に着地ということで、メモ帳以外のエディターを使っているかたからも、これはこれで慣れたら便利とご好評をいただくこともあります。

    特に、キーボード操作に慣れているかたですと [Ctrl] + [↓] でスクロールしてから、その箇所を編集したくなったときにマウスを使わず進行方向の [↓] キーでその場に着地できるので便利ですよ。

    ちなみに [Ctrl] + [S] では通常、スクロール位置は変化しませんので、恐らくマクロかプラグインの影響だと思います。

    保存時のマクロが設定されているか、プラグインですと EditorConfig で行末トリムや文末改行などの整形機能を使っているとテキスト全体に対して整形処理が発動するので、カーソル位置付近が画面上に収まるようスクロールされているのではないかと思います。

     |  Kuro  |  返信
  3. 早速のご回答ありがとうございます。

    > 私もダークモード、気に入っています。でも、セキュリティが!席を立つときは [スタート] + [L] キーでロックですっ ^^;

    安心してください。Mery以外が前面にある時は [スタート] + [L] キーでロックかけてます^^;

    > そうですね、この仕様はメモ帳式です。

    あ、ホントですね。メモ帳はスクロールにカーソルが追従してると思ってました。

    > スクロール方向とは逆の方向キーを押せば強制送還
    > スクロール方向と同じ方向キーを押せばその場に着地

    年のせいかスクロールしてコードを眺めているうちに、どっちにスクロールしたか忘れてしまって「その場に着地」をしてしまい元の位置を見失うことが多々あります。
    [→ ][←]キーを押せばいいのに、ついつい [↑] [↓]キーを押しちゃうんですよね~

    > ちなみに [Ctrl] + [S] では通常、スクロール位置は変化しません
    > EditorConfig で行末トリムや文末改行などの整形機能を使っているとテキスト全体に対して整形処理が発動するので、カーソル位置付近が画面上に収まるようスクロールされているのではないかと思います。

    失礼しました。EditorConfigの影響でした。。。
    EditorConfigも超絶便利ですヨ!。

    今回の件、仕様ということで承知しました。

     |  Dainty  |  返信
  4. ご返信ありがとうございます。

    > あ、ホントですね。メモ帳はスクロールにカーソルが追従してると思ってました。

    Dainty さんのご要望とは逆になりますが、常にスクロールにカーソルが追従するようにしてほしいというご要望をいただくこともあります ^^;

    > [→ ][←]キーを押せばいいのに、ついつい [↑] [↓]キーを押しちゃうんですよね~

    どちらの仕様が優れているというものでもなく慣れの問題だとは思うのですが、以前に使っていたエディターまたは併用しているエディターの仕様と異なると、ついついやってしまいますよね。

    Mery はメモ帳ユーザー向けの仕様になっていますが、ご要望が多いようであればオプションなどで切り替えられるような仕組みも検討してみたいと思います。

    > 失礼しました。EditorConfigの影響でした。。。

    EditorConfig でしたか。

    開発の際に参考にさせていただいた Visual Studio Code の EditorConfig が保存時にカーソル位置にジャンプする仕様だったのでそういうものだと思っていましたが、そう言われてみると確かにスクロール位置はそのままのほうがクールですね。

    EditorConfig はプラグインですが本体側の機能を利用しており、この部分は本体側の修正が必要になるのでリリースまでに時間はかかりますが、次のバージョンで対応できればと思います。

     |  Kuro  |  返信
  5. > どちらの仕様が優れているというものでもなく慣れの問題だとは思うのですが、以前に使っていたエディターまたは併用しているエディターの仕様と異なると、ついついやってしまいますよね。

    Meryに完全移行してから3年以上経ちますが、それまで10年以上使用していたJmEditorの癖が抜けません。。

    > Mery はメモ帳ユーザー向けの仕様になっていますが、ご要望が多いようであればオプションなどで切り替えられるような仕組みも検討してみたいと思います。

    ちなみにJmEditorには「スクロールでカーソルも移動」というオプションがありました。

    > EditorConfig はプラグインですが本体側の機能を利用しており、この部分は本体側の修正が必要になるのでリリースまでに時間はかかりますが、次のバージョンで対応できればと思います。

    ということは、Windowを上下分割した状態で下ペインを編集して[Ctrl]+[S]すると上ペインの表示が下ペインと同じような範囲にぶっ飛んじゃう現象も解消されますかね?
    期待しています!

     |  Dainty  |  返信
  6. おー、JmEditor さんですか。フラットな外観と、当時はまだ珍しかったタブ式、しかも Delphi 製ということで私も影響を受けたものです。

    > ちなみにJmEditorには「スクロールでカーソルも移動」というオプションがありました。

    そうなんですよね。その仕様は秀〇さん方式で、当時、Delphi で作られたエディターの多くは秀〇さんの影響を受けた TEditor というエンジンを使っていたので、大抵、そのオプションが付いてますね。

    > ということは、Windowを上下分割した状態で下ペインを編集して[Ctrl]+[S]すると上ペインの表示が下ペインと同じような範囲にぶっ飛んじゃう現象も解消されますかね?

    そ、そうですね… ^^;

    ウィンドウ分割は廃止予定の機能だったこともあってそこまでは考慮してなかったのですが、最近、ウィンドウ分割に関連するご要望が多いようなので、その辺りも含めて現在、大幅に作り直しているところです。

    今しばらくお待ちくださいませ!

     |  Kuro  |  返信
スポンサーリンク