「VSCode風、行頭/行末に移動」の版間の差分
リンクの追加 |
変数にvarの宣言を追加 |
||
| (同じ利用者による、間の4版が非表示) | |||
| 1行目: | 1行目: | ||
VSCode風の行頭、行末移動操作を再現しました(2021年7月時点のVSCode仕様に基づく)。 | |||
⚠ このマクロの動作は、[https://www.haijin-boys.com/software/mery/mery-3-6-0#17 Mery Ver 3.6.1] 以降で標準ショートカットの「行頭またはテキストの開始位置へ移動」(Homeキー) | ⚠ このマクロの動作は、[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; | ||
スポンサーリンク