【要望】すべて選択をした時の挙動

  1. 現在の仕様ですと、すべて選択をすると、自動的に最終行へカーソルが飛んでしまいますが、長文のCSSなどを編集している際に、またさっき編集していた行を探さないといけないので、とても不便です。

    すべて選択をした時の挙動をオプションで変更できるようにしていただけませんでしょうか?
    よろしくお願いいたします。

     |  ぽち  |  返信
  2. > 現在の仕様ですと、すべて選択をすると、自動的に最終行へカーソルが飛んで
    > しまいますが、長文のCSSなどを編集している際に、またさっき編集していた行を
    > 探さないといけないので、とても不便です。

    こんにちは。

    Ctrl+Aの前にCtrl+F2でブックマークをセットするとか、Ctrl+Aに
    こんな(↓)マクロ
    -----
    var sel = Editor.ActiveDocument.Selection;
    sel.SetBookmark()
    sel.SelectAll();
    -----
    を登録しておいて、Shift+F2で戻るというのはいかがでしょう。
    別途、ブックマーク解除の操作が必要になりますけれど……。

    それでは!

     |  手石  |  返信
  3. ● ぽち さん

    こんばんは、書き込みありがとうございます。
    おっしゃる通り、確かに現在の仕様はそうなっております。Windows 標準のメモ帳に準拠した動作、とさせていただいておりますが、スクロール位置が変わらないようなテキストエディタもありますね。

    皆さんがいろんな技を紹介してくださっているようなので、私もひとつ。

    すごいアナログ的な手法ですが私がよく使うのは、すべて選択したあととか、検索したりしてさっきまで編集していた位置を見失ってしまったときなど、「CTRL + Z」→「CTRL + Y」というコンボで元の位置にもどる技をつかてます。(けっこうアレですが、どのテキストエディタでも共通でつかえるのでw)

    手石さんが載せてくださっているようなブックマーク方式も面白いと思います。

    Mery では一応標準的な動作は Windows のメモ帳に準拠した感じに作っていますが、マクロで色々といじくれますので、お試しあれ。

    おそらく、ucky さんのマクロがぽちさんのイメージに近いと思います。私も先ほど対策マクロを作っていたのですが、開いてみると ucky さんとまったく同じでした。

    このマクロを拡張子 js で保存して、マクロ選択でそのファイルを選択し、オプションのキーボード割り当てで CTRL + A に割り当てればよい感じに動作すると思います。

    んで、私も同じマクロを作っていて気付いたのですが、一応ご希望の動作にはなっているものの、スクロールバーだけが最下行になっているという問題がありましたので、本日公開した Mery 2.0.0.4465 で修正しておきました。

    お試しくださいませ。

     |  Kuro  |  返信
  4. 皆様ありがとうございます。
    仰っていたマクロを使って希望通りの動作になりました。
    これからもずっとMeryを愛用していこうと思います。

     |  ぽち  |  返信
  5. こんにちは。

    ScrollX なんてのがあったんですね。
    知りませんでした。
    私の手元のマクロも書き換えちゃいました。
    uckyさん、ありがとうございます!

     |  手石  |  返信
  6. 手石さん、はじめまして。

    > ScrollX なんてのがあったんですね。
    > 知りませんでした。

    実は自分もマクロライブラリにあるksさんのマクロを拝見して最近知りました。

    手石さんのマクロもポップアップメニューでつまづいた時に参考にさせて頂きました。
    こちらこそ、ありがとうございます。

     |  ucky  |  返信
  7. > > ScrollX なんてのがあったんですね。
    > > 知りませんでした。

    > 実は自分もマクロライブラリにあるksさんのマクロを拝見して最近知りました。

    未だマクロリファレンスに載せられていないプロパティ,コマンドが存在します.
    一応 Mery.txt の履歴には記述されているのですが……リファレンスには載せない方針なんですかね.
    ちなみにコマンドラインオプションも,履歴を見ると全て載っています.

    以下非記載プロパティ:
    window.ScrollX
    window.ScrollY
    window.Redraw

    以下非記載コマンド:
    window.Sleep(milliseconds)
    Edtior.ExecuteCommandByID(id)

     |  ks  |  返信
  8. こんばんは。

    便乗と言い訳させていただきますと・・・

    > ScrollX なんてのがあったんですね。

    私も ks さんのマクロを見て気付きました(汗
    マクロリファレンスに載ってないし、まさか実装されているとは思いませんでした。
    たぶん酒飲みながら作って次の日になって作ったことすら忘れていたのでしょう・・・。

    > 一応 Mery.txt の履歴には記述されているのですが……
    > リファレンスには載せない方針なんですかね.

    書き忘れているだけです。はい・・・。

    > ちなみにコマンドラインオプションも,履歴を見ると全て載っています.

    コマンドラインオプションは MeryWiki の「ヘルプ」に載せていますが、他にも何かありましたっけ・・・。一応ソース見ながらヘルプ書いたつもりなんですが(汗

    > 以下非記載プロパティ:
    > window.ScrollX
    > window.ScrollY
    > window.Redraw

    これは Wiki の方を修正しておきますね。

    > 以下非記載コマンド:
    > window.Sleep(milliseconds)
    > Edtior.ExecuteCommandByID(id)

    Sleep は Wiki の方を修正しておきます。

    ExecuteCommandByID は裏技 (非推奨) ということで、表には出さないようにしています。(コマンド ID がメニューの順番そのままなので、機能追加した場合などにコマンド ID が変わる可能性があるため。あと、無理やりメニューのコマンドを呼び出すだけなのでマクロから実行することは動作保証できないため。たとえばタブ有効無効切り替えとか呼び出しても正常には動かないと思います)

     |  Kuro  |  返信
  9. > > ちなみにコマンドラインオプションも,履歴を見ると全て載っています.

    > コマンドラインオプションは MeryWiki の「ヘルプ」に載せていますが、他にも何かありましたっけ・・・。一応ソース見ながらヘルプ書いたつもりなんですが(汗

    載っていたことに気づいていませんでした……申し訳ないです.

    > Sleep は Wiki の方を修正しておきます。

    Sleep() を私以外に必要としている方を知りたい(笑

     |  ks  |  返信
  10. > 載っていたことに気づいていませんでした……申し訳ないです.

    いえいえ、こちらの不手際でなくて安心しましたw
    一応、Wiki の方は一通り修正しておきました。

    > Sleep() を私以外に必要としている方を知りたい(笑

    必要としている方が 1 人でもいたことに驚きですw

     |  Kuro  |  返信
  11. こんにちは。

    > > Sleep() を私以外に必要としている方を知りたい(笑
    > 必要としている方が 1 人でもいたことに驚きですw

    必要ですよ。
    TeXのコンパイル待ちとか……。
    先ほど、自分のTeX用マクロに取り入れました。

    それでは。

     |  手石  |  返信
  12. ブックマーク使わない方法としては、

    Redraw = false;
    var x = ScrollX, y = ScrollY;
    document.selection.SelectAll();
    ScrollX = x;
    ScrollY = y;
    Redraw = true;

    みたいなマクロでもいいかもしれません。

     |  ucky  |  返信