Vim sintaksis menyoroti file saya dengan cara yang lucu, dan saya ingin tahu apa file sintaks bertanggung jawab atas perilaku ini. Bagaimana cara mengetahui file sintaks yang telah dimuat vim?
Vim sintaksis menyoroti file saya dengan cara yang lucu, dan saya ingin tahu apa file sintaks bertanggung jawab atas perilaku ini. Bagaimana cara mengetahui file sintaks yang telah dimuat vim?
Jawaban:
Untuk mencari tahu file mana yang sebenarnya dimuat Vim, jalankan
:scriptnames
:echo b:current_syntax
. Untuk melihat item sintaks yang sedang berlaku, lakukan seperti yang disarankan Ingo dan jalankan :syntax list
. Yang terakhir dapat membantu jika item sintaks dari lebih dari satu file sintaks berlaku, seperti yang dicatat Ingo.
/usr/share/vim/vim73/filetype.vim
. Setelah menggunakan perintah di atas saya menyadari itu menggunakan versi MacVim di ~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
. Jika Anda menginstal MacVim, pastikan Anda memodifikasi file yang benar.
/usr/share/vim/vim81/syntax/cf.vim
untuk saya). Saya memasang custom cf.vim karena yang standar adalah tanggal. :scriptnames
menunjukkan kedua file. Defaultnya lebih rendah pada daftar skrip; Namun, yang pertama sedang digunakan. Jika Anda melihat /usr/share/vim/vim81/syntax/cf.vim
, ada seorang penjaga if exists("b:current_syntax") finish endif
. Jadi, dalam kasus saya, scriptnames
itu sangat membantu, tetapi saya harus menggali lebih dalam.
Sintaks untuk buffer saat ini dapat ditanyakan melalui
:setlocal syntax?
Biasanya (tetapi tidak harus) sesuai dengan tipe file buffer ( :setlocal filetype?
).
Untuk melihat lebih dalam,
:syntax list
memperlihatkan semua definisi sintaks (beberapa sintaks (dapat) menyertakan sintaksis bahasa lain, misalnya yang java
dimiliki html
untuk marka komentar JavaDoc).
Anda dapat melihat jenis file apa yang saat ini digunakan dan oleh
:verbose set ft ?
Plugin yang menangani jenis file kemungkinan besar terletak di
:e $VIMRUNTIME\ftplugin