Vim'deki çoklu dosya türleri için farklı arka plan renkleri


10

Birden fazla dosya türüyle (örn. :set ft=html.php) Dosyalarla uğraşırken vim'de farklı arka plan renklerine sahip olmak (yani bir açık, bir koyu ) mümkün mü? HTML'nin gömülü olduğu PHP kodunda düzinelerce HTML satırından tek bir PHP ifadesi görmek zor olabilir, aşağıya bakınız. Her şeye karar vereceğim, farklı bg rengi, kenar boşluğundaki bir işaretleyici, ikinci bir sol kenar boşluğu (bir vim eklentisi bunu işaretler için yapıyor), belki <?phpetiketi vurgulayarak (ideal olmasa da)

PHP HTML Kodunda

EDIT: Sözdizimi sınırlı sayıda öğe (String, Function, Identifier ...) kullanıyor gibi göründüğü için sözdizimi düzeyinde bunun mümkün olduğunu sanmıyorum. Bu, renk kimyasallarıyla kolay entegrasyon için izin vermekten şüphesizdir. SyntaxAttr bunu göstermek için iyi bir eklentidir. Kodun herhangi bir yerine koyun, size hangi sözdizimi grubuna ait olduğunu söyleyecektir.


Muhtemelen, bu post stackoverflow.com/questions/4167425/… adresindeki aynı çözümü kullanabilirsiniz, burada sql_ ile başlayan herhangi bir dizeyi vurgulayan özel bir renk şeması oluştururlar.

1
PHP olmayan ?>ve <?PHP olmayan bölgeleri tespit edebilecek miyim, bakalım .
puk

Yanıtlar:


1

Başka bir olası çözüm, 'background' ayarını kontrol etmek için favori colorcheme dosyanızı kişiselleştirmektir. Birçoğu 'arka plan' ayarını bir şekilde veya başka şekilde ayarlar, ancak vurgulama renklerinin ne olacağını değiştirmek için kontrol edilebilir.

Örnek renk düzeni


" Search
if &background=="dark"
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
else " background is light
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
fi


Bir kelimenin / karakterin dilini kontrol etmenin bir yolu var mı? yani eğer HTML v PHP ise?
puk

Bağlıdır. Belirli bir kelime için vurgulama tipini kontrol edebilirsiniz. Ve eğer HTML ile PHP arasında bir fark varsa, bunu bileceksin. Ama bence fazladan fazla iş olmadan elde edebileceğin en iyisi bu. Vurgu türünü elde etmek için aşağıdaki gibi bir şey kullanın:: echo synIDattr (synID (satır ("."), Sütun ("."), 1), "ad")
pottsdl
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.