中間色の範囲の利用No.04292
naanfushi さん 09/10/25 16:41
 
【現状】
 範囲内での検索/置換をよく使っています。その際、[動作環境]→[検索]→[検索で
の表示]→[「選択した範囲のみ」で動作中の範囲を中間色で表示]をONにしており、
選択した範囲はいわゆる「中間色」になっています。

 ところが、同じ範囲に対して、別の条件で検索/置換しようとすると、現状ではこ
の中間色が消え、どこが選択領域だったのかが不明になるようです。search文のオプ
ションにも中間色の対象とした設定は無いようです。一応、forceinselect文なども
試したのですが、これは「範囲選択した領域」が対象であり、当然「中間色」の領域
が対象ではありませんでした。
 また、「中間色」は、「カラーは、背景色と範囲選択の色との中間色」ということ
ですが、colorcodeにはありませんでした。

【中間色関連の要望1】
 おそらく何らかの方法で中間色の範囲を得られると思うのですが、探せませんでし
た。すいませんけれども、「中間色の範囲を得る方法」をご教示頂ければ大変ありが
たいです。

【中間色関連の要望2】
・中間色の表示範囲を「次の検索/置換」に有効活用する
 「選択した範囲のみ」の仕様では、次の検索/置換で同じ範囲を続けて検索しても、
同じ範囲をユーザが手動で再び範囲指定しなくてはならないようです。特に、同じ範
囲に対して検索や置換を繰り返して行いたい作業の場合、非効率な感じも否めません。
しかも、選択範囲が数十行を超える長い場合は、正しく同じ範囲を選択できるかとい
った二次的要素にも気を遣わなければ成りません。

・中間色の領域を、範囲選択の状態に戻す仕様
 これらに対応した仕様として、[「選択した範囲のみ」で動作中の範囲を中間色で
表示]がONの場合、[検索/検索]ダイアログが出ると、『中間色の領域が、範囲選択の
状態に戻る』オプションをご提案します。
 具体的には、[その他]→[動作環境]→[検索]→[検索ダイアログ]→[検索ダイアロ
グボックス]の「選択時の「選択した範囲内のみ」の状態」の下に下記のチェックボ
ックスを追加します。

 □中間色の範囲を検索ダイアログ表示で範囲選択に戻す

(あるいは、中間色を表示中の検索ダイアログでの動作:中間色をキャンセル/中間
色を範囲選択に戻す、といった内容をより具体的に明示したプルダウンメニューも親
切かもしれません)

(同様のチェックボックスを「置換ダイアログボックス」の項目にも同様に追加する)

・動作
 […中間色で表示]をONの場合、この[…範囲選択に戻す]がONの時には、中間色表示
された範囲がそのまま範囲選択状態となって検索ダイアログが現れます。OFFでは既
存の動作(中間色の範囲をキャンセル)が維持されます。
 もちろん、[…中間色で表示]がOFFの場合には、何もしません。
(中間色で表示しない状態の範囲選択の有効な活用法が見あたらないため)

・期待される効果
 この機能が実装されれば、中間色範囲は一種の部分編集モードとして検索/置換が
制限できるというメリットに加え、中間色範囲以外の編集は通常通りに行えます。し
かも中間色領域は維持されるという、一挙両得、一挙三得なメリットが期待されます。
 とりわけ特定の範囲を対象にして検索や置換を続けて行うユーザにとっては、範囲
選択の再指定が不要になると言う作業効率だけでなく、範囲内外での編集作業の両効
率を高められる点において、日本語文書を扱う人は言うまでもなく、プログラム系の
テキストを扱う人でも、両者にメリットがあると思われます。
 もちろん、既存の使い方をしたいユーザは元のままの使い勝手も保証されます。こ
のオプションを追加することは、新しい秀丸V8の多くのユーザにとっても大きなメリ
ットがあると考えられます。

 以上、ご検討頂けますと幸いです。

