VIMを使用して何行をインデントする必要がありますか?

VIMを使用して何行をインデントする必要がありますか?

たとえば、次のコードを編集しています。

<html>
<body>
<script>
    var a = 10;
    a += 100;
</script>
</body>
</html>

これでスクリプト行をインデントする必要があります。

<html>
<body>
    <script>
        var a = 10;
        a += 100;
    </script>
</body>
</html>

カーソルを各行の先頭に移動し、Tabキーを押さずにこれを行うにはどうすればよいですか?

答え1

を押してVVISUAL LINEモードに切り替え、次にを押してインデントしたい行をハイライトしますj。次にインデントを押します>。したがって、完全なコマンドはVjjj>

または、<script>ラベルの上にカーソルを置き、4>>4行のインデントを使用します。

答え2

上記の回答を補完するには、こちらをご覧ください。 https://stackoverflow.com/questions/235839/how-do-i-indent-multiple-lines-quickly-in-vi

これを行う方法はいくつかあり、すでに提供されている文書と競合することはできません。

私が個人的に好きなのは==自動インデントです。5==5行を自動的にインデントします。

答え3

現在の行の下のすべての行をインデントします。

=G

したがって、ファイル全体をインデントするには、ファイルの先頭(gg)に行き、現在の行の下のすべての行をインデント(=G

gg=G

現在行をインデント

==

したがって、n現在の行の下の行をインデントするには

n==

たとえば、現在の行の下に4行をインデントします。

4==

複数行をインデントする最も簡単なコマンドです。

答え4

多数の行をインデントするには、次のような良い方法があります。

:/<script>/,/<\/script>/ >>

関連情報