Saya memutuskan untuk mengubah ukuran tab dari 4 menjadi 2, karena mengapa tidak? Siapa pun yang ingin melihat kode pasti dapat menggunakan preferensi mereka.
Namun, sebuah pertanyaan.
Jika saya menekan tombol tab, ia menyisipkan 2, tetapi autoindent Vim masih menempatkan 4. Apa yang saya ubah untuk membuatnya 2?
Pertanyaan lain yang tidak terkait: Gaya indentasi mana yang terbaik untuk bahasa C dan yang sejenis? Saya telah menggunakan 1TBS, tetapi ada begitu banyak untuk dipilih. Apakah ada di antara mereka yang lebih profesional atau disukai?
ts
sebagai 2, 4, atau 8Opsi indentasi Vim
Vim terutama menggunakan 3 pengaturan untuk ukuran indentasi:
tabstop
,ts
: ketika Vim menemukan tabulasi dalam file yang Anda buka, tab ini menampilkan tab sebagai {ts} spasi (lihat bantuan tabstop , atau ketikkan:help tabstop
Vim).softtabstop
,sts
: ketika Anda mengedit file dan menekan tombol tab, Vim menggunakan pengaturan ini untuk menentukan lebar tabulasi yang dimasukkan (lihat bantuan softtabstop , atau ketik:help softtabstop
Vim).shiftwidth
,sw
: Jumlah ruang Vim menggunakan ketika indentasi, baik menggunakan barang-barang autoindent atau biasa>>
,<<
perintah. Seperti yang diperhatikan oleh Heptite, inilah yang Anda cari dalam kasus khusus ini. Dan versi terbaru Vim memang memungkinkan Anda untuk tidak menentukan opsi ini,shiftwidth
kemudian akan mengambil nilai yang ditentukan olehtabstop
. Cukup praktis (lihat bantuan shiftwidth ).Contoh
Jadi misalnya, jika Anda menggunakan pengaturan berikut:
Ini akan menghasilkan perilaku berikut:
tabstop
diatur ke 2, ini sebenarnya akan setara dengan 2 tabulasi. Ini cukup mudah untuk diperiksa, cukup gunakan opsilist
danlistchars
untuk menampilkan tabulasi.>>
, lekukan akan menjadi 8 spasi (karenanya, setara dengan 4 tabulasi, berdasarkantabstop
nilai, sama seperti di atas).Rekomendasi indentasi Vim (dari dokumentasi Vim)
Dari
tabstop
bantuan (:help tabstop
dalam Vim):Saya pribadi menggunakan solusi kedua, dengan tabulasi lebar 2 spasi.
sumber
Menurut http://vim.wikia.com/wiki/Indenting_source_code , perintah 'filetype plugin indent on' akan menyebabkan program menggunakan skrip indentasi spesifik filetype yang terletak di subdirektori indent instalasi Vim. Halaman itu juga menyatakan bahwa 'cindent' digunakan secara otomatis dalam file C dan C ++, dan Anda tidak perlu menggunakan perintah itu secara manual.
Saya tidak terlalu terbiasa dengan Vim, karena saya hanya menggunakannya untuk beberapa penyuntingan teks dasar sesekali, tetapi saya akan mencoba secara manual mengeluarkan perintah 'cindent' untuk menggunakan ukuran autoindent default Vim untuk kode itu. Jika itu tidak berhasil, Anda bisa mencoba 'filetype indentasi pada' dan mengedit skrip sendiri untuk mendapatkan indentasi yang diinginkan.
sumber