[ ]
RE:04292 中間色の範囲の利用No.04293
h-tom さん 09/10/25 20:07
 

h-tom です。

> また、「中間色」は、「カラーは、背景色と範囲選択の色との中間色」ということ
>ですが、colorcodeにはありませんでした。
ヘルプにはのっていませんけど、調べてみたら「0x00008000」になってますよ。

>【中間色関連の要望1】
> おそらく何らかの方法で中間色の範囲を得られると思うのですが、探せませんでし
>た。すいませんけれども、「中間色の範囲を得る方法」をご教示頂ければ大変ありが
>たいです。
上記が正しければ、colorcodeを見れば、範囲がわかるでしょうね。

>【中間色関連の要望2】
最初から、部分編集にすればいいのでは?

[ ]
RE:04293 中間色の範囲の利用No.04294
naanfushi さん 09/10/25 23:17
 
 ご指摘、ありがとうございました。

>ヘルプにはのっていませんけど、調べてみたら「0x00008000」
 ご指摘のとおり、「0x00008000」は把握していたのですが、中間色範囲に、空白、
タブ、改行、ヒット文字列、強調行等が含まれている可能性もあり、これらを含む中
間色範囲を特定させるとなると、私共の腕では、文書全体を先頭から1文字づつカー
ソル移動させてながら1文字ずつcolocodeをチェックする方法しか思いつきませんで
した。
(ワードの[検索]→[書式]→[フォント]→[フォントの色]の指定検索のようなsearch
olor的なコマンドがあれば良いのですが…)
 すると、中間色の範囲を特定する為に多少なりともマシンに負担をかける処理が必
要となり、残念ながら現状のマシンで長文を対象にしている場合、かなりのストレス
(しかも作業が範囲選択を繰り返して編集作業を行うというシチュエーションを考慮
すると、作業感覚にも影響しそうな為)になってしまいそうだと判断せざるをえませ
んでした。
 そこで、seltopx,seltopyの様な値で「中間色の範囲」が簡単に把握できる内部的
な値(例えば、halftopx,halftopyみたいな)として、もし(隠しコマンドのような
形で既に)用意されていればと…、思ってお伺いした次第です。

>>【中間色関連の要望2】
>最初から、部分編集にすればいいのでは?
 元の発言でも中間色で範囲指定された領域と同範囲の連続検索/置換の各特徴を書
きましたが、それら主な特徴を箇条書きにすると下記のようになるかと思われます。
 (1)中間色の範囲を普通領域と分けて認識できる。
 (2)中間色の範囲だけで検索/置換が行える。
 (3)中間色の範囲を編集できるが、範囲外も編集できる。
 (4)中間色の範囲外にある検索ヒット文字も強調で参照できる。
 (5)中間色の範囲は、[Esc]キー一発で解除できる。
 部分編集でも(1)と(2)はできますが、(3)〜(5)は対応できません。具体的には、
(3)は部分編集では指定された部分以外の編集はできないので、自由度という点で中
間色が圧倒的に自由度が高く有用です(編集領域の限定のために部分編集機能がある
為ですので当然ですが)。また、(4)では、部分編集以外の領域にある文字列は検索
されませんが、中間色では、中間色で表示する領域だけでなく、全領域にある文字列
がヒットし強調されます。こうした検索が出来き、しかもそこへ移動して確認できる
メリットがあります(部分編集では基本的に範囲以外への画面移動はできません)。
(5)は、編集状態とは、範囲選択した状態で続けて検索/置換をしたい場合もあります
が、範囲選択した領域を維持したいケースだけでなく、範囲を変更して別の領域を指
定したい場合など、必要とする条件が時々で変化します。その変化に中間色の範囲指
定はデフォルトでキー一発解除を含め機敏に対応できるかと。
 全体として「中間色を再利用する検索/置換」の機能や操作バランスは、部分編集
