Frage

Was ist der einfachste Weg, Einbuchtung für einen großen Block von Code in vi zu erhöhen oder zu verringern?

War es hilfreich?

Lösung

In vim (nicht sicher, ob dies auch auf Sie zutrifft), verwenden Sie >> eine Zeile einzurücken. Wie bei nahezu jeder Befehl in Vim, Typ in einer Reihe, bevor der Befehl mehrere Male durchzuführen ist. So einrücken die nächsten 50 Zeilen, Typ 50>>.

Andere Tipps

Autoidenting:

Für einen {} Block verwende ich den Befehl: = iB (mit dem Cursor innerhalb des Blockes ident)

Für neu identing eine komplette Datei, verwende ich gg = G

für die Erhöhung Jetzt oder verringern identation auf einem Block, haben Sie, um es auszuwählen (ich verwende vib Befehl) und dann tun Sie >> oder << , und wenn Sie wollen, dass die identation wiederholen nur den Punkt verwenden .

Denken Sie auch an Ihre identation Einstellungen setzen mit

: set shiftwidth = NUMOFSPACES

und

: set softtabstop = NUMOFSPACES

Mark es, dann verwenden> und <.

Wenn Sie den Code in geschweiften Klammern ist, dann setzen Sie den Cursor auf einem der geschweiften Klammern und verwenden >% oder <%.

Ein weiterer nützlicher Befehl ist, wenn Sie einrücken mit ‚<‘ oder ‚>‘, verwenden Sie ‚‘ den Befehl zu wiederholen, bis sie gefüttert ist oben, wie Sie es wollen.

Sie können aber auch sehen http://vim.wikia.com/ für Tipps zu diesem Thema Art der Sache.

In der Standardeinstellung im Insert-Modus können Sie Ctrl-T und Ctrl-D verwenden, um die aktuelle Zeile de- / Absicht.

Treffer v gehen in visuellen Modus und den Pfeil nach unten, so der ganze Block ausgewählt wird dann 12 >>

verwenden, um zwei Winkel-Klammern ( „<<“ oder „>>“) für eine Zeile nach links oder rechts von Einrückungstiefe Zeichen. Sie können dies mit den üblichen Line-Bereich Indikatoren -. ": M, n", Klammer / Halter / paren Anpassung, etc

oder "<", dann ein Bewegungsanzeiger, dann noch ein "<".

oder "<12 <" verschiebt die nächsten 12 Zeilen links.

: 50.100>

Will indent Zeilen 50 bis 100 mal

: 50.100 >>

Will indent Zeilen 50 bis 100 zweimal

funktioniert auch mit

Sie zuerst die Zeilennummern der Start- und Ziellinien finden Sie die Strg-g-Befehl. Lassen Sie diese sein m und n . Angenommen, wir einrücken Zeilennummern wünschen m durch n von 5 Räume. Dann wird der folgende Befehl macht den Job,

:m,ns/^/     /g 

, um die Vertiefung zu verringern, zuerst konvertiert alle Registerkarten (zB 4) Räume.

:m,ns/\t/    /g

Dann lassen Sie uns sagen, wir wollen entfernen 3 Felder aus Linien nummeriert m durch n .

:m,ns/^   //g
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top