
Ich habe Folgendes über die Option „Shiftwidth“ bei Google gelesen: Um die Anzahl der zur Einrückung eingefügten Leerzeichen zu ändern, verwenden Sie die Option „Shiftwidth“.
Ok Ok, aber was ist das genauer? Wie kann ich das ausprobieren, um zu sehen, was wirklich passiert? Ich habe eine neue C-Datei erstellt und dann eine IF-Konfiktion hinzugefügt, aber während der Einrückung passiert nichts:
if (a > 0) { hier passiert nichts }
Danke schön!
Antwort1
Nehmen wir an, Sie haben shiftwidth=2 eingestellt
Zunächst müssen Sie sicherstellen, dass die Datei die Erweiterung .c hat. Entweder durch Verwendung
$ vim foo.c
für eine neue Datei oder zum Speichern der Datei mit der Erweiterung .c.
Geben Sie nun
if (a > 0) {
und drücken Sie die Eingabetaste. Die nächste Zeile wird automatisch eingerückt.
if (a > 0) {
foo();
Wenn Sie ein passendes „}“ einfügen, rückt vim es richtig ein.
if (a > 0) {
foo();
}
Lesen Sie diesDokumentationfür mehr Klarheit.
Antwort2
Ich kann empfehlendieser ScreencastvonDrew NeilDarin wird erklärt, wie Tabstop, Softtabstop, Shiftwidth und Expandtab zusammenarbeiten.
Antwort3
Eine weitere wichtige Verwendung von Shiftwidth besteht darin, dem Code eine angemessene Einrückung zu verleihen. Nehmen wir an, wir verwenden eine YAML-Datei, in der wir mehrere Codezeilen zusammen einrücken möchten.
Wir setzen die Shiftwidth mit
esc: setze Umschaltbreite auf 2
Wählen Sie nun die gewünschte Einrückung mit der Taste
Umschalt + V
Um den Code nun richtig einzurücken, verwenden wir
Umschalt + >
Und um den Code links einzurücken, verwenden wir
Umschalt + <