「オフインデント」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
編集の要約なし |
||
| 17行目: | 17行目: | ||
ツール - オプション - キーボード の マクロ で Shift+Enter に割り当て。 | ツール - オプション - キーボード の マクロ で Shift+Enter に割り当て。 | ||
</pre> | </pre> | ||
<source lang="javascript"> | <source lang="javascript"> | ||
| 24行目: | 22行目: | ||
// オフインデント(Shift+Enter) | // オフインデント(Shift+Enter) | ||
// | // | ||
// revised inuuik | // revised inuuik 2014-01-27 | ||
// - ------------------------ -------------------------------------------------- | // - ------------------------ -------------------------------------------------- | ||
{ | { | ||
var s = document.selection; | var s = document.selection; | ||
Redraw = false; | var y = s.GetActivePointY(mePosView); | ||
if (!s.OverwriteMode || y === document.GetLines(meGetLineView)) { | |||
// 挿入モードか、カーソルが最終行にある上書きモードなら、 | |||
// 現在行の下にカーソル桁位置以降の文字列を含む新しい行を挿入 | |||
// 冗長でない記述 | |||
// document.Write("\n"); // これを使うなら下の冗長な記述はいらない… | |||
// 冗長な記述ここから↓ | |||
Redraw = false; | |||
s.NewLine(1); | |||
// インデントによる行頭空白文字を削除 | |||
s.StartOfLine(true, mePosLogical); | |||
if (!s.IsEmpty) { | |||
s.Text = ""; | |||
} | |||
Redraw = true; | |||
// 冗長な記述ここまで↑ | |||
} | |||
// 上書きモードでカーソルが最終行になければ、 | |||
// 現在行の下の行頭にカーソル桁位置を移動 | |||
else { | |||
s.EndOfLine(!s.IsEmpty, mePosView); | |||
s.CharRight(!s.IsEmpty, 1); | |||
} | } | ||
} | } | ||
// - ------------------------ -------------------------------------------------- | // - ------------------------ -------------------------------------------------- | ||
</source> | </source> | ||
2014年1月27日 (月) 14:11時点における版
Mery エディタ マクロ: オフインデント ( inuuik )
インデントをはずす(オフ・インデント) 「自動インデントを有効にする」にしているときに、 Shift キーを押しながら Enter キーを押す(Shift+Enter)と、 インデントをしないで次の行頭にカーソルが移動するマクロ。 その行だけのインデントはずしで、自動インデントは有効のまま。 あとの行でインデントしたときは、つぎに Enter を押すと、 その次の行頭がインデントされる。 オフインデント(Shift+Enter).js 下の内容を、上の名前のファイルにして、My Macros に置く。 そこから Mery で開いて、マクロ - これを選択、 ツール - オプション - キーボード の マクロ で Shift+Enter に割り当て。
// - ------------------------ --------------------------------------------------
// オフインデント(Shift+Enter)
//
// revised inuuik 2014-01-27
// - ------------------------ --------------------------------------------------
{
var s = document.selection;
var y = s.GetActivePointY(mePosView);
if (!s.OverwriteMode || y === document.GetLines(meGetLineView)) {
// 挿入モードか、カーソルが最終行にある上書きモードなら、
// 現在行の下にカーソル桁位置以降の文字列を含む新しい行を挿入
// 冗長でない記述
// document.Write("\n"); // これを使うなら下の冗長な記述はいらない…
// 冗長な記述ここから↓
Redraw = false;
s.NewLine(1);
// インデントによる行頭空白文字を削除
s.StartOfLine(true, mePosLogical);
if (!s.IsEmpty) {
s.Text = "";
}
Redraw = true;
// 冗長な記述ここまで↑
}
// 上書きモードでカーソルが最終行になければ、
// 現在行の下の行頭にカーソル桁位置を移動
else {
s.EndOfLine(!s.IsEmpty, mePosView);
s.CharRight(!s.IsEmpty, 1);
}
}
// - ------------------------ --------------------------------------------------
スポンサーリンク