Meine derzeitige Einstellung geht von 8 Leerzeichen aus; wie könnte ich sie umdefinieren?
Antworten
Zu viele Anzeigen?Noch eine Sache: Verwenden Sie
:retab
zur Umwandlung bestehender Registerkarte a Räume http://vim.wikia.com/wiki/Converting_tabs_to_spaces
Nehmen Sie die gewünschten Einstellungen im Feld ~/.vimrc Datei - siehe unten für einige Richtlinien und bewährte Verfahren.
Es gibt vier Hauptmöglichkeiten, Tabs in Vim zu benutzen:
-
Halten Sie "tabstop" immer auf 8, setzen Sie "softtabstop" und "shiftwidth" auf 4 (oder 3 oder was immer Sie bevorzugen) und verwenden Sie "noexpandtab". Dann wird Vim eine Mischung aus Tabulatoren und Leerzeichen benutzen, aber beim Tippen wird er sich so verhalten, als ob alle 4 (oder 3) Zeichen ein Tabulator erscheint.
Anmerkung: Wenn Sie für "tabstop" einen anderen Wert als 8 einstellen, kann Ihre Datei an vielen Stellen falsch erscheinen (z. B. beim Drucken).
-
Setzen Sie "tabstop" und "shiftwidth" auf die von Ihnen bevorzugten Werte und verwenden Sie "expandtab". Auf diese Weise werden Sie immer Leerzeichen einfügen. Die Formatierung wird nicht durcheinander gebracht, wenn "tabstop" geändert wird.
-
Setzen Sie "tabstop" und "shiftwidth" auf die von Ihnen bevorzugten Werte und verwenden Sie eine |modeline|, um diese Werte beim erneuten Bearbeiten der Datei zu setzen. Funktioniert nur, wenn Sie Vim zum Bearbeiten der Datei verwenden.
-
Setzen Sie "tabstop" und "shiftwidth" immer auf denselben Wert und "noexpandtab". Dies sollte dann (nur für anfängliche Einzüge) für jede Tabstopp-Einstellung funktionieren, die man verwendet. Es wäre allerdings schön, wenn die Tabulatoren nach dem ersten Nicht-Leerzeichen als Leerzeichen eingefügt würden. Andernfalls werden ausgerichtete Kommentare falsch sein, wenn 'tabstop' geändert wird.
Quelle:
- vimdoc.sourceforge.net/htmldoc/options.html#'tabstop'
:help tabstop
Meine einfache ~/.vimrc mit Kommentar:
set number " show line number
set tabstop=2 " set display width of tab; 1 tab = x space with
set expandtab " transform tab to x space (x is tabstop)
set autoindent " auto indent; new line with number of space at the beginning same as previous
set shiftwidth=2 " number of space append to lines when type >>