「
キーアサイン集
」を編集中
2015年12月29日 (火) 13:39時点における
Masme
(
トーク
|
投稿記録
)
による版
(「この文字列を検索」追加)
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
キーアサイン(キーボードの割り当て)集です.<br> 「従来動作+α」または「別エディタの動作を模倣」を基本とします.<br> 他に良いと思われるキーアサインがあれば是非ご投稿ください. <div>__TOC__</div> = 注意点 = * 「Alt + 矢印キー」は、開発環境の仕様制限により、キーを割り当てても動作しません。(参考フォーラム→ [http://www.haijin-boys.com/index.php?fuseaction=discussions.replies&discussion_id=2399 2013/12/23付] [http://www.haijin-boys.com/index.php?fuseaction=discussions.replies&discussion_id=1078 2010/01/20付]) = キーアサイン = == バックスペース == * 推奨割当「Ctrl + BackSpace」 * バックスペース処理をする(※通常は制御文字 DEL (0x007F) が挿入される) <source lang="javascript"> var sel = Editor.ActiveDocument.Selection; if (sel.IsEmpty) { sel.DeleteLeft(1); } else { sel.Delete(); } </source> == 強制改行 (インデント無効) == * 推奨割当「Shift + Enter」「Ctrl + Enter」 * 自動インデントを無視して改行する <source lang="javascript"> Document.Write("\n"); </source> == 切り取り (行切り取り無効) == * 推奨割当「Ctrl + X」「Shift + Delete」 * 非選択時にカーソル行(論理行)を切り取りしない(※通常は行切り取りする) <source lang="javascript"> if (Document.Selection.Text) Document.Selection.Cut(); </source> == コピー (行コピー無効) == * 推奨割当「Ctrl + C」「Ctrl + Insert」 * 非選択時にカーソル行(論理行)をコピーしない(※通常は行コピーする) <source lang="javascript"> if (Document.Selection.Text) Document.Selection.Copy(); </source> == コピー (行コピー時選択) == * 推奨割当「Ctrl + C」「Ctrl + Insert」 * 非選択時コピー(行コピー)時にコピーした範囲を選択する(※通常は範囲選択しない) <source lang="javascript"> Document.Selection.Copy(); if (Document.Selection.IsEmpty) Document.Selection.SelectLine(); </source> == すべて選択 (非スクロール) == * 推奨割当「Ctrl + A」 * すべて選択時にスクロールしない(※通常は文書の末尾までスクロールする) <source lang="javascript"> var sx = ScrollX, sy = ScrollY; //スクロール位置を記憶 Document.Selection.SelectAll(); ScrollX = sx; ScrollY = sy; //スクロール位置を復元 </source> == 追加切り取り == * 割当例「Shift + Ctrl + X」など * クリップボードに追加する切り取り <source lang="javascript"> var cb = ClipboardData.GetData(); Document.Selection.Cut(); ClipboardData.SetData(cb + ClipboardData.GetData()); </source> == 追加コピー == * 割当例「Shift + Ctrl + C」など * クリップボードに追加するコピー <source lang="javascript"> var cb = ClipboardData.GetData(); Document.Selection.Copy(); ClipboardData.SetData(cb + ClipboardData.GetData()); </source> == 行を複製 == * 割当例「Ctrl + D」「Ctrl + Insert」など * カーソル行(論理行)を複製する <source lang="javascript"> Document.Selection.DuplicateLine(); </source> == 行を削除 == * 割当例「Ctrl + E」「Ctrl + Delete」など * カーソル行(論理行)を削除する <source lang="javascript"> Document.Selection.SelectLine(); Document.Selection.Delete(); </source> == 行頭まで/行末まで削除 == * 論理行の行頭/行末まで削除したい場合は <code>mePosView</code> を <code>mePosLogical</code> に書き換えてください * 割当例「Shift + BackSpace」など * カーソル位置から行頭(表示行)まで削除する <source lang="javascript"> with (Document.Selection) { SetAnchorPos(GetActivePos()); StartOfLine(true, mePosView); Delete(); } </source> * 割当例「Shift + Delete」など * カーソル位置から行末(表示行)まで削除する <source lang="javascript"> with (Document.Selection) { SetAnchorPos(GetActivePos()); EndOfLine(true, mePosView); Delete(); } </source> == 括弧で挟む == * 割当例「Ctrl + 8」「Ctrl + [ 」など * カーソル位置or選択範囲を指定の文字列で挟む <source lang="javascript"> var pre = "("; //前に付ける文字列 var sur = ")"; //後に付ける文字列 Document.Selection.Text = pre + Document.Selection.Text + sur; Document.Selection.CharLeft(false, sur.length); </source> == 逆インデント (単一行対応) == * 推奨割当「Shift + Tab」 * 複数行選択でない場合でも逆インデントする(※通常はタブ挿入) * 複数行選択でない場合は、カーソルの位置関係を維持します → マクロ「[[非選択状態でも逆インデント]]」 または下記のコード <source lang="javascript"> var sel = Document.Selection; if (sel.Text.indexOf("\n") < 0) { var x = sel.GetActivePointX(mePosLogical); var y = sel.GetActivePointY(mePosLogical); sel.SelectLine(); var n = sel.Text.length; sel.UnIndent(); sel.SetActivePoint(mePosLogical, x - (n - sel.Text.length), y); } else { sel.UnIndent(); } </source> * 位置関係を維持しない(行選択する)場合は下記のコード <source lang="javascript"> if (!/\n/.test(Document.Selection.Text)) Document.Selection.SelectLine(); Document.Selection.UnIndent(); </source> == 日付と時刻 (メモ帳仕様) == * 推奨割当「F5」 * メモ帳のように「時刻 日付」の順で現在日時を挿入(※通常は「日付 時刻」の順) → マクロ「[[日付と時刻を挿入]]」 または下記のコード <source lang="javascript"> Document.Selection.InsertDate(meDateTimeDate); </source> == 上書き保存 (UAC対応) == * 推奨割当「Ctrl + S」 * UAC が必要な場合は権限昇格して保存 → マクロ「[[上書き保存(UAC対応)]]」 == 元に戻す == * 推奨割当「Ctrl + Z」 * 「元に戻す」実行時に,保存済みファイルと同じ内容のとき「変更マーク」を消す * 速度が気になる場合はサイズ制限の値を変更してください → マクロ「[[少し便利な_Undo/Redo]]」 == やり直し == * 推奨割当「Ctrl + Y」 * 「やり直し」実行時に,保存済みファイルと同じ内容のとき「変更マーク」を消す * 速度が気になる場合はサイズ制限の値を変更してください → マクロ「[[少し便利な_Undo/Redo]]」 == 上移動 (先頭行では行頭へ) == * 推奨割当「Up (↑)」 * 上の行がそれ以上存在しない場合は、行頭(文書の先頭)に移動する(※通常は移動しない) <source lang="javascript"> var sel = Document.Selection; if (sel.GetActivePointY(mePosView) > 1) { sel.LineUp(); } else { sel.StartOfDocument(); } </source> == 下移動 (最終行では行末へ) == * 推奨割当「Down (↓)」 * 下の行がそれ以上存在しない場合は、行末(文書の末尾)に移動する(※通常は移動しない) <source lang="javascript"> var sel = Document.Selection; if (sel.GetActivePointY(mePosView) < Document.GetLines(meGetLineView)) { sel.LineDown(); } else { sel.EndOfDocument(); } </source> == 対応する括弧に移動 == * 割当例「Ctrl + [ 」「Ctrl + ] 」など * カーソル右側に括弧がある場合、対応する括弧に移動する → マクロ「[[対応する括弧に移動]]」 == 行頭に移動 (インデント対応) == * 推奨割当「Home」「Shift + Home」 * インデント位置<カーソル位置の場合は、インデント位置に移動する * カーソル位置≦インデント位置の場合は、行頭に移動する → マクロ「[[行頭に移動]]」 == 文書の1/4上に/下に移動 == * 割当例「Ctrl + PageUp」など * 総表示行数の1/4分、上に移動する(最低4回の移動で文書頭に到達) <source lang="javascript"> Redraw = false; Document.Selection.LineUp(false, (Document.GetLines()/4)); Redraw = true; </source> * 割当例「Ctrl + PageDown」など * 総表示行数の1/4分、下に移動する(最低4回の移動で文書末に到達) <source lang="javascript"> Redraw = false; Document.Selection.LineDown(false, (Document.GetLines()/4)); Redraw = true; </source> == 選択範囲の始点終点を交替 == * 選択範囲の始点と終点(カーソル位置)を入れ替える <source lang="javascript"> with (Document.Selection) { var anp = GetAnchorPos(); var acp = GetActivePos(); SetActivePos(anp); SetAnchorPos(acp); } </source> == この文字列を検索 == * 「次/前の文字列を検索」時に移動しない(※通常は次/前に移動する) * 範囲選択時は選択文字列で、非選択時は単語選択してから検索を実行します <source lang="javascript"> Redraw = false; with (Document.Selection) { if (IsEmpty) SelectWord(); var sx = ScrollX, sy = ScrollY, acp = GetActivePos(), anp = GetAnchorPos(); Find(Text, meFindReplaceCase + meFindNext + meFindAround); SetActivePos(acp); SetAnchorPos(anp); ScrollX = sx; ScrollY = sy; } Redraw = true; </source> = 標準の移動/選択操作 = カーソル移動や行頭/行末移動などは通常、キーアサインを変更することはできませんが、機能を再現したマクロにキーを割り当てることで実現できます。 * 範囲選択版は <code>false</code> を <code>true</code> に書き換えてください == 移動 - 上/下/左/右 == ;上移動 / 下移動 * 標準の割当「Up (↑)」/選択版の割当「Shift + Up (↑)」 <source lang="javascript"> Document.Selection.LineUp(false, 1); </source> * 標準の割当「Down (↓)」/選択版の割当「Shift + Down (↓)」 <source lang="javascript"> Document.Selection.LineDown(false, 1); </source> ;左移動 / 右移動 * 標準の割当「Left (←)」/選択版の割当「Shift + Left (←)」 <source lang="javascript"> Document.Selection.CharLeft(false, 1); </source> * 標準の割当「Right (→)」/選択版の割当「Shift + Right (→)」 <source lang="javascript"> Document.Selection.CharRight(false, 1); </source> == 移動 - 上頁/下頁/左単語/右単語 == ;1ページ上に移動 / 1ページ下に移動 * 標準の割当「PageUp」/選択版の割当「Shift + PageUp」 <source lang="javascript"> Document.Selection.PageUp(false, 1); </source> * 標準の割当「PageDown」/選択版の割当「Shift + PageDown」 <source lang="javascript"> Document.Selection.PageDown(false, 1); </source> ;左の単語に移動 / 右の単語に移動 * 標準の割当「Ctrl + Left (←)」/選択版の割当「Shift + Ctrl + Left (←)」 <source lang="javascript"> Document.Selection.WordLeft(false, 1); </source> * 標準の割当「Ctrl + Right (→)」/選択版の割当「Shift + Ctrl + Right (→)」 <source lang="javascript"> Document.Selection.WordRight(false, 1); </source> == 移動 - 行頭/行末/文書頭/文書末 == ;行頭に移動 / 行末に移動 (表示行) * 論理行の行頭/行末に移動したい場合は <code>mePosView</code> を <code>mePosLogical</code> に書き換えてください * 標準の割当「Home」/選択版の割当「Shift + Home」 <source lang="javascript"> Document.Selection.StartOfLine(false, mePosView); </source> * 標準の割当「End」/選択版の割当「Shift + End」 <source lang="javascript"> Document.Selection.EndOfLine(false, mePosView); </source> ;文書の先頭に移動 / 文書の末尾に移動 * 標準の割当「Ctrl + Home」/選択版の割当「Shift + Ctrl + Home」 <source lang="javascript"> Document.Selection.StartOfDocument(false); </source> * 標準の割当「Ctrl + End」/選択版の割当「Shift + Ctrl + End」 <source lang="javascript"> Document.Selection.EndOfDocument(false); </source> == 単語を選択 == * マウス操作「文字をダブルクリック」 * カーソル位置にある単語(連続する英数字/かな/カナ/漢字)を選択する <source lang="javascript"> Document.Selection.SelectWord(); </source> == 行を選択 (論理行/表示行) == * マウス操作「文字をトリプルクリック」 * カーソル行(論理行)を選択する(カーソルは次行行頭に移動) <source lang="javascript"> Document.Selection.SelectLine(); </source> * マウス操作「行番号をクリック」 * カーソル行(表示行)を選択する(カーソルは行頭に移動) <source lang="javascript"> with (Document.Selection) { EndOfLine(); if (Document.Text.charAt(GetActivePos())=="\n") SetAnchorPos(GetActivePos()+1); //行末が改行の場合、改行も含める StartOfLine(true); } </source> = ご意見・ご要望 = 何かありましたら,右の [編集] から追記してください.対応するかもしれません.
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク