2009-09-10 6 views
10

Wie wird ein Codeblock nach rechts, links, oben und unten verschoben?vim question: Ein Codeblock wird getippt

+0

http: // Stackoverflow.com/fragen/442302/tabbing-selected-section-in-vim –

+3

was meinst du hoch und runter? –

+0

sage ich habe einen Block von Code und ich möchte es [ein paar Zeilen] nach unten – vehomzzz

Antwort

35

Mein Lieblingsweg ist die Auswahl Ihres Code-Blocks (normalerweise mit [V] isual line mode), dann drücken Sie> oder <.

Wenn Sie mehr als einmal, 2> oder 3>, um es zu wiederholen möchten.

Wenn Sie nicht genügend Tabs (oder Tabstopps) erstellt haben, geben Sie "gv" ein, um Ihre Auswahl erneut zu wählen und es erneut zu versuchen.

Um einen Codeblock zu verschieben, wählen Sie ihn mit dem Modus [V] und drücken Sie dann "d". Dies ist die "Ausschneiden" -Operation.

Dann bewegen Sie den Cursor an die Stelle, die Sie gehen möchten, und drücken Sie "p". Dies ist die Operation "Einfügen".

Sie können auch versuchen, einen Codeblock automatisch zu markieren, indem Sie ihn im [V] -Format auswählen und "=" drücken.

+5

Wählt gv erneut eine vorherige Auswahl aus? WOW - das ist nützlich für sich selbst ... – vehomzzz

+5

Wenn der Code nicht genug Tabulator war, können Sie den Punkt '.' Befehl verwenden, um die letzte Identität zu wiederholen ... – CMS

+0

Ich wusste nie über den GV-Tipp, danke für dieses! –

1

Im Befehlsmodus:

>

Wie jeder andere Befehl Sie die Anzahl der Zeile voranstellen könnten Sie haben wollen, angewendet werden:

+ + >

Wird "Tab" 22 Zeilen.

Drücken Sie . wenn Sie

4

Um den internen Block mit dem Cursor einrücken zu „re-Tab“ wollen, tun: >iB Um den internen Block einschließlich der umschließenden Klammern einrücken, tun: >aB

können Sie ersetzen ‚>‘ mit '<' nach links einrücken.

Zum automatischen Einzug drücken Sie == (oder = wenn Sie den Text markiert haben).

1

Ich benutze eine praktische Neuabbildung für den visuellen Modus, die es ermöglicht, den Text mehrfach einzurücken, während der Text ausgewählt bleibt. Ähnlich wie bei einigen IDEs können Sie Tabs (oder Shift-Tabs) zum Einrücken auswählen und drücken.

folgend Ihre .vimrc

" Pressing <or> will let you indent/unident selected lines 
vnoremap < <gv 
vnoremap > >gv 

Auch Fügen Sie == haben vim versuchen können und die richtigen Einrückungen automatisch zu bestimmen. Es funktioniert auf jeder Zeile kaufen Sie einfach den Cursor dort platzieren und drücken Sie == oder Sie können fancy stuff wie die gesamte Datei auswählen und drücken Sie ==, um alle Einrückung zu beheben (wirkt Wunder auf HTML von WYSIWYG-Editoren generiert).

0

Gehen Sie einfach im visuellen Modus Eingabe v und dann die < oder> Charakter :)

Verwandte Themen