「字下げ・字上げ」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
Masme (トーク | 投稿記録)
ページの作成:「論理行単位で字下げ・字上げ (インデント・アンインデント) します。<br> インデントには任意の文字列を設定できます。※初...」
 
Masme (トーク | 投稿記録)
目次を撤去
1行目: 1行目:
論理行単位で字下げ・字上げ (インデント・アンインデント) します。<br>
論理行単位で字下げ・字上げします。<br>
インデントには任意の文字列を設定できます。※初期設定は半角空白2個です。
インデントには任意の文字列を設定できます。※初期設定は半角空白2個です。


[[ファイル:Indent-Unindent.png]]
[[ファイル:Indent-Unindent.png]]
<div>__TOC__</div>


=字下げ (インデント)=
=字下げ (インデント)=

2014年6月17日 (火) 22:28時点における版

論理行単位で字下げ・字上げします。
インデントには任意の文字列を設定できます。※初期設定は半角空白2個です。

字下げ (インデント)

  • 複数行選択時 (選択範囲が2行以上) は、字下げします。
    単一行選択時 (選択範囲が1行以内) または非選択時は、タブ文字を挿入します。
    ※選択範囲の行数は、ステータスバーの「xx文字 (xx行) 選択」の部分で判断してください。
  • 空行 (改行のみの行) は字下げされません。
  • 「Tab」キーなどに割り当ててご利用ください。
//■字下げ(インデント)
// 2014/02/09
//・論理行単位で字下げする。空行は字下げしない。非選択時/単行選択時はタブ挿入。

//■インデントの定義 ●初期値="  " (半角空白2個)
var $indent = "  ";

with (Document.Selection) {
  var ty = GetTopPointY(mePosView);
  var by = GetBottomPointY(mePosView);
  if (ty==by) {Text="\t"; Quit();} //非選択時/単行選択時はタブ挿入して終了
  
  var meP = mePosLogical;
  var ty = GetTopPointY(meP);
  var by = GetBottomPointY(meP);
  var bx = GetBottomPointX(meP);
  if (ty!=by && bx==1) by--;	//行選択時、次行を含めないよう対策
  SetActivePoint(meP, 1, by+1);
  SetAnchorPoint(meP, 1, ty);
  Text = Text.replace(/^(?!$)/gm,$indent); //(空行を除く)行頭にインデントを付加
  SetActivePoint(meP, 1, by+1);
  SetAnchorPoint(meP, 1, ty);
}

字上げ (アンインデント)

  • 単一行選択時 (選択範囲が1行以内) または非選択時でも、字上げします。
  • 「Shift + Tab」キーなどに割り当ててご利用ください。
//■字上げ(アンインデント)
// 2014/02/09
//・論理行単位で字上げする。非選択時/単行選択時でも字上げする。

//■インデントの定義 ●初期値="  " (半角空白2個)
var $indent = "  ";

with (Document.Selection) {
  var meP = mePosLogical;
  var ty = GetTopPointY(meP);
  var by = GetBottomPointY(meP);
  var bx = GetBottomPointX(meP);
  if (ty!=by && bx==1) by--;	//行選択時、次行を含めないよう対策
  SetActivePoint(meP, 1, by+1);
  SetAnchorPoint(meP, 1, ty);
  Text = Text.replace(new RegExp("^"+$indent,"gm"),""); //行頭のインデントを削除
  SetActivePoint(meP, 1, by+1);
  SetAnchorPoint(meP, 1, ty);
}
スポンサーリンク