Bagaimana cara indentasi sebagai spasi bukan tab?

21

Saya mengkode beberapa templat html dalam file JADE. Saya ingin kode indentasi otomatis dengan spasi bukan tab. Saya mencoba shiftwidth=2, tabstop=2tetapi tidak peduli apa, itu tetap indentasi menggunakan tab bukan bilah spasi, yang menyebabkan kompilasi JADE untuk melempar kesalahan.

Bagaimana cara saya indentasi bagian besar kode menggunakan spasi, bukan tab?

John
sumber

Jawaban:

25

Anda mencari expandtabopsi. Ketika opsi ini diatur, spasi adalah selalu digunakan. Anda dapat memasukkan set expandtabvimrc Anda untuk selalu menetapkan opsi ini saat vim dimulai. Jika Anda hanya ingin mengaktifkan opsi ini untuk bahasa tertentu, lihat pertanyaan ini . Untuk bantuan tentang opsi ini, lihat :help 'expandtab'.

Pohon cemara
sumber
1
terima kasih :set expandtabmemungkinkan saya menggunakan spasi alih-alih tab untuk lekukan
John
Benarkah itu tssia-sia ketika etditetapkan?
iBug
@ iBug Tidak jika Anda membuat file sendiri, tetapi mungkin berguna untuk mengaturnya jika Anda mengedit file yang ada yang memiliki tab di dalamnya. Lihat vim.fandom.com/wiki/Indenting_source_code untuk informasi lebih lanjut tentang indentasi, saya merasa jauh lebih jelas daripada file bantuan vim.
EvergreenTree
22

Anda ingin memperluas tab.

Tetapi biasanya ada beberapa opsi yang ingin Anda atur secara bersamaan.

Jika Anda menambahkan yang berikut ke file ~ / .vimrc Anda

" tabstop:          Width of tab character
" softtabstop:      Fine tunes the amount of white space to be added
" shiftwidth        Determines the amount of whitespace to add in normal mode
" expandtab:        When on uses space instead of tabs
set tabstop     =4
set softtabstop =4
set shiftwidth  =4
set expandtab

Atau Anda dapat menjalankan ini secara manual dari mode normal dengan melanjutkannya dengan ':'

Martin York
sumber