Apakah ada cara untuk menempatkan komentar dalam file yang akan diproses vim untuk mengatur tipe file?

30

Sebagai contoh, jika saya ingin memiliki file dengan nama gitconfig(tidak memimpin .) dikenali oleh vim filetype=gitconfig, apakah ada cara untuk menunjukkan ini dalam komentar atau sesuatu yang serupa dalam file itu sendiri? Catatan, saya ingin ini berfungsi di seluruh sistem, jadi memodifikasi file startup vim tidak disukai.

Murali Suriar
sumber

Jawaban:

45

Ini terdengar seperti modelinefitur (lihat bantuan online). Di gitconfig Anda bisa memiliki modeline seperti berikut, di dekat awal atau akhir file:

# vi: ft=gitconfig

Ini membutuhkan modeline yang harus diaktifkan dan karena mereka bisa menjadi bahaya keamanan mereka dinonaktifkan secara default pada banyak sistem.

Pendekatan lain yang mungkin sedikit lebih berhasil adalah membuat .vimfile yang berisi

au BufRead,BufNewFile */gitconfig setfiletype gitconfig

dan letakkan di ~/.vim/ftdetectsemua sistem Anda.

jw013
sumber
Sempurna, modeline adalah apa yang saya cari. modeline diaktifkan, tetapi sepertinya ada sesuatu yang lain di setup saya yang mengganggu itu. Jika saya meletakkan baris yang Anda sarankan di bagian atas file, maka setelah saya buka kembali akan muncul set filetype?filetype 'conf'.
Murali Suriar
Mungkin Anda dapat menggunakan :verbose set filetypeuntuk melihat dari mana confnilai berasal - Saya kira pengaturan default filetype sistem vim di suatu tempat.
jw013
rupanya set terakhir dari /usr/share/vim/vim73/filetype.vim. Mengapa deteksi filetype level sistem menimpa arahan yang saya tempatkan dalam file itu sendiri?
Murali Suriar
apakah Anda menjalankan vim sebagai root? jika ya, saya pikir modeline tidak mau dimuat.
elias
Periksa juga nilai modelinesopsi. :set modelines?Jika diset ke nol, itu tidak akan memproses modeline.
Christian Long
1

Anda dapat membuat file sintaks dan meletakkannya di share/syntaxdirektori vim (di Debian Lenny itu /usr/share/vim/vim71/syntax(distro Anda mungkin bervariasi)).

Dokumentasi dalam format sintaks Vim ada di sini: http://vimdoc.sourceforge.net/htmldoc/syntax.html

Anda mungkin dapat menemukan file sintaks yang siap di Internet di suatu tempat, tetapi saya akan membiarkannya sebagai latihan untuk Anda.

bahamat
sumber