Sesuai jawaban yang diterima untuk pertanyaan ini , saya mencoba menggunakan modelines in vim untuk memaksa deteksi tipe file dalam beberapa file.
Misalnya, di bagian atas file bernama gitconfig
(perhatikan tidak ada yang memimpin .
), saya memiliki baris berikut:
# vim: set filetype=gitconfig :
modeline
diaktifkan di sistem saya. Namun, ketika saya membuka file dalam vim, set filetype?
mengembalikan conf
, daripada yang diharapkan gitconfig
.
Apakah mungkin bahwa bagian lain dari konfigurasi vim saya (mis. Filetype.vim) menyebabkan perilaku aneh ini?
Diedit dalam menanggapi komentar:
set compatible?
kembali nocompatible
set modeline?
kembali modeline
verbose set filetype?
pengembalian:
filetype=conf
Last set from /usr/share/vim/vim73/filetype.vim
Saya tidak mengerti mengapa plugin filetype sistem lebar akan mengesampingkan apa yang telah saya atur dalam file itu sendiri.
Satu catatan terakhir: ini adalah versi Vim 7.3 yang dikirimkan bersama OSX.
Versi terbaru dari MacVim yang berjalan pada sistem yang sama menggunakan .vimrc
perilaku yang sama seperti yang diharapkan, dengan set ft?
pengembalian filetype=gitconfig
.
set modeline?
tidak mencetaknomodeline
?compatible
ditetapkan. Itu juga layak untuk diperiksa.Jawaban:
Jadi, setelah beberapa penggalian, diketahui bahwa sistem yang
vimrc
dikirimkan dengan OSX menetapkanmodelines
variabel (perhatikan trailing 's') menjadi 0. Variabel ini mengontrol jumlah baris dalam file yang diperiksa untuk perintah yang ditetapkan. Pengaturan modelines ke nilai non-nol di saya.vimrc
memecahkan masalah.Output penuh, untuk yang penasaran: output dari
vim --version
meminta saya untuk memeriksa sistem vimrc:Melihat vimrc sistem:
Membawa saya ke
modelines
variabel. Tampaknya MacVim tidak sumber file sistem ini (mungkin mencari sistem GVIMRC saja?:help startup
Tidak jelas).sumber
Agar ini dapat bekerja pada sistem macOS saya, saya harus mendefinisikan beberapa pengaturan di ~ / .vimrc:
Di mana ' modeline ' memungkinkan penggunaan pengaturan dalam file, dan ' modelines = # ' menetapkan jumlah baris yang vim / vi akan memeriksa untuk mengatur perintah.
Setelah parameter tersebut ditetapkan, saya dapat menggunakan sintaksis seperti baris di bawah ini di file saya untuk mengganti parameter yang ditetapkan.
sumber