Jak mogę zmienić rozmiar wcięcia?

20

Właśnie odkryłem, że mogę łatwo wciskać i cofać wcięcia w Vi za pomocą: <<i>>

Domyślnie dodaje tabznak. Teraz zastanawiam się, czy może to być do wielu miejsc poprzez konfigurację w moim .vimrc? Jak mam to zrobić?

J. Chomel
źródło

Odpowiedzi:

25

Kilka ustawień kontroluje zachowanie:

Najpierw set expandtabpozwala zamienić tabulatory na białe znaki :h 'expandtab'.

Następnie set shiftwidth=4sprawia, że ​​tabulacje mają 4 białe spacje :h 'shiftwidth'.

Może Cię również zainteresować :h 'tabstop'określenie liczby spacji, dla których liczy się znak tabulacji w pliku.

Jako bonus zobacz :h 'smartindent'i :h 'autoindent'które są całkiem przydatne.

statox
źródło
7

Odpowiedziałem na moją potrzebę, modyfikując .vimrcjak poniżej:

:set shiftwidth=2
:set autoindent
:set smartindent
~

Dzięki Sibi i satox

J. Chomel
źródło
też: ustaw tabstop = 2
Straff
4

Tak.

Możesz ustawić shiftwidthdowolną liczbę spacji. Działa to zarówno w, jak vii vim.

:set shiftwidth=2

Teraz szerokość zostanie przesunięta dla każdego >>i <<będzie wynosić 2.

SibiCoder
źródło
1
touch ~/.vimrc
echo "set ts=4 sw=4" >> ~/.vimrc

Skrót odpowiedzi J.Chomela.
touchutworzy plik .vimrc w twoim katalogu domowym, jeśli jeszcze nie istnieje.
Następnie dodaj tabstop i shiftwidth zgodnie z własnymi preferencjami do pliku .vimrc .

aerijman
źródło
Zauważ, że najlepszą praktyką jest używanie opcji vimrc w opcji długiej nazwy (tj. tabstopI shiftwidth). Zwykle jest ona bardziej czytelna, a ponieważ nie trzeba jej wpisywać, że często w pliku konfiguracyjnym nie ma większych korzyści z używania krótkich nazw .
statox