2016-04-10 4 views
0

リジッドブロック(内線のインデントを変更しない)として、あるタブストップだけ左に領域を移動したいとします。リジッドブロックとしてのインデント解除

ここでは、関連するdocumentationからの引用だが、私は理解していない:

CxのTABこのコマンドは次のように影響を受けた行を移動し、地域で始まるすべての行 のインデントを変更するために使用されます「剛性」ユニット。

引数なしで呼び出された場合、コマンドは の一時的なモードを有効にして、影響を受けた行のインデントを対話的に調整します。 この過渡モードがアクティブな間は、LEFTまたはRIGHTインデントを左に 、右にそれぞれ1つのスペースをタイプすると入力します。 S-LEFTまたは S-RIGHTを入力すると、次のタブストップに左右にインデントすることもできます(タブ 停止を参照)。他のキーを入力すると、トランジェントモードが無効になり、 通常編集が再開されます。

一時的なモードが表示されません。リージョンを以前のタブストップに移動するにはどうすればよいですか?


Related answer, to un-indent by 4 spaces

+0

'Cxの'それはが – donkopotamus

+0

@donkopotamus 'Cxの' '良いです、その後はCh K '、' Cxの 'との結合あなたのキーをチェックし、おそらくそれからではない場合、通常インデント-rigidly' ...'にバインドされています - 私はインデント/インデント/インデントを探しています。その「C-h k」は素晴らしいヒントです - ありがとう。 – Hatshepsut

+1

正しくバインドされている場合、 'C-x 'は、 'tab-width'の前の倍数に割り当てるべきです。あなたの代わりに何が起こっていますか? – donkopotamus

答えて

1

この動作、過渡モードのは、Emacs 24.4で導入されました。この場合、提出者は24.3を実行していました。

Emacs 24.3では、indent-rigidlyは、「最も近いタブストップに移動」することはできません。代わりに、指定された文字数だけシフトするために使用することができます。

  • は7つの文字は3つの文字だけ右に領域にシフトする
  • C-u - 7 C-x <tab>を使用することにより、左使用C-u 3 C-x <tab>
+0

私の特別なケースでは、Emacs 24.3 – Hatshepsut

+0

おっと、脂肪が2回指を吹きました! – donkopotamus

1

私が思うあなたの目標に地域をシフトする:たとえば

「矩形演算」によっても達成できます。

テキストブロックを1つのタブストップで左に移動するには、左のタブの列を削除するだけで、テキストブロックが自動的に削除された長さだけ左に移動します。

そうする手順:

  1. はあなたが領域として削除したいコンテンツを選択します。領域の開始点と終了点は、矩形の2つの頂点になることに注意してください。
  2. issue \C-x r dまたはM-x delete-rectangleです。

テキストブロックを1つのタブストップで右に移動するには、テキストブロックの前にタブの列を挿入するだけです。

  1. 上記と同じ。しかし、矩形の幅は0になります(つまり、リージョンの開始点と終了点は同じ列にあります)。
  2. \C-x r t <TAB>またはM-x string-rectangleです。ここに挿入する内容は<TAB>です。それ以外のものでもかまいません。
関連する問題