「
キーアサイン集
」を編集中
2014年2月3日 (月) 07:54時点における
Masme
(
トーク
|
投稿記録
)
による版
(「Ctrl+Shift」を「Shift+Ctrl」に(Meryのキー表記に合わせた))
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
キーアサイン集です.<br> 「従来動作+α」または「別エディタの動作を模倣」を基本とします.<br> 他に良いと思われるキーアサインがあれば是非ご投稿ください. <div>__TOC__</div> = キーアサイン = == バックスペース == * 推奨割当「Ctrl + BackSpace」 * 通常のバックスペース処理をする(※通常は 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"> with (Document.Selection) { if (IsEmpty) SelectLine(); //非選択時、行選択 ClipboardData.SetData(ClipboardData.GetData() + Text); Delete(); } </source> == 追加コピー == * 割当例「Shift + Ctrl + C」など * クリップボードに追加するコピー <source lang="javascript"> with (Document.Selection) { var isE=IsEmpty, pos=GetActivePos(); //非選択時かを記憶, カーソル位置を記憶 if (IsEmpty) SelectLine(); //非選択時、行選択 ClipboardData.SetData(ClipboardData.GetData() + Text); if (isE) SetActivePos(pos,false); //非選択時だった場合カーソル位置を復元、範囲解除 } </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> == 括弧で挟む == * 割当例「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> == 日付と時刻 (メモ帳仕様) == * 推奨割当「F5」 * メモ帳の「日付と時刻」機能を再現 → マクロ「[[日付と時刻を挿入]]」 == 上書き保存 (UAC対応) == * 推奨割当「Ctrl + S」 * UAC が必要な場合は権限昇格して保存 → マクロ「[[上書き保存(UAC対応)]]」 == 元に戻す == * 推奨割当「Ctrl + Z」 * 「元に戻す」実行時に,保存済みファイルと同じ内容のとき「変更マーク」を消す * 速度が気になる場合はサイズ制限の値を変更してください <source lang="javascript"> var beforeText = Document.Text; Document.Undo(); if (beforeText == Document.Text) { Quit(); } // サイズ制限 if (Document.Text.length > 150 * 1024) { Quit(); } if (Document.FullName) { var charset = "_autodetect_all"; switch (Document.Encoding) { case meEncodingEUC: charset = "euc-JP"; break; case meEncodingShiftJIS: charset = "shift-jis"; break; case meEncodingUTF16LE: case meEncodingUTF16BE: charset = "unicode"; break; case meEncodingUTF7: charset = "utf-7"; break; case meEncodingUTF8WithSignature: case meEncodingUTF8WithoutSignature: charset = "utf-8"; break; } var s = LoadFromFile(Document.FullName, charset); if (s != null && Document.Text === s.replace(/\r\n?/g, "\n")) { Document.Saved = true; } } function LoadFromFile(path, charset) { var fso = new ActiveXObject("Scripting.FileSystemObject"); if (!fso.FileExists(path)) { return null; } if (!charset) { charset = "utf-8"; } var adodb = new ActiveXObject("ADODB.Stream"); adodb.Charset = charset; adodb.Type = 2; adodb.Open(); adodb.LoadFromFile(path); var text = adodb.ReadText(-1); adodb.Close(); return text; }; </source> == やり直し == * 推奨割当「Ctrl + Y」 * 「やり直し」実行時に,保存済みファイルと同じ内容のとき「変更マーク」を消す * 速度が気になる場合はサイズ制限の値を変更してください <source lang="javascript"> var beforeText = Document.Text; Document.Redo(); if (beforeText == Document.Text) { Quit(); } // サイズ制限 if (Document.Text.length > 150 * 1024) { Quit(); } if (Document.FullName) { var charset = "_autodetect_all"; switch (Document.Encoding) { case meEncodingEUC: charset = "euc-JP"; break; case meEncodingShiftJIS: charset = "shift-jis"; break; case meEncodingUTF16LE: case meEncodingUTF16BE: charset = "unicode"; break; case meEncodingUTF7: charset = "utf-7"; break; case meEncodingUTF8WithSignature: case meEncodingUTF8WithoutSignature: charset = "utf-8"; break; } var s = LoadFromFile(Document.FullName, charset); if (s != null && Document.Text === s.replace(/\r\n?/g, "\n")) { Document.Saved = true; } } function LoadFromFile(path, charset) { var fso = new ActiveXObject("Scripting.FileSystemObject"); if (!fso.FileExists(path)) { return null; } if (!charset) { charset = "utf-8"; } var adodb = new ActiveXObject("ADODB.Stream"); adodb.Charset = charset; adodb.Type = 2; adodb.Open(); adodb.LoadFromFile(path); var text = adodb.ReadText(-1); adodb.Close(); return text; }; </source> == 上移動 (先頭行では行頭へ) == * 推奨割当「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> == 行頭に移動 (インデント対応) == * 推奨割当「Home」「Shift + Home」 * インデントがある場合は、インデント位置に移動する * インデント位置で実行した場合は、行頭に移動する → マクロ「[[行頭に移動]]」 == 行頭まで選択 (論理行) == * 推奨割当「Shift + Home」 * 論理座標で行頭まで選択する(※通常は表示座標) <source lang="javascript"> Document.Selection.StartOfLine(true, mePosLogical); </source> == 行末まで選択 (論理行) == * 推奨割当「Shift + End」 * 論理座標で行末まで選択する(※通常は表示座標) <source lang="javascript"> Document.Selection.EndOfLine(true, mePosLogical); </source> = ご意見・ご要望 = 何かありましたら,右の [編集] から追記してください.対応するかもしれません.
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク