質問
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