Dalam kebanyakan kasus, saya ingin menggunakan tabstop=4
saat mengedit file. Tetapi untuk beberapa jenis file, seperti file xml, saya ingin menggunakan tabstop=2
.
Saya menambahkan
au filetypedetect FileType xml,html,xhtml,javascript set tabstop=2 softtabstop=2 shiftwidth=2
di .vimrc
saya mengajukan. Ini berfungsi jika saya mengedit hanya satu file. Tetapi jika saya mengedit banyak file, itu tidak dapat mengatur penghentian tab dengan benar untuk semua buffer. Tampaknya jenis file terdeteksi dan disetel hanya saat startup, dan tidak pernah berubah sejak itu.
Saya ingin FileType
atur setiap kali saya mengganti buffer. Bagaimana saya bisa melakukannya?
Jawaban yang Diterima:
Saya tidak yakin mengapa versi Anda tidak berfungsi, tetapi saya dapat melakukannya menggunakan call
opsi dan menempatkan pengaturan dalam fungsi seperti ini:
set tabstop=4
set softtabstop=4
set shiftwidth=4
function! setAltPrefs()
set tabstop=2
set softtabstop=2
set shiftwidth=2
endfunction
autocmd FileType xml,html,xhtml,javascript call setAltPrefs()
Ini harus dipecat setiap kali file dimuat ke buffer atau tipe file berubah. Satu-satunya tangkapan adalah jika Anda mengubah buffer dari salah satu tipe kustom kembali ke buffer yang seharusnya default. Dalam hal ini tidak ada yang akan berubah. Anda harus menyiapkan fungsi lain untuk memicu semua jenis file jika Anda perlu membahas kasus penggunaan itu.