Verwenden Sie den TabSchlüssel in Vim nicht zum manuellen Einrücken. Vim verfügt über zwei Befehle im Einfügemodus zum manuellen Erhöhen oder Verringern des Einrückungsbetrags. Diese Befehle sind Ctrl-Tund Ctrl-D. Diese Befehle beachten Sie die Werte von tabstop
, shiftwidth
undexpandtab
, und halten die richtige Mischung von Leerzeichen und Tabulatoren (maximale Anzahl von Registerkarten gefolgt von notwendigen Anzahl).
Zweitens müssen diese manuellen Einrückungstasten ohnehin nicht sehr oft verwendet werden, wenn Sie die automatische Einrückung verwenden.
Wenn Ctrl-Tstatt Tabstört Sie, können Sie es neu zuordnen:
:imap <Tab> ^T
Sie können auch neu zuordnen Shift-Tab, um die Ctrl-DDeindent auszuführen:
:imap <S-Tab> ^D
Hier sind ^ T und ^ D Literalsteuerzeichen, die als eingefügt werden können Ctrl-VCtrl-T.
Mit dieser Zuordnung können Sie weiterhin Literal Tab in den Puffer eingeben Ctrl-VTab. Beachten Sie, dass Sie in diesem :set expandtab
Fall , auch wenn diese Option aktiviert ist, ein nicht erweitertes Tabulatorzeichen erhalten.
Ein ähnlicher Effekt wie bei der <Tab>
Karte wird mit erzielt :set smarttab
, wodurch sich auch die Rücktaste an der Vorderseite einer Linie intelligent verhält.
smarttab
Wenn im Modus Tabnicht am Zeilenanfang verwendet wird, hat dies keine besondere Bedeutung. Das unterscheidet sich von meiner obigen Zuordnung von Tabzu Ctrl-T, da eine Ctrl-Tirgendwo in einer Zeile verwendete (im Einfügemodus) die Einrückung dieser Zeile erhöht.
Andere nützliche Zuordnungen können sein:
:map <Tab> >
:map <S-Tab> <
Jetzt können wir beispielsweise einige Zeilen auswählen und Tabdrücken, um sie einzurücken. Oder schlagenTab zweimal auf eine Zeile (im Befehlsmodus), um die Einrückung zu erhöhen.
Wenn Sie die richtigen Vertiefung Management - Befehle zur Verfügung , dann wird alles durch die drei Parameter gesteuert: shiftwidth
, tabstop
und expandtab
.
Der shiftwidth
Parameter steuert Ihre Einrückungsgröße. Wenn Sie vier Leerzeichen einrücken möchten, verwenden Sie :set shiftwidth=4
oder die Abkürzung :set sw=4
.
Wenn nur dies getan wird, wird der Einzug mit einer Mischung aus Leerzeichen und Tabulatoren erstellt, da dies noexpandtab
die Standardeinstellung ist. Verwenden:set expandtab
. Dies führt dazu, dass Tabulatorzeichen, die Sie in den Puffer eingeben, in Leerzeichen erweitert werden und Vim-verwaltete Einrückungen nur Leerzeichen verwenden.
Wenn diese expandtab
Option aktiviert ist und Sie Ihre Einrückung über alle geeigneten Vim-Mechanismen verwalten, ist der Wert von tabstop
irrelevant. Es steuert, wie Registerkarten angezeigt werden, wenn sie in der Datei vorkommen. Wenn Sie set tabstop=8 expandtab
eine feste Registerkarte haben und diese dann mit in die Datei schleichen Ctrl-VTab, wird wie gewohnt eine Ausrichtung zur nächsten 8-Spalten-basierten Registerkartenposition erstellt.