「キーアサイン集」の版間の差分
ナビゲーションに移動
検索に移動
ページの作成:「= 概要 = キーアサイン集です.<br> 「従来動作+α」または「別エディタの動作を模倣」を基本とします.<br> 他に良いと思わ...」 |
編集の要約なし |
||
| 202行目: | 202行目: | ||
* インデントがある場合はインデント位置に移動する | * インデントがある場合はインデント位置に移動する | ||
* インデント位置で実行した場合は行頭に移動する | * インデント位置で実行した場合は行頭に移動する | ||
コード:[[ | コード:[[行頭に移動]] | ||
== 日付と時刻を挿入 == | == 日付と時刻を挿入 == | ||
* 推奨割当「F5」 | * 推奨割当「F5」 | ||
* メモ帳の「日付と時刻」機能 | * メモ帳の「日付と時刻」機能 | ||
コード:[[ | コード:[[日付と時刻を挿入]] | ||
= ご意見・ご要望 = | = ご意見・ご要望 = | ||
何かありましたら,右の [編集] から追記してください.対応するもかしれません. | 何かありましたら,右の [編集] から追記してください.対応するもかしれません. | ||
2013年3月10日 (日) 20:35時点における版
概要
キーアサイン集です.
「従来動作+α」または「別エディタの動作を模倣」を基本とします.
他に良いと思われるキーアサインがあれば是非ご投稿ください.
キーアサイン
バックスペース
- 割当「Ctrl + Backspace」
- 通常のバックスペース処理をする(通常は0x007F のコードが挿入される)
var sel = Editor.ActiveDocument.Selection;
if (sel.IsEmpty) {
sel.DeleteLeft(1);
} else {
sel.Delete();
}
コピー
- 推奨割当「Ctrl + C」
- 非選択状態時にコピーがされないようにする(通常は行コピー)
if (!Document.Selection.isEmpty) {
Document.Selection.Copy(meCopyUnicode);
}
切り取り
- 推奨割当「Ctrl + X」
- 非選択状態時に切り取りがされないようにする(通常は行切り取り)
if (!Document.Selection.isEmpty) {
Document.Selection.Cut();
}
↑(カーソルの上キー)
- 割当「UP」
- 先頭行で実行時に行頭にカーソルを移動(通常は移動しない)
- 先頭行以外では通常のカーソル上移動
var sel = Document.Selection;
if (sel.GetActivePointY(mePosView) > 1) {
sel.LineUp();
} else {
sel.SetActivePoint(mePosLogical, 1, 1);
}
↓(カーソルの下キー)
- 割当「DOWN」
- 最終行で実行時に行末にカーソルを移動(通常は移動しない)
- 最終行以外では通常のカーソル下移動
var sel = Document.Selection;
if (sel.GetActivePointY(mePosView) < Document.GetLines(meGetLineView)) {
sel.LineDown();
} else {
sel.EndOfDocument();
}
上書き保存
- 推奨割当「Ctrl + S」
- UAC が必要なときには権限昇格をして保存
コード:上書き保存(UAC対応)
元に戻す
- 推奨割当「Ctrl + Z」
- 「元に戻す」実行時に,保存済みファイルと同じ内容のとき「変更マーク」を消す
- 速度が気になる場合はサイズ制限の値を変更してください
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;
};
やり直し
- 推奨割当「Ctrl + Y」
- 「やり直し」実行時に,保存済みファイルと同じ内容のとき「変更マーク」を消す
- 速度が気になる場合はサイズ制限の値を変更してください
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;
};
すべて選択
- 推奨割当「Ctrl + A」
- 全て選択時にスクロール位置を移動しない(通常は最終行に移動)
var sx = ScrollX;
var sy = ScrollY;
Document.Selection.SelectAll();
ScrollX = sx;
ScrollY = sy;
逆インデント
- 推奨割当「Shift + Tab」
- 複数行選択でない場合も逆インデントを実行(通常はタブ挿入)
コード:非選択状態でも逆インデント
または下記コード
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();
}
インデント対応 Home
- 推奨割当「Home」「Shift + Home」
- インデントがある場合はインデント位置に移動する
- インデント位置で実行した場合は行頭に移動する
コード:行頭に移動
日付と時刻を挿入
- 推奨割当「F5」
- メモ帳の「日付と時刻」機能
コード:日付と時刻を挿入
ご意見・ご要望
何かありましたら,右の [編集] から追記してください.対応するもかしれません.
スポンサーリンク