`Filetype plugin indent on 've` filetype indent on' arasındaki fark nedir?


38

.vimrcDosyalarda bu iki satırdan birini görüyorum . Bu en yaygın gibi görünüyor:

filetype plugin indent on

Ancak bu çizgiden ne farkı var:

filetype indent on

İkincisi için belgeler buldum ama hala kafam karıştı.


2
yan ipucu: :filetypedosya tipi ayarlarını göstermek için yapabilirsiniz .
WISBucky

Yanıtlar:


46

filetype plugin indent on bu komutların bir birleşimi gibidir:

filetype on
filetype plugin on
filetype indent on

Bir kerede "algılama", "eklenti" ve "girintiyi" açar. Okuyarak kendiniz kontrol edebilirsiniz :help :filetype-overview.

Tespit etme

Dosya türü "algılama" ne yapar? Dokümanlardan:

Yeni veya varolan bir dosyanın her düzenlenişinde Vim, dosyanın türünü tanımaya ve 'dosya türü' seçeneğini ayarlamaya çalışır. Bu, sözdizimi vurgulamasını ayarlamak, seçenekleri ayarlamak vb. İçin kullanılabilecek FileType olayını tetikler.

filetypeKomutun filetypeseçenekten farklı olduğunu fark ederseniz, bu daha az kafa karıştırıcıdır . (Komut :filetype..., seçenek: :set filetype...)

Eklenti

"Eklenti" kısmı ne işe yarıyor? Dokümanlardan:

Bu aslında 'ftplugin.vim' dosyasını 'runtimepath' içine yüklüyor.

Sonuç olarak, bir dosya düzenlendiğinde eklenti dosyası yüklenir (tespit edilen dosya türü için bir tane varsa).

Yüklenmekte olan dosya mutlaka adlandırılmamıştır ftplugin.vim, ftplugin/html_example.vimörneğin olabilir .

çentik

"Girinti" kısmı ne işe yarıyor? Dokümanlardan:

Bu aslında 'rentimepath' içine "indent.vim" dosyasını yükler.

Sonuç olarak, bir dosya düzenlendiğinde, girinti dosyası yüklenir (tespit edilen dosya türü için bir tane varsa). girinti-sentezleme

Yine, dosya adlandırılmamış indent.vimolabilir indent/html_example.vim, örneğin adlandırılmış olabilir .


1
Açıklığa kavuşturmak için, dosyanın adı etkinleştirilecek olan <type>/foobar.vim'dosya türüne ' ( örneğin, her dosya türü için bir alt dizine) ya <type>_foobar.vimda sadece <type>.vim<
yazı tipinin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.