「次/前の文字列を検索・改」の版間の差分

Sukemaru (トーク | 投稿記録)
更新:第4版
Sukemaru (トーク | 投稿記録)
不具合の修正
39行目: 39行目:
: ※ ジャンプした後も、「検索」ダイアログに検索文字列の履歴が残ります。
: ※ ジャンプした後も、「検索」ダイアログに検索文字列の履歴が残ります。
: ※ このマクロからは「検索」ダイアログのオプションフラグを取得できないので、設定項目 '''''[[#設定項目: hitCountEnable|hitCountEnable]]''' = <b style="color:#0000c0;">true</b>'' にする場合、ヒット件数は '''''matchCaseEnable''''' と '''''onlyWordEnable''''' の設定状態にしたがってカウントします。
: ※ このマクロからは「検索」ダイアログのオプションフラグを取得できないので、設定項目 '''''[[#設定項目: hitCountEnable|hitCountEnable]]''' = <b style="color:#0000c0;">true</b>'' にする場合、ヒット件数は '''''matchCaseEnable''''' と '''''onlyWordEnable''''' の設定状態にしたがってカウントします。
<br><div id="false">
<br><div id="false"></div>


* <b style="color:#c00;">false</b> なら、「検索」ダイアログのオプションフラグを一度リセットしてから「次/前の文字列を検索」と同様のジャンプを実行します。
* <b style="color:#c00;">false</b> なら、「検索」ダイアログのオプションフラグを一度リセットしてから「次/前の文字列を検索」と同様のジャンプを実行します。
103行目: 103行目:
==== 設定項目: ''multiLinesEnable'' ====
==== 設定項目: ''multiLinesEnable'' ====
'''選択範囲が改行をふくむ複数行のばあい'''でも「次/前の文字列を検索」と同様のジャンプを可能にするための独自オプションです (Mery 本体の機能として用意されている <syntaxhighlight lang="javascript" inline style="white-space:nowrap">Document.Selection.Find( str, meFindReplaceRegExp )</syntaxhighlight> メソッドを活用しているだけですが)。
'''選択範囲が改行をふくむ複数行のばあい'''でも「次/前の文字列を検索」と同様のジャンプを可能にするための独自オプションです (Mery 本体の機能として用意されている <syntaxhighlight lang="javascript" inline style="white-space:nowrap">Document.Selection.Find( str, meFindReplaceRegExp )</syntaxhighlight> メソッドを活用しているだけですが)。
: '''''multiLinesEnable''' = <b style="color:#0000c0;">true</b>'' でも選択範囲が改行をふくまない1行内(論理行)であれば、'''''optionEnable''' = <b style="color:#c00;">false</b>'' の [[#false|説明内容]] でジャンプを実行します。
<div class="warningbox">
<br>
'''''multiLinesEnable''' = <b style="color:#0000c0;">true</b>'' でも選択範囲が改行をふくまない1行内(論理行)であれば、'''''optionEnable''' = <b style="color:#c00;">false</b>'' の [[#false|説明内容]] でジャンプを実行します。
</div>
* <b style="color:#0000c0;">true</b> なら、選択範囲が複数行でも「次/前の文字列を検索」と同様のジャンプができます。
* <b style="color:#0000c0;">true</b> なら、選択範囲が複数行でも「次/前の文字列を検索」と同様のジャンプができます。
: ※ 選択範囲が改行記号をふくむ複数行の状態からジャンプしたばあいは、'''''highlightEnable''' = <b style="color:#0000c0;">true</b>'' であっても「検索文字列の強調表示」はされません(Mery 本体の仕様)。 また、Mery 本体の「自動マーカー」機能による強調表示もされません。
: ※ 選択範囲が改行記号をふくむ複数行の状態からジャンプしたばあいは、'''''highlightEnable''' = <b style="color:#0000c0;">true</b>'' であっても「検索文字列の強調表示」はされません(Mery 本体の仕様)。 また、Mery 本体の「自動マーカー」機能による強調表示もされません。
130行目: 131行目:
* 2019/12/01 - 2019/12/03(第3版)
* 2019/12/01 - 2019/12/03(第3版)
: 「単語のみ検索する」にも対応させた
: 「単語のみ検索する」にも対応させた
* 2020/05/11(第4版)
* 2020/05/11 - 2020/05/12(第4版)
: '''[https://www.haijin-boys.com/software/mery/mery-3-0-0#13 Mery ver 3.0.1]''' で追加されたマルチカーソル機能(と矩形選択)への 対応・回避処理 を追加
: '''[https://www.haijin-boys.com/software/mery/mery-3-0-0#13 Mery ver 3.0.1]''' で追加されたマルチカーソル機能(と矩形選択)への 対応・回避処理 を追加
: ※ Mery ver 2.x 上で実行したときの動作は 2019/12/03 版とおなじまま
: ※ Mery ver 2.x 上で実行したときの動作は 2019/12/03 版とおなじまま
: <span style="color:#c00;">※ 2020/05/12: コード修正</span>
<br>
<br>


154行目: 156行目:
  * ----------------------------------------------
  * ----------------------------------------------
  * 「次/前の文字列を検索・改」
  * 「次/前の文字列を検索・改」
  * sukemaru, (2018/07/19 - 2020/05/11)
  * sukemaru, (2018/07/19 - 2020/05/12)
  * https://www.haijin-boys.com/wiki/次/前の文字列を検索・改
  * https://www.haijin-boys.com/wiki/次/前の文字列を検索・改
  * ----------------------------------------------
  * ----------------------------------------------
237行目: 239行目:
var sy = ScrollY;
var sy = ScrollY;


var meModeStream, meModeBox, meModeMulti;
var meModeStream, meModeBox, meModeMulti, meFindKeepOptions;
var isSingleStream = ( ! meModeBox && ! meModeMulti );
var isSingleStream = ( ! meModeStream || s.Mode == meModeStream );


var direction  = /^(?:next|down|true|1)$/i.test( String( findNext ) )
var direction  = /^(?:next|down|true|1)$/i.test( String( findNext ) )
スポンサーリンク