set softtabstop=4
Mit einem Tastendruck die mit "Leertaste" markierte "Registerkarte" in Vim löschen
Ich bearbeite Python- Code mit Vim.
Mit dem tabSchlüssel bekomme ich vier Leerzeichen für die Einrückung. Wie kann ich diese Leerzeichen mit einem "Backspace" (?) - Strich löschen - anstatt mit vier?
Es muss eine "Set" -Option dafür geben ...
Hier ist mein .vimrc:
set autoindent set ts=4 set sw=4 set et
8 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
Sie können Ctrl+Deinen Tabulatorstop sichern. Dadurch wird die gesamte Zeile um einen Tabstopp nach links verschoben. Ctrl+Tmacht das Gleiche nach rechts. Beachten Sie, dass diese Tastatureingaben nur im Einfügemodus funktionieren (verwenden Sie <<
und >>
für das Äquivalent im Befehlsmodus).
tl; dr: set tabstop=4 softtabstop=-1 shiftwidth=0 expandtab
Kurzform: set ts=4 sts=-1 sw=0 et
Erläuterung
Wenn Sie softtabstop
(oder sts
) -1
einstellen, verhält es sich automatisch wie tabstop
( ts
), was Ihnen viel Ärger erspart, wenn Sie die Tabulatur stark wechseln. Wenn Sie shiftwidth
( sw
) auf setzen, 0
sollte dies auch tabstop
genauso sein.
Im Detail
shiftwidth
sw
Anzahl der Leerzeichen, die für jeden Schritt des (automatischen) Einzugs verwendet werden sollen. Verwendet für
cindent
, >>, <<usw.
Wenn Null dertabstop
Wert verwendet wird.
tabstop
ts
Anzahl der Leerzeichen, für die a in der Datei zählt. Siehe auch : Befehl und
softtabstop
Option.
softtabstop
sts
Anzahl der Leerzeichen, für die ein TabZähler beim Ausführen von Bearbeitungsvorgängen zählt, z. B. Einfügen eines Taboder Verwendung von BS. Es fühlt sich an, als würden Tabs eingefügt, während tatsächlich eine Mischung aus Leerzeichen und s verwendet wird. Dies ist nützlich, um die
tabs
is-Einstellung auf ihrem Standardwert zu behalten, während Sie die Bearbeitung so vornehmen können, wie sie eingestellt iststs
. Bei einemsts
negativen Wertshiftwidth
wird der Wert von verwendet. Dies erspart Ihnen Ärger, wenn Sie die Tabstops stark wechseln. Wennexpandtab
nicht festgelegt ist, wird die Anzahl der Leerzeichen mit Tabs minimiert .
expandtab
et
Im Einfügemodus: Verwenden Sie die entsprechende Anzahl von Leerzeichen, um a einzufügen. Leerzeichen werden in Einzüge mit den verwendeten >und <Befehle und wenn
autoindent
eingeschaltet ist.expandtab
Verwenden Sie zum Einfügen eines echten Registers Ctrl- V Tab. Siehe auch : retab
Ich habe GreedyBackspace.vim für jemanden geschrieben, der so etwas wollte. Ich benutze es nicht persönlich, also ist es schon eine Weile her, seit ich es aktualisiert habe. Ich habe jedoch in letzter Zeit keine Fehlerberichte darüber erhalten.
Mehrere Möglichkeiten:
- Sie können alle Whitespaces umbenennen, damit sie durch Tabulatoren ersetzt werden. Auf diese Weise könnten sie leicht gelöscht werden.
- Du könntest (das ist nicht getestet, also schlage ich hier nur Ideen vor) eine Funktion erstellen, die im Normalmodus 4 mal die Rücktaste ausführt. Dann ordnen Sie es etwas zu. Es hat jedoch keine Möglichkeit zu wissen, ob Leerzeichen oder wichtige Zeichen gelöscht werden. Dies ist daher potenziell unsicher.
- '4X' löscht die letzten 4 Zeichen (das ist ein großes X, kein kleines, ein kleines Zeichen wirkt wie die Entf-Taste).
Am einfachsten ist es <<
, mit a zu wiederholen.
Wurde in Ihrem VIM mit der Einstellung der Registerkarte "Erweitert" geprüft ?
:set noet
Ich ziehe es vor, die Tabs während der Arbeit an den Dateien zu behalten.
Wenn es erforderlich ist, ersetze ich die Registerkarten durch 4 oder so viele Leerzeichen wie erforderlich.
:%s/<ctrl+V><tab>/ /g ----
Als kleiner Bonus ist Ihre Quelldatei um 3 Zeichen pro Tab kürzer :-)
Ich glaube nicht, dass es einen Weg gibt. Wenn die Tabulatortaste auf vier Leerzeichen erweitert wird, kann vim nicht mehr wissen, dass es sich um eine Tabulatur handelt.
Verwandte Probleme
-
13
Welche Vim-Funktionen verwenden Sie?
-
1
Sie können nicht verstehen, warum ASCII- und HEX-Erkennungen in der Statuszeile von Vim benötigt wer...
-
3
Vim: Wie behandelt man Unicode-Dateien mit Text in mehreren (mehr als zwei) Sprachen?
-
9
Firefox Addons für Vimperator
-
3
Um PWD in Vims Echo zu bestätigen: -Modus für das Dokument
-
1
Gibt es trotzdem vim, dass Sonderzeichen nicht als Wörter gezählt werden?
-
8
Vimperator Kopieren / Einfügen
-
2
Farben in Vim LaTeX -Dateien haben, wie in Gvim
-
3
Vim-Befehl zum Zuordnen von CapsLock zu Escape
-
9
Gutes vim Tutorial?