After / dizini ne zaman kullanılır?


14

Ben son söz ve başka bir kaynak tarafından geçersiz kılınmış olmamalı şeyleri koymak için yer anlıyorum ama, diyelim ki, bir şey koymak için karar nasıl anlamış değilim ~/.vim/after/ftplugin/ziyade ~/.vim/ftplugin/.

İnsanlar genellikle istenmeyen davranışları gözlemlerse bir ~/.vim/ftplugin/şeyler kullanır ve içine ~/.vim/after/ftplugin/taşırlar mı, yoksa hepsini hemen dizine eklerler mi?

Yanıtlar:


21

Kendi eklenti ekleyebilir veya isterseniz Genellikle değiştirmek kendi standart bir eklenti, bu girecek ~/.vim/pluginya ~/.vim/ftplugin. Bunun yerine mevcut bir eklentinin işlevselliğini korumak, ancak eklentiyi eklemek veya onun tarafından yapılan birkaç ayarı değiştirmek isterseniz, eklentiniz ~/.vim/after/pluginveya öğesine gider ~/.vim/after/ftplugin.


Nedense her zaman Vim'in runtimepath'ı aradığını ve sadece bulduğu ilk eşleşmeyi bulmak yerine arama kriterlerine uyan her dosyayı kaynakladığını varsaydım. Son dizindeki şeyler bu tür bir "eklenti" tedavisi alır gibi geliyor, ama belki de her şey ilk maçın kazandığı Unix PATH değişkeni gibi daha fazla muamele görüyor?
ivan

6
Vim , arama ölçütleriyle eşleşen her dosyayı kaynak yapar , ancak düzgün yazılmış eklentilerin formun üst kısmına yakın bir sınaması vardır if exists("g:loaded_<plugin name>") finish endif let g:loaded_<plugin name> = 1. İlk yüklenen eklenti "kazanır" ve aynı adı taşıyan sonraki eklentiler finishkomutun başından çıkar . Bu senin bir eklenti nasıl ~/.vim/plugindizine, örneğin, bir eklenti önleyebilir $VIMRUNTIME/plugintamamen yüklenmesini. Bu test eklenti dosyalarına dahil değildirafter .
garyjohn

Tamam, sanırım şimdi anladım. Tüm eşleşen dosyalar kaynaklı olacağından, bir kullanmak finishyalnızca ilk eşleşmeyi yüklemek istediğinizde bekçi-maddesini ve (sonrası dizini kullanır olmadan bir finishdiğer biri tarafından etkilenmiş bir ayarı geçersiz kılmak için gerektiğinde bekçi-fıkra) kaynaklar.
ivan

1

vanilya vim belirli bir dosya türünü tanıyorsa ve gönderilen davranışı değiştirmek istiyorsanız kendi ayarlarınız ~/.vim/after/ftplugin/

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.