Odpowiedzi:
Możesz użyć Ctrl+Ddo utworzenia kopii zapasowej jednego tabulatora. To faktycznie przesuwa całą linię do lewego tabulatora; Ctrl+Trobi to samo po prawej stronie. Zauważ, że te naciśnięcia klawiszy działają tylko w trybie Wstaw (użyj <<i >>dla odpowiednika w trybie Polecenia).
tl; dr: set tabstop=4 softtabstop=-1 shiftwidth=0 expandtab
skrócona forma: set ts=4 sts=-1 sw=0 et
Jeśli ustawisz softtabstop(lub sts) -1, automatycznie zachowa się tak samo jak tabstop( ts), co zaoszczędzi ci kłopotów, jeśli często zmienisz tabulację. Ustawienie shiftwidth( sw) na 0powinno również sprawić, że będzie to samo tabstop.
shiftwidth sw
Liczba spacji do użycia dla każdego kroku (automatycznego) wcięcia. Używany do
cindent, >>, <<, itd.
Kiedy wyzerowaćtabstopzostanie wykorzystana wartość.
tabstop ts
Liczba spacji, dla których liczy się a. Zobacz także : polecenie retab i
softtabstopopcja.
softtabstop sts
Liczba spacji, dla których Tabliczy się podczas wykonywania operacji edycji, takich jak wstawianie a Tablub używanie BS. To uważa jak Taby są wkładane, podczas gdy w rzeczywistości połączenie przestrzeni i S stosowane. Jest to przydatne, aby utrzymać
tabsustawienie na standardowej wartości, a jednocześnie móc edytować tak, jak jest ustawionests. Gdystsjest ujemna,shiftwidthużywana jest wartość . Pozwoli ci to zaoszczędzić trochę kłopotów, jeśli często zmieniasz tabstopsy. Gdyexpandtabnie jest ustawiony, liczba spacji jest minimalizowana za pomocą Tabs.
expandtab et
W trybie wstawiania: Użyj odpowiedniej liczby spacji, aby wstawić. Przestrzenie są wykorzystywane w tiret z >i <poleceń, a kiedy
autoindentjest włączone. Aby wstawić prawdziwą kartę, gdyexpandtabjest włączona, użyj Ctrl- V Tab. Zobacz także : retab
Napisałem GreedyBackspace.vim dla kogoś, kto chciał czegoś takiego. Nie używam go osobiście, więc minęło trochę czasu, odkąd go zaktualizowałem. Jednak ostatnio nie otrzymałem żadnych raportów o błędach.
Kilka opcji:
najprostszym sposobem jest <<powtórzenie za pomocą.
Czy sprawdziłeś za pomocą ustawienia kart rozwijanych w VIM?
:set noet
Zwykle wolę trzymać karty podczas pracy nad plikami.
Gdy jest to wymagane, zamieniam tabulatory na 4 spacje lub tyle, ile potrzeba.
:%s/<ctrl+V><tab>/ /g
----
Jako niewielki bonus, plik źródłowy jest krótszy o 3 znaki na zakładkę :-)
Nie sądzę, że jest jakiś sposób. Gdy klawisz tabulacji zostanie rozszerzony do czterech spacji, vim nie będzie wiedział, że kiedykolwiek był tabulatorem.