Gedit'te varsayılan bir sözdizimi vurgusu ayarlayabilir miyim?


24

Bir belgeyi gedit'te kaydedene kadar, sözdizimi vurgulama kapatılır. Bunun açıkça belli sebepleri var - eğer bazı kelimeler rastgele renklerle gösterilirse, insanlar karışabilir. Ancak, amaçları doğrultusunda, gedit'i neredeyse yalnızca HTML düzenleme için kullanıyorum.

Çoğu zaman, kod snippet'lerini hızlı düzenleme için yeni bir gedit belgesine yapıştırıyorum ve sözdizimi renklendirmesini elle HTML olarak ayarlamam gerekiyor. Diğer zamanlarda, görünüşte tanımadığı ColdFusion (.cfm) belgelerini açıyorum ve yine rengi el ile HTML olarak ayarlamam gerekiyor. Tanınan bir dosya uzantısı olmadan yeni belgeler ve belgeler için otomatik olarak HTML sözdizimini vurgulayarak gedit'e söylemenin bir yolunu bulabilirsem, bu rahatsızlıkların her ikisi de düzeltilebilir. Mümkün mü?


Ayrıca dosyayı kaydetmek zorunda kalmadan farklı diller arasında geçiş yapıp yapamayacağımı merak ettim, tıpkı SciTE'deki gibi. Bana zaman kazandırır.
nickguletskii

Yanıtlar:


21

En html sözdiziminde az eklenti dosya uzantıları düzenleyerek düzeni boyama yapabilirsiniz html.langyılında /usr/share/gtksourceview-2.0/language-specs/bir süper kullanıcı olarak. Yani cfm dosyalarına vurgu yaparak HTML sözdizimi eklemek istediğinizi söyleyin,

<property name="globs">*.html;*.htm</property>

(varsayılan html.lang)

<property name="globs">*.html;*.htm;*.cfm</property>


Teşekkürler! Bu benim gedit ColdFusion dosyalarıma sözdizimi renklendirme eklemek için çalıştı.
Michael Martin-Smucker 11:11

2
Keşke bu cevaba birkaç oy daha ekleyebilseydim. Ben sadece bu cevabı tekrar kullanarak LSS ve SASS dosyalarına CSS'yi vurguladım.
Michael Martin-Smucker

1
Ben çoğaltarak ve düzenleme fikir gibi .langde kullanıcı dizinine kendim
jozxyqk

1
@michaelms Ayrıca yazıya ve yorumlarınıza bir artı değer ekledim, çünkü sükse nano / usr/share/gtksourceview-3.0/language-specs/css.lang ekleyerek * ekleyerek gedit'teki LESS dosyalarıma vurgulanan CSS sözdizimi de ekledim. daha az ve *. globs mülküne sass: <property name="globs">*.css;*.CSSL;*.less;*.sass</property>
Link Swanson

Gtksourceview'un farklı sürümleri için yolu değiştirmeniz gerekebilir. Üzerine yazılmasını önlemek için dosyayı profil klasörünüze de kopyalamak isteyebilirsiniz. Aşağıdaki 5chdn'nin cevabına bakınız ( askubuntu.com/a/310553/37574 )
mwfearnley

14

Kendi dil tanım dosyalarınızı $HOMEdizinde oluşturabilirsiniz. GTK dil özelliklerini düzenleme olup tavsiye edilmez o olacak şekilde overriden her Gtksourceview güncellemesinden.

Dil özellikleri dosyanızı ana dizine kopyalayın:

$ cp /usr/share/gtksourceview-3.0/language-specs/html.lang ~/.local/share/gtksourceview-3.0/language-specs/

Ardından, özel dosya biçimlerinizi .cfmuzantı listesine ekleyin :

<property name="globs">*.html;*.htm;*.cfm</property>

Bu yol gedit, özel dosya formatlarınızı vurgulayan otomatik sözdizimini kullanır ve gtk güncellemeleri özel değişikliklerinizi geçersiz kılmaz.


1
Bu seçilen cevaptan daha iyi bir seçenektir. Mümkün olduğunda, yerel olarak değişiklikleri uygulayın.
nightcod3r

Ancak gedut kopyalanan dosyayı $ HOME'da nasıl tanıyacak? Gedit'e $ HOME içindeki .lang dosyasının bakılması gerektiğini nasıl söylerim? Şimdiden teşekkürler.
Srikrishnan

8

Gedit kaynak kodunu değiştirmeden veya varsayılanı geçersiz kılmak için bir eklenti yazmadan bu mümkün değildir. Varsayılan sözdizimi vurgulama şeması zor kodlanmıştır .


Beni doğru yöne çevirdiğin için teşekkürler. En yeni gedit'i klonladım ve şimdi gedit'in gtk + 3'e bağlı olduğunu fark etmeden önce alay etmeye başladım. Bu, pazarlık yaptığımdan çok daha büyük bir karmaşaya dönüşme potansiyeline sahip. ;-)
Michael Martin-Smucker 23:11

Bir şey daha: hangi değerlerin languagegeçerli olduğu hakkında bir fikriniz var mı? Kaynağa baktım geditve gtksourceviewdil isimlerine benzeyen bir şey bulamadım (ancak C becerilerim oldukça yok.)
Michael Martin-Smucker

1
@MichaelMS Emin değilim, ancak bir çözüm için herhangi bir çaba harcamayı planlıyorsanız, Python eklentisine bir set_languageçağrı yerleştirmenin en kolay olabileceğini düşünüyorum . HTML kaynağını vurgulamak için doğru değeri bulmak için muhtemelen kullanabilirsiniz . get_language
ændrük
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.