質問

vi で大きなコード ブロックのインデントを増減する最も簡単な方法は何ですか?

役に立ちましたか?

解決

vim(これがあなたにも当てはまるかどうかわかりません)では、>>を使用して1行インデントします。 vimのほぼすべてのコマンドと同様に、実行するコマンドが複数回入力される前に数字を入力します。次の50行をインデントするには、50>>と入力します。

他のヒント

自動識別:

{ } ブロックの場合は、次のコマンドを使用します。 =iB (識別するためにブロック内にカーソルを置きます)

完全なファイルを再識別するには、次を使用します gg=G

ブロックの識別を増減するには、ブロックを選択する必要があります(私は ヴァイブ コマンド)そしてあなたはそうします >> または << 識別を繰り返したい場合は、ドットを使用してください .

また、忘れずに ID 設定を行ってください。

:set shiftwidth=NUMOFSPACES

そして

:set ソフトタブストップ=NUMOFSPACES

マークしてから、<!> gt;を使用します。および<!> lt;。

コードが中括弧の間にある場合は、カーソルを中括弧のいずれかに置き、>%または<%を使用します。

もう1つの便利なコマンドは、「<!> lt;」を使用してインデントするとまたは「<!> gt;」、「。」を使用希望する方法が揃うまでコマンドを繰り返します。

また、このヒントについては、 http://vim.wikia.com/ をご覧ください。ある種のもの。

デフォルトでは、挿入モードでは、Ctrl-TおよびCtrl-Dを使用して現在の行をデ/インテントできます。

vを押して視覚モードに入り、矢印を押してブロック全体を選択し、12 <!> gt; <!> gt;

2つの山括弧(<!> quot; <!> lt; <!> lt; <!> quot;または<!> quot; <!> gt; <!> gt; <!> quot; )shiftwidth文字による左または右の1行。これは、一般的な行範囲インジケータで行うことができます-<!> quot;:m、n <!> quot ;、中括弧/括弧/括弧のマッチングなど

または<!> quot; <!> lt; <!> quot ;、モーションインジケータ、別の<!> quot; <!> lt; <!> quot;。

または<!> quot; <!> lt; 12 <!> lt; <!> quot;次の12行を左にシフトします。

:50,100 <!> gt;

行50〜100を1回インデントします

:50,100 <!> gt; <!> gt;

行50〜100を2回インデントします

は<!> ltでも機能します。および<!> lt; <!> lt;など。

最初にControl-gコマンドを使用して、開始行と終了行の行番号を見つけます。これらを m および n とします。行番号を m から n まで5スペース分インデントするとします。次に、次のコマンドがジョブを実行します。

:m,ns/^/     /g 

インデントを減らすには、まずすべてのタブを(たとえば4)スペースに変換します。

:m,ns/\t/    /g

次に、 m から n までの番号の行から3つのスペースを削除するとします。

:m,ns/^   //g
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top