Bagaimana saya bisa mengubah ukuran indentasi?

20

Saya baru saja menemukan saya bisa indent dan un-indent mudah di Vi dengan: <<dan>>

Secara default itu menambahkan tabkarakter. Sekarang saya bertanya-tanya, mungkinkah ini ke sejumlah ruang melalui konfigurasi di saya .vimrc? Dan bagaimana saya harus melakukannya?

J. Chomel
sumber

Jawaban:

25

Beberapa pengaturan mengontrol perilaku:

Pertama set expandtabmemungkinkan untuk mengganti tab dengan karakter spasi putih :h 'expandtab'.

Kemudian set shiftwidth=4buat tabulasi menjadi 4 spasi putih :h 'shiftwidth'.

Anda juga bisa tertarik dengan :h 'tabstop'yang mendefinisikan jumlah spasi yang diperhitungkan oleh karakter tab dalam file.

Sebagai bonus lihat :h 'smartindent'dan :h 'autoindent'mana yang cukup bermanfaat.

statox
sumber
7

Saya menjawab kebutuhan saya dengan memodifikasi .vimrcseperti di bawah ini:

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

Terima kasih Sibi & satox

J. Chomel
sumber
juga: atur tabstop = 2
Straff
4

Iya.

Anda dapat mengatur shiftwidthsejumlah ruang. Ini berfungsi baik di vidan vim.

:set shiftwidth=2

Sekarang, lebar digeser untuk masing-masing >>dan <<akan menjadi 2.

SibiCoder
sumber
1
touch ~/.vimrc
echo "set ts=4 sw=4" >> ~/.vimrc

Tulisan untuk jawaban J.Chomel.
touchakan membuat file .vimrc di direktori home Anda jika belum ada.
Selanjutnya, tambahkan tabstop dan shiftwidth dengan preferensi Anda ke file .vimrc .

aerijman
sumber
Perhatikan bahwa ini dianggap praktik terbaik untuk menggunakan opsi nama panjang di vimrc Anda (yaitu tabstopdan shiftwidth) biasanya lebih mudah dibaca dan karena Anda tidak perlu mengetiknya yang sering dalam file konfigurasi Anda, tidak ada banyak keuntungan untuk menggunakan nama pendek .
statox