Was macht Shiftwidth im VIM-Editor?

Was macht Shiftwidth im VIM-Editor?

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 + <

verwandte Informationen