「
カッコで囲う
」を編集中 (節単位)
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
=== マルチカーソル/複数選択範囲への対応 === <span style="color:#c00;">Mery Ver '''3.0.1''' 以降</span> のマルチカーソル(複数のキャレットを置いた状態)や複数選択範囲のそれぞれにたいして、マクロを連続的に実行します (※ Ver 3.0.0 はサポート外)。 * 「カッコで囲う (ポップアップメニュー あり/なし)」マクロは、基本的にそれぞれの選択範囲ごとに一組のカッコで囲います。 : ※ 「Wiki用マークアップ」の各コマンドは、選択範囲内の各行ごとに囲います。 : ※ 「任意の文字列/文字数」系のコマンドでは、1回だけ入力ダイアログが表示され、指定した内容ですべての選択範囲または選択範囲内の各行を処理します。 * 「引用符を追加/削除」マクロは、設定項目 <code>multiLine</code> の true/false で指定された動作ですべての選択範囲を処理します。 : ※ "引用符" で囲った文字列と囲っていない文字列をそれぞれ範囲選択して実行すると、"引用符" で囲われた選択範囲では「削除」、囲われていない選択範囲では「追加」の動作をします。 : ※ 連続実行での「追加/削除」のトグル動作可。 * 「カッコで囲う2」マクロは、それぞれの選択範囲内の各行ごとにカッコで囲います。 : ※ 同一論理行内の複数の選択範囲は、それぞれを「ひとつの行」として扱います。 * Mery Ver 3.0.x ~ での矩形選択範囲にたいしては、「選択範囲を行に分け」て、選択範囲内の各行ごとに処理を実行します。 : ※ 同一論理行内の折り返しにたいしては「選択範囲を行に分ける」処理が正常になされません。 : ※ Mery Ver 2.x での矩形選択範囲にたいしては、正常に処理できません。 <!-- === GetKeyState.exe の活用 === [[GetKeyState.exe(キー状態取得実行ファイル)|GetKeyState.exe]] を活用して、「カッコで囲う (ポップアップメニュー)」マクロなら '''カッコの前後に半角空白をつける'''、「引用符を追加/削除」マクロなら '''引用符ではなく「半角空白を追加/削除」する''' というようなカスタマイズができるとおもいます。 * GetKeyState.exe の導入の仕方や使い方、注意事項などについては「[[GetKeyState.exe(キー状態取得実行ファイル)]]」のページを参照してください。 * 以下のサンプルコード(sukemaru 自家用版まま)では Mery インストールフォルダ内の Macros フォルダに GetKeyState.exe を配置している想定です。 ;「カッコで囲う(ポップアップメニューあり)」のカスタマイズ例 ソースコード内の <syntaxhighlight lang="javascript" inline>// IDごとのテキスト変換処理</syntaxhighlight> の行の '''上''' に以下のコードを挿入すると、Ctrl キーを押しながらカッコを選択した場合にはカッコの内側に半角空白がひとつずつ追加されます。 「半角空白で囲んでからカッコで囲う」操作が1回でできますし、ソースコードの配列やメニュー項目、<code>case xx:</code> への差分の追加の必要がなくなります。 <syntaxhighlight lang="javascript"> // Ctrl キーを押しながらカッコを選択したときは、カッコの内側に半角空白を追加する var $Ctrl = function() { var gks = editor.FullName.replace( /[^\\]+$/, "Macros\\GetKeyState.exe" ); return ( new ActiveXObject( "Scripting.FileSystemObject" ).FileExists( gks ) && new ActiveXObject( "WScript.Shell" ).Run( '"' + gks + '" ctrl', 0, true ) === 1 ); } if ( r < 1030 && $Ctrl() ) { p1[r] = p1[r] + " "; // 開きカッコの後ろに半角空白を追加 p2[r] = " " + p2[r]; // 閉じカッコの前に半角空白を追加 } </syntaxhighlight> ;「引用符を追加/削除」のカスタマイズ例 ソースコード内の <syntaxhighlight lang="javascript" inline>// ---------- ▲ 設定項目 ▲ ----------</syntaxhighlight> の行の '''下''' に以下のコードを挿入すると、Ctrl キーを押しながら実行した場合には設定項目で指定した 「"引用符" の追加/削除」 ではなく「半角空白を追加/削除」になります。 <code>pre = "hoge";</code> <code>sur = "fuga";</code> の部分は1文字ずつではない任意の長さの文字列や記号、HTML タグなども指定できます(改行 <code>"\n"</code> を含む文字列は不可)。 <syntaxhighlight lang="javascript"> // Ctrl キーを押しながらマクロを実行したときは、引用符ではなく半角空白を追加/削除する var gks = editor.FullName.replace( /[^\\]+$/, "Macros\\GetKeyState.exe" ); if ( new ActiveXObject( "Scripting.FileSystemObject" ).FileExists( gks ) && new ActiveXObject( "WScript.Shell" ).Run( '"' + gks + '" ctrl', 0, true ) === 1 ) { pre = " "; // 半角空白 sur = " "; // 半角空白 } </syntaxhighlight> -->
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク