疑問&提案&色々(^^;No.02203
Arimac さん 98/12/11 23:34
 
初めまして、Arimacと申します(^^;
秀丸エディタを使っていて色々疑問や提案事項が
出て来たので書きます(^^;

1.ウインドウを分割しているとフォーカスのない方には
 「クリックした位置に必ず移動」が効かないのは何故?
 (ダブルクリックした場合に全く別の単語が選択されて
  しまうので困るんですが(^^;)

2.「単語の検索」のチェックボックスだけが毎度々外れる
 のは何故?(不便なんですが(^^;)

3.Ctrl+Shift+→矢印の場合のカーソルの停止位置は
 Ctrl+→矢印の停止条件とは逆(英字系→記号系への変化)
 に出来るようにすると操作性が良くなると思うのですが(^^;
 具体的には、
 func(aaa, bbb, ccc);
 ^    ^    ^    ^    ^  Ctrl+→矢印の停止位置
     ^   ^    ^    ^    Ctrl+Shift+→矢印の停止位置
 という動きです。(勿論Ctrl+Shift+→矢印の場合は
 文字列が選択されます)
 まあ、VisualStadioの停止位置になるわけです(^^;
 VisualStadioはCtrl+矢印でも記号の位置で停止するので
 止まりすぎでうっとうしい(^^;

4.一致しない行の検索(grep)が出来ると便利なんですが(^^;
 (コマンドのgrepの-vオプション相当)

5.正規表現に絞り込み指定が出来ると超便利だとおもいます(^^;
 例:[A-Za-z_][0-9A-Za-z_]*\=func123
 (Cの識別子でかつそれがfunc123であるの意味。\=が絞り込み指定)
 まあ、[^0-9A-Za-z_]func123[^0-9A-Za-z_]|^func123[^0-9A-Za-z_]|
 [^0-9A-Za-z_]func123\n|^func123\n
 で該当行の検索はできますが、func123が選択されるわけではないので
 置換しようとすると更にタグ付き正規表現が必要になります。

[ ]
RE:02203 疑問&提案&色々(^^;No.02210
秀丸担当 さん 98/12/14 17:37
 
>1.ウインドウを分割しているとフォーカスのない方には
> 「クリックした位置に必ず移動」が効かないのは何故?

やってみたところ、「クリックした位置に必ず移動」しませんでした。
バグです。

>2.「単語の検索」のチェックボックスだけが毎度々外れる
> のは何故?(不便なんですが(^^;)

うーむ、これは、仕様です。
なぜでしょう。

>3.Ctrl+Shift+→矢印の場合のカーソルの停止位置は
> Ctrl+→矢印の停止条件とは逆(英字系→記号系への変化)
> に出来るようにすると操作性が良くなると思うのですが(^^;

キー割り当てで単語右(サルネン風)を駆使するとある程度似た感じ
にできるかもしれません。

>4.一致しない行の検索(grep)が出来ると便利なんですが(^^;
> (コマンドのgrepの-vオプション相当)

うーむ、それはできません。
正規表現で、[^A]という使い方で一文字の否定はできます。

>5.正規表現に絞り込み指定が出来ると超便利だとおもいます(^^;
> 例:[A-Za-z_][0-9A-Za-z_]*\=func123

これはできませんが、タグ付き正規表現は現在β版を公開中の
カラーバージョン秀丸でできます。

いずれも要望リストに入れておきます。


[ ]
RE:02210 疑問&提案&色々(^^;No.02215
Arimac さん 98/12/14 22:18
 
素早いご回答ありがとうございます(^^;

>>1.ウインドウを分割しているとフォーカスのない方には
>> 「クリックした位置に必ず移動」が効かないのは何故?
>
>やってみたところ、「クリックした位置に必ず移動」しませんでした。
>バグです。

聞いてみるものですね(^^;

>>3.Ctrl+Shift+→矢印の場合のカーソルの停止位置は
>> Ctrl+→矢印の停止条件とは逆(英字系→記号系への変化)
>> に出来るようにすると操作性が良くなると思うのですが(^^;
>
>キー割り当てで単語右(サルネン風)を駆使するとある程度似た感じ
>にできるかもしれません。

 CtrlとShiftのチェックをOnにすると矢印キーの設定も
出来るようになるのは気づいてませんでした(^^;
 単語右(サルネン風)を割り当ててみましたが、Shiftキーが
押されているにも関わらず範囲が選択されないのが変&不便ですね(^^;

>>5.正規表現に絞り込み指定が出来ると超便利だとおもいます(^^;
>> 例:[A-Za-z_][0-9A-Za-z_]*\=func123
>
>これはできませんが、タグ付き正規表現は現在β版を公開中の
>カラーバージョン秀丸でできます。

 同等の正規表現を考えてみましたが、うまく働きませんでした。
これ> (^|[^A-Za-z_])func123([^0-9A-Za-z_]|$)
次の2行はマッチしますが、
 func123
 func123
次の行はマッチしません。
func123
どうも、()の中にある「^」が働いてないようです。

>いずれも要望リストに入れておきます。

ありがとうございます。
期待してます(^^;

[ ]
RE:02210 疑問&提案&色々(^^;No.02216
EXZS さん 98/12/14 23:21
 

 相乗りですみません。EXZSといいます。

>>2.「単語の検索」のチェックボックスだけが毎度々外れる
>> のは何故?(不便なんですが(^^;)
>
>うーむ、これは、仕様です。
>なぜでしょう。
>

 検索のダイアログとgrepのダイアログで「単語の検索」のチェック
 がはずれるのですが、これは意図的な仕様なのでしょうか?

 といいますのも、下のβの掲示板でも秀まるおさんにお伺いしたのですが
 どうも「単語の検索」を行った場合に単語ではないものまでヒットする
 のです。

 例としては 検索語「DATA」、単語の検索で 「txd1DATA」などが
 ヒットします。単語の範囲ってダブルクリックでヒットするところまで
 だと考えているのですが。

 で、愚考したのが「単語の検索」のチェックが検索ルーチンに正常に
 わたっていないのでは? と考えたのが上の質問です。

 他にもgerpで「検索文字列」を変更しているにもかかわらず
 前回の文字列を検索すること(これはなかなか再現しない)
 「検索するファイル名」が前回検索した内容を記憶していない。
 (記憶していないどころかその前のフィルタで検索している)
 などが発生してます。

 現在、メインで使用してるのはβ5なのですが、以前のバージョンでも
 このような傾向が出ている気がするのですが……。

 以上、お手数ですがよろしくお願いします。



[ ]
RE:02215 疑問&提案&色々(^^;No.02222
Arimac さん 98/12/15 21:12
 
自己レスです(^^;

> 同等の正規表現を考えてみましたが、うまく働きませんでした。
>これ> (^|[^A-Za-z_])func123([^0-9A-Za-z_]|$)
>次の2行はマッチしますが、
> func123
> func123
>次の行はマッチしません。
>func123
>どうも、()の中にある「^」が働いてないようです。

 Solarisの正規表現の説明を読んだら「^」と「$」は
正規表現全体の最初と最後の位置にあるときだけ
特殊な意味を持つと書いてありました。
 JRE32.DLLもUnixと同じようにしているんでしょうね。
 メモリやCPU性能に制約の多かった時代の
セコイ制限の様な気がします(^^;
 でも、秀丸エディタだと
  (\n|[^A-Za-z_])func123[^0-9A-Za-z_]
 で、検索出来るようなので、まあいいかというような
ところです(^^;

[ ]
RE:02216 疑問&提案&色々(^^;No.02224
秀丸担当 さん 98/12/16 18:25
 
> 検索のダイアログとgrepのダイアログで「単語の検索」のチェック
> がはずれるのですが、これは意図的な仕様なのでしょうか?

はい。前のコメントの通り、仕様です。
もしかしたらカラー版のほうでチェックがはずれないように
変えるかもしれません。

> 例としては 検索語「DATA」、単語の検索で 「txd1DATA」などが
> ヒットします。単語の範囲ってダブルクリックでヒットするところまで
> だと考えているのですが。

「txdDATA」だとヒットしないので、単語の判定方法が違うのだと
思います。

[ ]
RE:02224 疑問&提案&色々(^^;No.02229
Arimac さん 98/12/16 20:56
 
>> 例としては 検索語「DATA」、単語の検索で 「txd1DATA」などが
>> ヒットします。単語の範囲ってダブルクリックでヒットするところまで
>> だと考えているのですが。
>
>「txdDATA」だとヒットしないので、単語の判定方法が違うのだと
>思います。

 ヘルプには「単語の検索」はアルファベットの検索と書いてあるので
たぶん「(^|[^A-Za-z])単語([^A-Za-z]|$)」相当の検索を行っているのでしょう。
つまり「txd1DATA」だと「1」を単語から除外して検索しているわけです。
 ヘルプの例では変数の検索に使えるような事が書いてありますが、
先頭以外の数字も単語の一部として扱ってくれないと変数の検索には
使えないので、ヘルプの例は不適切であるばかりか勘違いを引き起こして
しまいます。
 むしろ秀丸エディタの使用者にはソフト開発を用途としている人も
多いと思われるので、変数(識別子)の検索も出来るようにする方が
良い解決策と考えます(^^;

[ ]
RE:02224 疑問&提案&色々(^^;No.02230
EXZS さん 98/12/17 00:00
 

>はい。前のコメントの通り、仕様です。

 「なして?」などと思ったりして……。

>「txdDATA」だとヒットしないので、単語の判定方法が違うのだと
>思います。

 これのレスでArimacさんが解説いただきましてなんとなく
 理解しました。が、出来ましたら[_0-9A-Za-z]ぐらいの単語の
 判定も加えて頂きたいところです。

 後、下のβの部屋で秀まるおさんにうかがったのですが、

>> ・grepにて前回の実行した検索文字が延々と残ってしまうことがあった。

> たぶん、その辺のバグはモノクロ秀丸と同じではないかと思いますが、もし、昔の
>秀丸で経験したことのないバグで、またカラー版でも起きるとすれば、そのこと(カ
>ラー版固有のバグであること)がヒントになると思います。

 とのことですが、この症状って確認されているのでしょうか?
 最近のこのフォーラムにはなかったように記憶しているのですが、
 過去の分を探すにはさすがに2000は辛い……

[ ]
RE:02229 疑問&提案&色々(^^;No.02233
EXZS さん 98/12/17 00:47
 
>>> 例としては 検索語「DATA」、単語の検索で 「txd1DATA」などが
>>> ヒットします。単語の範囲ってダブルクリックでヒットするところまで
>>> だと考えているのですが。
>>
>>「txdDATA」だとヒットしないので、単語の判定方法が違うのだと
>>思います。
>
> ヘルプには「単語の検索」はアルファベットの検索と書いてあるので
>たぶん「(^|[^A-Za-z])単語([^A-Za-z]|$)」相当の検索を行っているのでしょう。
>つまり「txd1DATA」だと「1」を単語から除外して検索しているわけです。
> ヘルプの例では変数の検索に使えるような事が書いてありますが、
>先頭以外の数字も単語の一部として扱ってくれないと変数の検索には
>使えないので、ヘルプの例は不適切であるばかりか勘違いを引き起こして
>しまいます。
> むしろ秀丸エディタの使用者にはソフト開発を用途としている人も
>多いと思われるので、変数(識別子)の検索も出来るようにする方が
>良い解決策と考えます(^^;

 どうも、丁寧な解説ありがとうございます。

 ご指摘の様にアルファベット以外のところで区切られるようです。
 ちなみにこの後ヘルプをよく読むと……

>> アルファベットを検索する場合に,そのアルファベットが単語の
>>一部の場合はマッチさせたくない場合にONにします。英単語のみを
>>検索したい場合は正規表現の「¥w」を使用してください。

 とありますが、\w自身はアルファベット+_ なのでどちらにしろ
 目的の結果を得られなさそう。
 プログラムを組む時、変数をgrepするのは頻繁に行いますので
 おっしゃる通りなるべく単純明快な方法のほうが嬉しいです。

 



[ ]
RE:02230 疑問&提案&色々(^^;No.02251
秀丸担当 さん 98/12/21 18:09
 
>>> ・grepにて前回の実行した検索文字が延々と残ってしまうことがあった。
>
>> たぶん、その辺のバグはモノクロ秀丸と同じではないかと思いますが、もし、昔の
>>秀丸で経験したことのないバグで、またカラー版でも起きるとすれば、そのこと(カ
>>ラー版固有のバグであること)がヒントになると思います。
>
> とのことですが、この症状って確認されているのでしょうか?
> 最近のこのフォーラムにはなかったように記憶しているのですが、
> 過去の分を探すにはさすがに2000は辛い……

Windows98でgrepがおかしいという報告がありました。
動作環境のユーザーインターフェースのダイアログの種類で、
grepのダイアログを新タイプにすると、Windows98で起きる
問題は解決されます。
Windows98で起きる問題でない場合は関係ありません。

単語の検索は何かもともとバグがあったようです。

[ ]