it-swarm.com.de

Mehrere Zeilen mit VIM einrücken?

Zum Beispiel bearbeite ich diesen Code:

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

jetzt muss ich die Skriptzeile einrücken:

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

Wie kann ich dies tun, ohne den Cursor an den Anfang jeder Zeile zu bewegen und die Tabulatortaste zu drücken?

51
wong2

Drücken Sie V, um in den VISUAL LINE-Modus zu wechseln, und markieren Sie die Zeilen, die Sie einrücken möchten, indem Sie j drücken. Drücken Sie dann >, Um sie einzurücken. Der vollständige Befehl wäre also Vjjj>.

Alternativ können Sie den Cursor auf das Tag <script> Setzen und mit 4>> Vier Zeilen einrücken.

82
dogbane

Um die obige Antwort zu ergänzen, schauen Sie hier. https://stackoverflow.com/questions/235839/how-do-i-indent-multiple-lines-quickly-in-vi

Es gibt mehr als einen Weg, dies zu tun, und ich kann nicht hoffen, mit der dort bereits bereitgestellten Dokumentation zu konkurrieren.

Mein persönlicher Favorit ist == zum automatischen Einrücken. 5== zum automatischen Einrücken von 5 Zeilen.

17
user606723

Zum Einrücken aller Zeilen unterhalb der aktuellen Zeile

=G

Um die gesamte Datei einzurücken, gehen Sie zum Anfang der Datei (gg) und rücken Sie dann alle Zeilen unter der aktuellen Zeile ein (=G)

gg=G

Einrücken der aktuellen Zeile

==

Um also n Zeilen unterhalb der aktuellen Zeile einzurücken

n==

Zum Beispiel, um 4 Zeilen unterhalb der aktuellen Zeile einzurücken

4==

Dies sind die einfachsten Befehle zum Einrücken mehrerer Zeilen.

11
Sagar Jain

Wenn ich es wäre, würde ich bemerken, dass 4 Zeilen eingerückt werden müssen, in der obersten Zeile positioniert und dann >4>. Wenn es zu viele Zeilen zum Zählen gäbe, würde ich in der obersten Zeile positionieren und mk eingeben, um eine Markierung mit dem Namen k zu erstellen, dann in der untersten Zeile positionieren (die möglicherweise mehrere Screenfuls entfernt ist) und >'k

9
Michael Dillon

Hier ist ein guter Ansatz, wenn Sie versuchen, über eine große Anzahl von Zeilen einzurücken:

:/<script>/,/<\/script>/ >>
4
bhinesley