「
キャレット位置の単語がデフォルトに設定されない検索コマンド
」を編集中
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
このマクロは[https://www.haijin-boys.com/software/mery/mery-2-6-6#5 Mery Ver 2.6.6]で追加された「検索ダイアログで [検索する文字列] の初期値を設定する」と同機能です。 == 概要 == 文字列が選択されていない状態で「Ctrl + F」を押すとキャレット位置の単語が選択された状態で検索ウィンドウが表示されますが、それを前回検索した文字列が選択された状態にして検索ウィンドウを表示するマクロです。 「Ctrl + F」キーに割り当ててお使いください。 == 動作 == このマクロは下記のように動作します。 # 文字列が選択されていない場合 #: 前回の検索文字列が入力されている状態で検索ウィンドウを表示 # 単一行内で文字列が選択されている場合 #: 選択した文字列が入力されている状態で検索ウィンドウを表示(Mery準拠) # 複数行に渡って文字列が選択されている場合 #: 選択文字列の開始位置の単語が設定されている状態で検索ウィンドウを表示(Mery準拠) == 注意事項 == * 副作用で1の場合に元に戻す(Redo)の履歴が消えます。 == 変更履歴 == * 1.0.0 (2018-05-25) ** 初版 == ソースコード == <syntaxhighlight lang="javascript" copy> #title = "キャレット位置の単語がデフォルトに設定されない検索コマンド" /** * 下記のように動作する検索コマンドです。 * 1. 文字列が選択されていない場合 * → 前回の検索文字列が入力されている状態で検索ウィンドウを表示 * 2. 単一行内で文字列が選択されている場合 * → 選択した文字列が入力されている状態で検索ウィンドウを表示(Mery準拠) * 3. 複数行に渡って文字列が選択されている場合 * → 選択文字列の開始位置の単語が設定されている状態で検索ウィンドウを表示(Mery準拠) * * 【注意点】 * ・副作用で1の場合に元に戻す(Redo)の履歴が消えます。 */ // 1. 文字列が選択されていない場合 if (document.selection.Text == "") { // 現在の変更状態を取得 var isSaved = document.Saved; // 現在のキャレット位置を保持 var pointX = document.selection.GetActivePointX(mePosLogical); var pointY = document.selection.GetActivePointY(mePosLogical); // 現在のキャレット位置に空行追加 // (キャレット前方に空白か改行がある状態で検索ウィンドウを開くと前回の検索文字列が入力されている動作を利用) document.selection.LineOpen(); // 検索ウィンドウを表示 editor.ExecuteCommandByID(2133); // 追加した空行を削除 document.Undo(); // キャレット位置を復元 document.selection.SetActivePoint(mePosLogical, pointX, pointY, false); // 変更状態を元に戻す document.Saved = isSaved; } // 2. 単一行内で文字列が選択されている場合 // 3. 複数行に渡って文字列が選択されている場合 else { // 検索ウィンドウを表示 editor.ExecuteCommandByID(2133); } </syntaxhighlight>
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク