◀一般トップへ
  • 7685 矩形選択状態
    • 7686 Re:矩形選択状態
      • 7687 Re2:矩形選択状態
        • 7688 Re3:矩形選択状態
          • 7689 Re4:矩形選択状態
            • 7690 Re5:矩形選択状態
  • [7685] 矩形選択状態 tn 2013年07月03日 13:13

    複数行のテキストの真ん中あたりで
    「Alt+↓」「↓」「↓」と打つと,
    ステータスバーに「0 Columns * 3 lines selected」
    と表示され,幅0 の矩形選択状態になって,
    その後の文字入力内容が複数行に同時に行われます.
    この機能が便利で気に入っています.

    しかし矩形選択状態で「Spaceキー」「Tabキー」を操作すると
    SpaceやTabが挿入されず,テキスト右端までの矩形選択状態
    に変わってしまい,例えば「74 Columns * 3 lines selected」
    などと表示されます.

    その後のSpaceやTabは複数行に同時に挿入されるので,
    実使用に支障があるわけではないのですが,
    右端までの矩形選択状態は解除されません.
    できれば幅0を保持できないでしょうか.
    御検討をよろしく御願い致します.
    • [7686] Re:矩形選択状態 ds14050 2013年07月04日 00:13

      ソースコードにこういうコメントがあり、何らかの意図で行われています。

      /* SPACEorTABインンデントで矩形選択桁がゼロの時は選択範囲を最大にする */

      ある不具合の修正プラスこの選択範囲拡大操作を取り除いた結果の不都合
      の顛末が一応ここにあります。
      <http://vvvvvv.sakura.ne.jp/ds14050/diary/20091105.html#p02>
      要約すると、とんでもなく面倒なことが起こり、なんとか八方丸くおさま
      る結果が得られるようになったが、選択範囲が勝手に最大化されることは
      解決すべき問題ではなかったので従来通りの挙動が保存されました。この
      経過により以前よりは幅0を維持するのが簡単になったのが慰めです。

      自分も tnさんのリクエストに一票を投じますが、変更に至る道筋は見えていません。

      ### 2.0.8.0より矩形選択移動コマンドが追加されていますので
      ### 既存ユーザーはキー割り当てを自分で行う必要があると思いますが
      ### Altキーを放す必要はなくなりました。
      • [7687] Re2:矩形選択状態 もか 2013年07月04日 06:17

        その日記の範囲はコミット済みで、あとは幅を広げる部分をコメントアウトするだけじゃないんですか?
        よく分かっていないんですが「ここを残せば選択幅1のSPACEインデントで全角文字を揃える機能(2)が追加される」が
        機能していないような気がします。

        とりあえず、桁揃え機能を使わない人でソフトTab以外はこれで代用できる?
        if( 2 == Editor.IsTextSelected() ){
        Editor.Char( 0x20 );
        }else{
        Editor.IndentSpace();
        }
        Tabの場合は9, IndentTabで。
        • [7688] Re3:矩形選択状態 ds14050 2013年07月05日 00:36

          >あとは幅を広げる部分をコメントアウトするだけ

          幅0であることに依存していた部分が取り除かれているので
          その後のコミットが影響していないか確認は必要でしょうが
          その通りです。
          誰が何を根拠にその決定をするのでしょう?ということです。

          >「ここを残せば選択幅1のSPACEインデントで全角文字を揃え
          >る機能(2)が追加される」が機能していないような気がします。

          2.0.7.1で機能してますよ。幅0ではなく幅1(半角1文字分)です。
          • [7689] Re4:矩形選択状態 もか 2013年07月05日 08:12

            >>「ここを残せば選択幅1のSPACEインデントで全角文字を揃え
            >>る機能(2)が追加される」が機能していないような気がします。
            >
            >2.0.7.1で機能してますよ。幅0ではなく幅1(半角1文字分)です。

            日本語
            1漢字
            2ひらがな

            とあったら、「日」の左から「2」の右側まで選択してSPACEインデントしても、
            普通に3行ともにスペースが挿入されるけど、期待した動作は「日本語」の行だけ挿入されない
            ということですよね?(全然違う?)
            • [7690] Re5:矩形選択状態 もか 2013年07月05日 09:03

              コードをちゃんと読んでやっとわかりました。
              「日」の右側から「ひ」の右側みたいな選択をすると揃えてくれました。