Hangi sözdizimi dosyasının kullanıldığını nasıl anlarım?


50

Vim, dosyamı eğlenceli bir şekilde vurguluyor, sözdizimi ve bu davranıştan hangi sözdizimi dosyasının sorumlu olduğunu bilmek istiyorum. Vim'in hangi sözdizimi dosyalarının yüklendiğini nasıl öğrenirim?

Yanıtlar:


39

Vim'in gerçekte hangi dosyaları yüklediğini bulmak için, yürüt

:scriptnames

Bu yararlı. Şimdi, işte emin değilim bir şey: bu listede bir sözdizimi dosyası belirirse, sözdizimi dosyasının "etkin" olduğu garanti edilir mi? Burada epeyce sözdizimi dosyaları görebiliyorum.
Edward Z. Yang

7
Genel olarak, yalnızca listelenen sonuncusu "etkin" dir ve sözdizimini vurgulamayı kapattıysanız bile olmayabilir. Şu anda geçerli olan sözdizimini görmek için yürütün :echo b:current_syntax. Halen yürürlükte olan sözdizimi öğelerini görmek için Ingo'nun önerdiği ve uyguladığı şekilde yapın :syntax list. Sonuncusu, Ingo'nun belirttiği gibi, birden fazla sözdizimi dosyasındaki sözdizimi öğelerinin etkin olup olmadığını yardımcı olabilir.
garyjohn,

1
Mac OS'de XI değiştirildi /usr/share/vim/vim73/filetype.vim. Yukarıdaki komutu kullandıktan sonra MacVim'in versiyonunu kullandığını fark ettim ~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim. MacVim'i yüklediyseniz, doğru dosyayı değiştirdiğinizden emin olun.
echamber

1
Aynı ada sahip iki sözdizimi dosyası yüklenmiş olabilir. Örneğin, vim ColdFusion /usr/share/vim/vim81/syntax/cf.vimiçin ( benim için) vurgulayan sözdizimi ile birlikte gelir . Standart bir tarihli olduğu için özel bir cf.vim kurdum. :scriptnamesher iki dosyayı da gösterir. Varsayılan komut dosyası listesinde daha düşüktür; ancak, eski kullanılıyor. Bakarsan /usr/share/vim/vim81/syntax/cf.vim, bir bekçi var if exists("b:current_syntax") finish endif. Yani, benim durumumda, scriptnamesyardımcı oldu, ama biraz daha derin kazmak zorunda kaldı.
avejidah

31

Geçerli tamponun sözdizimi, üzerinden sorgulanabilir

:setlocal syntax?

Genellikle (ancak zorunlu değil) tamponun filetype'ına ( :setlocal filetype?) karşılık gelir .

Daha derin bir görünüm için,

:syntax list

gösterileri tüm sözdizimi tanımları (bazı sözdizimi (teneke) diğer dilin örn sözdizimlerini içerir javasahiptir htmljavadoc açıklama biçimlendirme için).


OP'nin sorusu başlığına göre aradığım şey buydu. Tabii ki OP, gerçek sözdizimi dosyasını aradığı açıklamada açıklığa kavuşturuyor, ancak arama motorlarında ilk cevaplardan biri olduğu için buradan ayrılmanızı takdir ediyorum.
44’te

4

Şu anda hangi dosya türlerinin kullanıldığını ve

:verbose set ft ?

Dosya türünü işleyen eklenti büyük olasılıkla adresinde bulunur.

:e $VIMRUNTIME\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.