TSV/CSVモードでの検索文字列がある行No.38067
hawk-eye さん 20/03/19 06:43
 
Windows 10 Pro (64ビット版)
秀丸エディタ Version 8.91 (64ビット版) 使用

TSV/CSVモードでの検索文字列ですが、
ウインドウの外側に検索文字列がある場合、
例え現在表示されている行に検索文字列があっても
その場所まで横スクロールしないと分かりません。

行番号の色、あるいは行全体の色などで、
検索文字列がある行を簡単に見分けられるようにできないでしょうか?

以上

[ ]
RE:38067 TSV/CSVモードでの検索文字列がNo.38068
秀丸担当 さん 20/03/19 09:51
 

検索文字列にヒットするものが存在するかどうかは、一応スクロールバーに表示させ
る方法や、アウトライン解析の枠に表示する方法などがあります。
スクロールバーの場合は、検索ダイアログの「すべて検索」ボタンの「スクロール
バーにマップ」をONにしておくと表示されます。
アウトライン解析の枠の場合は、アウトライン解析の枠を右クリックして「検索文字
列を含む見出しを強調」をONにしておくと色が付いて存在がわかります。

本文があるテキスト部分に限定のことでは、検索文字列の強調しかないです。
現状でなんとかするとしたら、カラーマーカーを付ける方法などがあります。

例えば、検索ダイアログで「すべて検索 - 複数選択」をします。
次に、キー割り当てなどをした「行の選択」コマンドを実行します。
次に、カラーマーカーを付けるコマンドとして、「一時的なカラーマーカーを付け
る」コマンドがありますが、ここでは敢えて「複数選択予約」コマンドを実行します。
「複数選択予約」は、本来は複数選択のための機能ですが、簡単にEscで消せるので、
検索文字列の強調に近い感じで使えると思います。

マクロにすると以下のような感じになります。
setcompatiblemode 0x00100000;//複数選択対応
selectallfound;
selectline 1;
reservemultisel;
endmacro;

[ ]
RE:38068 TSV/CSVモードでの検索文字列がNo.38069
hawk-eye さん 20/03/19 11:41
 
マクロでやるのが求めているものに一番近かったです。
ありがとうございました。

本マクロで試していて疑問に思ったのですが、
一時的なカラーマーカーで色付けされた行全体を切り取って貼り付けると、
その行の一時的なカラーマーカーの色が消えているのですけど、
これは仕様でしょうか?

個人的には、
・一時的なカラーマーカーで色付けされた行全体
・一時的なカラーマーカーで色付けされた文字列
は、切り取りやコピーをして貼り付けた場合でも、
あるいはTSV/CSVモードでソートした場合でも、
一時的なカラーマーカーの色付けも引き継いで欲しかったです。

[ ]
RE:38069 TSV/CSVモードでの検索文字列がNo.38070
秀丸担当 さん 20/03/19 12:49
 

コピー貼り付けで、カラーマーカーや複数選択予約の情報が貼り付けられないのは、
そういう仕様ということになります。すみません。

もし検索目的の文字列そのものの場所はわからなくてよくて、行さえわかればいいと
いうことであれば、正規表現で行頭からマッチするようにするといいです。
「あいう」が検索目的だとして、正規表現をONにして「^.*あいう」で検索すると、
行頭から強調されるようになって、貼り付けても強調されるようになります。

[ ]