Gibt es eine Möglichkeit, eine Auswahl von Zeilen in vim einzurücken, wie in Text-Editoren, wo wir eine Reihe von Zeilen auswählen und Tab (oder Shift-Tab) drücken, um das ausgewählte ein-/auszuziehen Linien? Ich spreche über allgemeine Einrückung und nicht im Zusammenhang mit Code-Einzug.ein paar Zeilen in VIM einrücken
Antwort
Verwenden Sie den visuellen Modus, wie Peter es vorschlägt. Sie können auch X >> verwenden, wobei X
die Anzahl der Zeilen ist, die Sie einrücken möchten. Z.B. 5 >> fügt fünf Zeilen von der aktuellen Zeile und von unten ein.
Eines der Dinge, die ich aufgrund von Stack Overflow und dem Schreiben von Codebeispielen am meisten mache, ist '> G', um von der aktuellen Position bis zum Ende der Datei einzurücken. Ich schreibe generell in Ruby, also ist es eigentlich '> G.', weil Rubyists zwei Leerzeichen verwenden und SO vier, aber YMMV benötigt. –
Sie können eine Reihe von Linien mit Sichtlinienmodus (über Verschiebung + V), und geben Sie dann
>
und Dedent,
<
Sie können auch Fügen Sie numerische Argumente hinzu. Finden Sie heraus, dass Sie nicht genügend eingezogen haben? Hit gv, um Ihre vorherige Auswahl erneut auszuwählen.
Während im normalen Modus eingeben, ausprobieren ctrl + T oder ctrl + D oder Dedent einrücken.
Sollte es nicht 'outdent' statt 'dedent' sein? –
@Vinko sollte, aber ist nicht :) ein outdent ist eine rückwärtige Einrückung; Ein Gedicht ist ein zurückgezogener Einzug. vielleicht sollte es wirklich unthent sein. – Peter
Sie müssen die Zeilen nicht erneut auswählen, um mehr Einzug zu erhalten. Verwenden Sie einfach den Punktbefehl:> ... wird viermal eingezogen. –
Wie von den anderen Antworten vorgeschlagen, können Sie > verwenden. Alternativ können Sie auch automatisch richtig Code einrücken, indem Sie den Satz von Linien im visuellen Modus Auswahl (mit Verschiebung + V) und dann = verwenden oder mit == die aktuelle Zeile einrücken.
Ich verwende die folgenden Zuordnungen einzurücken/Unindent:
vmap <TAB> >gv
vmap <S-TAB> <gv
Verwenden TAB einrücken und shift-TAB Die visuell ausgewählten Zeilen Unindent.
Wenn ein Block ausgewählt ist Vim Einrückungen/Entfällt was rechts vom Anfang der Block ist.
Es funktioniert auch perfekt für mich! @ MacVim –
Es gibt eine Vim Cast zu diesem Thema:
http://vimcasts.org/episodes/indentation-commands/
Ich mag Vim Casts. Sie sind informativ und angenehm anzusehen.
- 1. Einrücken mehrerer Zeilen: Tastaturkürzel
- 2. Code ausblenden und Zeilen einrücken
- 3. Wie mehrere Zeilen Code in Rstudio einrücken?
- 4. Vim: Einrücken mit Tabulatoren, richten mit Leerzeichen
- 5. Wie kann ich einen Codeblock ausschließlich in vim einrücken?
- 6. Vim: einrücken Strom (leer) Zeile und fügen
- 7. Einrücken in VIM mit allen Dateien in Ordner
- 8. vim: Wie ändert man ein paar letzte Buchstaben des Wortes?
- 9. vim: Einrücken Kugel/Listen innerhalb von Kommentaren (in Python)
- 10. Wie Sie einen Block in Vim automatisch einrücken
- 11. wie für ein paar Zeilen in JSP EL Ausdruck
- 12. Vim: Wörter in Zeilen aufteilen?
- 13. Vim automatisch einrücken PHP/HTML mit alternativer Syntax
- 14. Wie kann ich meine HTML-Datei mit Vim korrekt einrücken?
- 15. Vim Tabularize mehrere Zeilen
- 16. vim Einrücken eines Blocks von Code nach innen und außen
- 17. Kann nicht ein paar Zeilen Debuggen android app erreichen
- 18. Zeilen verschränken vim
- 19. Vim - geänderte Zeilen markieren
- 20. Führen Sie ein paar Zeilen nach map & reduzieren
- 21. Überlauffehler nach dem Einfügen nur ein paar Zeilen aus Excel
- 22. Wie erstellt man eine StackOverflowException mit ein paar Zeilen Code?
- 23. gcc deaktivieren Sie alle Warnungen für ein paar Zeilen Code
- 24. Wie ein paar Zeilen kommentieren, mit Kommentaren innerhalb
- 25. Ein Paar Blöcke in jedem?
- 26. Alphabetisch Zeilen eines bestimmten Bereichs in vim
- 27. Wie kann ich eine einzelne Zeile mehrfach in vi oder vim einrücken?
- 28. Alle markierten Zeilen werden in vim getippt
- 29. Markieren von beliebigen Zeilen in VIM
- 30. VIM ausblenden (nicht falten!) Zeilen
Ich habe einen Screencast zu diesem Thema gemacht: http://vimcasts.org/episodes/indentation-commands/ – nelstrom
mögliche Duplikate von [mehrere Zeilen schnell in vi einrücken] (http://stackoverflow.com/questions/235839/ indent-multiple-lines-rapid-in-vi) – user