とは別物と考えた方が良く、1オプションでこれだけの「範囲選択→<検索/置換→
編集(他範囲も含む)→同範囲の検索/置換>」といった<〜>内を繰り返す場合に
は圧倒的な新戦力となるように思われた次第です。

 以上が、中間色の機能のメリットの概要で、一見、部分編集と似ているかもしれま
せんが、部分編集にはない良さが十二分に含まれており、これを新しい機能として実
装されれば、部分編集と通常編集のメリットを併せ持った新機能として(しかも使い
慣れた検索/置換ダイアログと範囲選択のみ検索の融合機能として理解されやすい動
作内容。「範囲選択→検索→中間色範囲の作業→検索」の再度の「検索」において、
中間色範囲がキャンセルされず、再範囲指定も不要で、同領域が自動で再び範囲選択
されて検索対象になるという動作は、非常にスムーズな編集につながると感じます)、
さらに秀丸が快適に使えるかと思った次第です(しかも、この1個の新オプションに
はこれだけの大きなメリットがありながら、既に中間色の範囲は秀丸内部ではおそら
く認識されている情報と思われ、「中間色表示の状態で検索/置換ダイアログが現れ
る前には、中間色領域を範囲選択に戻す」という改変は、それほど過大な工数を科す
作業ではないように思われたからです…と、プログラムの実情を全く知らない素人が
言うのは失礼千万な発言で、すいません。あくまでユーザとしての無知が故の願望、
とお聞き流し頂ければ幸いです)。

 以上、簡単ですが補足説明させて頂きました。おそらくこのあたりのことはご理解
された上でのご指摘だとは承知致しておりますが、これもまた不十分な表現しかでき
ない発言によって誤解を与えてしまった事に起因すると思われ、その点、誠に申し訳
ございませんでした。(再度の誤解を招かないようにと書くと、長文になってしまい、
これまた申し訳ないです。上手く短く表現できれば良いのですが…。重ねて、すいま
せん)

[ ]
RE:04294 中間色の範囲の利用No.04295
naanfushi さん 09/10/26 00:44
 
 自己レスで申し訳ありません。
 前の発言で「中間色範囲を特定する為にカーソルを1文字ずつ移動させる」と書き
ましたが、中間色は「行単位」であるため、これは不要で、行頭のみのチェックでOK
でした。 お詫びして修正させて頂きます。
(手元にあった複数の色指定領域をある種のタグ処理をするマクロの一部を流用して
背景色などを調べていたための誤認でした。当該マクロでは、上位下位タグなどの判
別等を色々行っていたため、動作が緩慢でした…。重ねて、大変、申し訳ありません
でした)

[ ]
RE:04295 中間色の範囲の利用No.04300
秀丸担当 さん 09/10/26 12:44
 

中間色についてですが、h-tomさんも言われているように部分編集を使うといいの
ではないかと思います。

中間色はどちらかというと古い機能で、デフォルトではOFFで通常の状態から「選
択した範囲内のみ」をONにするだけで使うと分かりづらい機能でした。

また、範囲外も編集できてしまうことは、どちらかというとデメリットのほうが
大きいのではないかと思います。
置換においては置換できる部分と挿入できる部分が混ざっていて混乱するかもし
れません。

また、中間色は対象部分が見難くて対象以外が見やすいですが、部分編集では逆
なので見やすいです。
[ファイルタイプ別の設定]→[アウトライン]→[部分編集]で半透明にしておくと
一応強調表示も半透明で見えます。

Escキーで解除も範囲選択の解除と同じ操作で、状態によって挙動が違うEscキー
は混乱があるかもしれないです。

これらのデメリットが大きい部分を解消しているのが部分編集で、中間色に関す
ることはこれ以上いじるのはやめておこうと思います。
申し訳ありません。


中間色のご要望の状態を現状でするとしたら、マクロでカラーマーカーを使うと
いいかもしれません。
マクロの作り方によっては、カラーマーカーを範囲選択にしたり、カラーマー
カーの付いた部分を検索したりできるかもしれません。
複数の箇所に幾つもカラーマーカーを付けることもできます。

[ ]