「VSCode風、行頭/行末に移動」の版間の差分

MSY-07 (トーク | 投稿記録)
リンクの追加
MSY-07 (トーク | 投稿記録)
変数にvarの宣言を追加
 
(同じ利用者による、間の4版が非表示)
1行目: 1行目:
VSCode風の行頭、行末移動操作を再現しました(2021/07時点のVSCode仕様に基づく)。
VSCode風の行頭、行末移動操作を再現しました(2021年7月時点のVSCode仕様に基づく)。


⚠ このマクロの動作は、[https://www.haijin-boys.com/software/mery/mery-3-6-0#17 Mery Ver 3.6.1] 以降で標準ショートカットの「行頭またはテキストの開始位置へ移動」(Homeキー) および行末移動 (Endキー) の動作と変わりません。
⚠ このマクロの動作は、[https://www.haijin-boys.com/software/mery/mery-3-6-0#17 Mery Ver 3.6.1] 以降で標準ショートカットの「行頭またはテキストの開始位置へ移動」(Homeキー) および「行末へ移動」 (Endキー) の動作と変わりません。


デフォルトでは選択状態が外れ移動動作となるため、選択動作にしたい場合は先頭の shift 変数を false に設定してください。
デフォルトでは選択状態が外れ移動動作となるため、選択動作にしたい場合は先頭の shift 変数を false に設定してください。
8行目: 8行目:
* マルチカーソル対応
* マルチカーソル対応


== 行頭移動の動作 (Home) ==
== 動作説明 ==
=== 行頭移動の動作 (Home) ===
* 表示行で折り返し1行目にカーソルがある場合
* 表示行で折り返し1行目にカーソルがある場合
** インデント記号 (半角スペース、全角スペース、タブ記号) を意識した論理行頭移動を行う
** インデント記号 (半角スペース、全角スペース、タブ記号) を意識した論理行頭移動を行う
17行目: 18行目:
*** 表示行上の先頭に移動する
*** 表示行上の先頭に移動する


== 行末移動の動作 (End) ==
=== 行末移動の動作 (End) ===
* 最後の桁以外にカーソルがある場合
* 最後の桁以外にカーソルがある場合
** 表示行上で最後の桁に移動する
** 表示行上で最後の桁に移動する
25行目: 26行目:
== ソースコード ==
== ソースコード ==
=== 行頭移動の動作 (Home) ===
=== 行頭移動の動作 (Home) ===
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
#title = "行頭に移動"
#title = "行頭に移動"
Redraw = false;
Redraw = false;
86行目: 87行目:
   var slen = s.length;
   var slen = s.length;
   for (var j = 0; j < slen; j++) {
   for (var j = 0; j < slen; j++) {
     c = s.charAt(j);
     var c = s.charAt(j);
     if (indent.test(c)) i++;
     if (indent.test(c)) i++;
     else break;
     else break;
149行目: 150行目:


=== 行末移動の動作 (End) ===
=== 行末移動の動作 (End) ===
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
#title = "行末に移動"
#title = "行末に移動"
Redraw = false;
Redraw = false;
スポンサーリンク