5.94 (2022-05-02)
Telif Hakkı © 2000, 2001 Thad McGinnis
Telif Hakkı © 2005 Anne-Marie Mahfouf <annma@kde.org>, Anders Lund <anders@alweb.dk>
Telif Hakkı © 2011, 2012, 2013, 2014 T.C. Hollingsworth <tchollingsworth@gmail.com>
KatePart, KDE için tam özellikli bir düzenleyici bileşenidir.
İçindekiler
- 1. Giriş
- 2. Bazı Temel Bilgiler
- 3. KatePart düzenleyicisiyle çalışmak
- 4. Menü Girdileri
- 5. Gelişmiş Düzenleme Araçları
- 6. KatePart'ı genişletmek
- 7. KatePart Yapılandırması
- 8. Emeği Geçenler ve Lisans
- 9. Vi Giriş Kipi
- A. Düzenli İfadeler
Örnekler
KatePart, birçok Qt™ ve KDE uygulaması için tam özellikli bir düzenleyici bileşendir. KatePart, bir metin düzenleyicisinden fazlasıdır; bir programcı düzenleyicisi olarak tasarlanmıştır ve daha güçlü düzenleyicilere en azından kısımsal bir alternatif olarak düşünülebilir. KatePart'ın temel özelliklerinden biri, sözdizim renklendirmesidir ve bu özellik birçok programlama dili için özelleştirilmiştir: C/C++, Java™, Python, Perl, Bash, Modula 2, HTML ve Ada.
KWrite, KatePart temelli yalın bir metin düzenleyicisidir. Pencere başına o anda bir dosyayı düzenlemenizi sağlayan tek bir belge arabirimi (SDI) vardır. KWrite, KatePart'ın çok basit bir uygulamasıdır ve kendi belgelendirmesini gerektirmemektedir. KatePart'ın nasıl kullanılacağını biliyorsanız KWrite'ı da kullanabilirsiniz.
KWrite ve diğer birçok KatePart kullanımı çok basittir. Daha önce herhangi bir metin düzenleyicisi kullanmış herkes herhangi bir sorun yaşamayacaktır.
KatePart, KDE Sürükle ve Bırak protokolünü kullanır. Dosyalar Masaüstünden, dosya yöneticisi Dolphin'den veya Dolphin pencerelerinden birinde açılmış bazı uzak FTP sitelerinden KatePart'a sürüklenip bırakılabilir.
Kısayolların birçoğu, Ayarlar menüsünden yapılandırılabilir. Öntanımlı olarak KatePart, aşağıdaki kısayolları tanır:
Ekle | Ekle ve Üzerine Yaz kipi arasında geçiş yapın. Ekleme kipindeyken düzenleyici, herhangi bir veriyi metin imlecinin sağına doğru iterken, yazılan karakterleri metne ekleyecektir. Üzerine yazma kipi, her karakterin girişinin, metin imlecinin sağındaki karakteri hemen ortadan kaldırmasına neden olur. |
Sol Ok | İmleci bir karakter sola taşıyın. |
Sağ Ok | İmleci bir karakter sağa taşıyın. |
Yukarı Ok | İmleci bir satır yukarı taşıyın. |
Aşağı Ok | İmleci bir satır aşağı taşıyın. |
Kontrol+E | Belgedeki önceki düzenleme konumuna gidin. |
Kontrol+Üst Karakter+E | Belgedeki sonraki düzenleme konumuna gidin. |
Seçenek+Üst Karakter+Yukarı Ok | İmleci önceki eşleşen girintiye taşıyın. |
Seçenek+Üst Karakter+Aşağı Ok | İmleci önceki eşleşen girintiye taşıyın. |
Kontrol+6 | Eşleyen ayraca taşıyın. |
Sayfa Yukarı | İmleci bir sayfa yukarı taşıyın. |
Sayfa Aşağı | İmleci bir sayfa aşağı taşıyın. |
Baş | İmleci satırın başına taşıyın. |
Son | İmleci satırın sonuna taşıyın. |
Kontrol+Baş | Belgenin başına taşıyın. |
Kontrol+Son | Belgenin sonuna taşıyın. |
Kontrol+Yukarı Ok | Bir satır yukarı sarın. |
Kontrol+Aşağı Ok | Bir satır aşağı sarın. |
Kontrol+Sağ Ok | Sözcüğü sağa taşıyın. |
Kontrol+Sol Ok | Sözcüğü sola taşıyın. |
Kontrol+Üst Karakter+Yukarı Ok | Satırları yukarı taşıyın. |
Kontrol+Üst Karakter+Aşağı Ok | Satırları aşağı taşıyın. |
Kontrol+. | Seçili satırları aşağıya çoğaltın. |
Kontrol+B | Bir yer imi koyun. |
Seçenek+Sayfa Yukarı | Önceki yer imine gidin. |
Seçenek+Sayfa Aşağı | Sonraki yer imine gidin. |
Sil | İmlecin sağındaki karakteri (veya seçili herhangi bir metni) silin. |
Geri Sil | İmlecin solundaki karakteri silin. |
Kontrol+Sil | Sağdaki sözcüğü silin. |
Kontrol+Geri Sil | Soldaki sözcüğü silin. |
Kontrol+K | Satırı silin. |
Üst Karakter+Giriş | Geçerli satırın harf veya rakam olmayan baştaki karakterlerini içeren yeni satır ekleyin. Örneğin, koda yorum yazmak için kullanışlıdır: Satırın sonunda “// bir metin” bu kısayola basın ve sonraki satır yine “// ” ile başlar. Yani yorum içeren her yeni satırın başına yorum karakterlerini girmenize gerek yoktur. |
Kontrol+Üst Karakter+Giriş | Geçerli satırın altına yeni bir satır oluşturun. |
Kontrol+Seçenek+Giriş | Geçerli satırın üstüne yeni bir satır oluşturun. |
Üst Karakter+Sol Ok | Metni bir karakter sola imleyin. |
Üst Karakter+Sağ Ok | Metni bir karakter sağa imleyin. |
Kontrol+F | |
F3 | |
Üst Karakter+F3 | |
Kontrol+H | |
Kontrol+Üst Karakter+H | |
Kontrol+Üst Karakter+Sağ Ok | Sözcüğü sağa doğru seçin. |
Kontrol+Üst Karakter+Sol Ok | Sözcüğü sola doğru seçin. |
Üst Karakter+Baş | Satırın başına kadar seçin. |
Üst Karakter+Son | Satırın sonuna kadar seçin. |
Üst Karakter+Yukarı Ok | Önceki satıra kadar seçin. |
Üst Karakter+Aşağı Ok | Sonraki satıra kadar seçin. |
Kontrol+Üst Karakter+6 | Eşleşen ayraca kadar seçin. |
Kontrol+Üst Karakter+Sayfa Yukarı | Görünümün en üstüne kadar seçin. |
Kontrol+Üst Karakter+Sayfa Aşağı | Görünümün en altına kadar seçin. |
Üst Karakter+Sayfa Yukarı | Bir sayfa yukarıya kadar seçin. |
Üst Karakter+Sayfa Aşağı | Bir sayfa aşağıya kadar seçin. |
Kontrol+Üst Karakter+Baş | Belgenin başına kadar seçin. |
Kontrol+Üst Karakter+Son | Belgenin sonuna kadar seçin. |
Kontrol+Baş | Tümünü seçin. |
Kontrol+Üst Karakter+A | Seçimi kaldırın. |
Kontrol+Üst Karakter+B | Blok seçim kipine geçin. |
Kontrol+C / Kontrol+Ekle | İmlenen metni panoya kopyalayın. |
Kontrol+D | Yorum yazın/geçin. |
Kontrol+Üst Karakter+D | Yorumu kaldırın. |
Kontrol+G | Satıra gidin... |
Kontrol+I | Seçimi girintileyin. |
Kontrol+Üst Karakter+I | Seçimin girintisini kaldırın. |
Kontrol+J | Satırları birbirine katın. |
Kontrol+P | |
Kontrol+R | |
Kontrol+S | Kaydet komutunu çağırır. |
Kontrol+Üst Karakter+S | Farklı kaydedin. |
Kontrol+U | BÜYÜK harfe çevirin. |
Kontrol+Üst Karakter+U | küçük harfe çevirin. |
Kontrol+Seçenek+U | Baş harfleri büyütün. |
Kontrol+V / Üst Karakter+Ekle | Pano metnini düzenleme satırına yapıştırın. |
Kontrol+X / Üst Karakter+Ekle | İmli metni silin ve panoya kopyalayın. |
Kontrol+Z | Geri al yapın. |
Kontrol+Üst Karakter+Z | |
Kontrol+- | Yazıtipini küçültün. |
Kontrol++Kontrol+= | Yazıtipini büyütün. |
Kontrol+Üst Karakter+- | Üst düzey düğümleri katlayın. |
Kontrol+Üst Karakter++ | Üst düzey düğümlerin katını açın. |
Kontrol+Boşluk | Kod tamamlamayı çağırın. |
F5 | |
F6 | Simge kenarlığını gösterin/gizleyin. |
F7 | Komut satırına geçin. |
F9 | Katlama imlerini gösterin/gizleyin. |
F10 | Devingen sözcük kaydırmayı etkinleştirin. |
F11 | Satır numaralarını gösterin/gizleyin. |
Kontrol+T | Karakterlerin yerini değiştirin. |
Kontrol+Üst Karakter+O | Kendiliğinden yazım denetimi yapın. |
Kontrol+Üst Karakter+V | Sonraki giriş kipine geçin. |
Kontrol+8 | Yukarıdaki sözcüğü yeniden kullanın. |
Kontrol+9 | Aşağıdaki sözcüğü yeniden kullanın. |
Kontrol+Seçenek+# | Kısaltmayı genişletin. |
Kontrol+Seçenek+Yukarı Ok | Geçerli imlecin üzerine bir imleç ekleyin. |
Kontrol+Seçenek+Aşağı Ok | Geçerli imlecin altına bir imleç ekleyin. |
Üst Karakter+Seçenek+I | Seçimdeki her satırın sonunda bir imleç oluşturun. |
Seçenek+J | İmlecin altındaki sözcüğün bir sonraki oluşunu bulun ve onu seçin. |
Kontrol+Seçenek+Üst Karakter+J | İmlecin altındaki sözcüğün tüm oluşlarını bulun ve onları seçin. |
KatePart düzenleyicisi KatePart penceresinin düzenleme alanıdır. Bu düzenleyici Kate ve KWrite arasında paylaşılır ve aynı zamanda yerel bilgisayarınızdan veya ağdan gelen metin dosyalarını görüntülemek için Konqueror'da da kullanılabilir.
Düzenleyici aşağıdaki bileşenlerden oluşur:
- Düzenleme Alanı
Bu belgenizin metninin konumlandığı yerdir.
- Sarma Çubukları
Sarma çubukları, belge metninin görünür kısmının konumunu belirtir ve belgede dolaşmak için kullanılabilir. Sarma çubuklarının sürüklenmesi, ekleme imlecinin hareket etmesine neden olmaz.
Sarma çubukları gerektikçe görüntülenir veya gizlenir.
- Simge Kenarlığı
Simge kenarlığı, düzenleyicinin sol tarafında, imli satırların yanında küçük bir simge görüntüleyen küçük bir bölmedir.
Görünür bir satırdaki yer imini, o satırın yanındaki simge kenarlığına Fare Düğmesi ile tıklayarak ayarlayabilir veya kaldırabilirsiniz.
Simge kenarlığının görüntülenmesi → menü ögesi ile açılıp kapatılabilir.
- Satır Numaraları Bölmesi
Satır numaraları bölmesi, belgedeki tüm görünür satırların satır numaralarını gösterir.
Satır numaraları bölmesinin görüntülenmesi, → menü ögesi ile açılıp kapatılabilir.
- Katlama Bölmesi
Katlama bölmesi, katlanabilir satır bloklarını daraltmanıza veya genişletmenize olanak tanır. Katlanabilir bölgelerin hesaplanması, belgenin sözdizim vurgulama tanımındaki kurallara göre yapılır.
KatePart'de metinde dolaşmak çoğu grafik metin düzenleyicisi ile benzerdir. İmleci, Kontrol ve Üst Karakter niteleyicileriyle birlikte ok düğmelerini ve Sayfa Yukarı, Sayfa Aşağı, Baş ve Son düğmelerini kullanarak hareket ettirirsiniz. Üst Karakter düğmesi her zaman bir seçim üretmek için kullanılırken, Kontrol düğmesinin farklı düğmeler üzerinde farklı etkileri vardır:
Yukarı Ok ve Aşağı Ok düğmeleri için imleci hareket ettirmekten ziyade sarma anlamına gelir.
Sol Ok ve Sağ Ok düğmeleri için karakterler yerine sözcükleri atlama anlamına gelir.
Sayfa Yukarı ve Sayfa Aşağı düğmeleri için tarama yerine görünümün görünür kenarına hareket etme anlamına gelir.
Baş ve Son düğmeleri için satır başı ve sonu yerine belgenin başına ve sonuna git anlamı taşır.
KatePart ayrıca eşleşen ayraç veya parantezlere tez atlamanın bir yolunu da sağlar: İmleci parantez veya ayraç karakterinin içine yerleştirin ve eşleşen parantez veya ayraca atlamak için Kontrol+6 kısayolunu kullanın.
Ek olarak, kendi tanımladığınız konumlara tez atlamak için yer imlerini kullanabilirsiniz.
KatePart içinde iki temel metin seçim yolu bulunur: Fareyi ve klavyeyi kullanarak.
Fareyi kullanarak seçim yapmak için, fare imlecini seçimin başlaması gereken yerden istenen bitiş noktasına sürüklerken Fare Düğmesi'ni basılı tutun. Siz sürükledikçe metin seçilir.
Bir sözcüğe çift tıklamak o sözcüğü seçecektir.
Bir satıra üç kez tıklamak tüm satırı seçecektir.
Tıklarken Üst Karakter basılı tutulursa metin seçilecektir:
Halihazırda bir şey seçili değilse metin imleci konumundan fare imleci konumuna kadar.
Bir seçim varsa bu seçimden fare imleci konumuna kadar.
Not
Fareyi sürükleyerek metin seçerken, seçili metin panoya kopyalanır ve düzenleyicide veya metni yapıştırmak istediğiniz başka herhangi bir uygulamada farenin orta tuşuna basılarak yapıştırılabilir.
Klavyeyi kullanarak seçim yapmak için dolaşma (ok düğmeleri, Sayfa Yukarı, Sayfa Aşağı, Baş ve Son, metin imlecinin hareketini genişletmek için büyük olasılıkla Kontrol ile birlikte) düğmelerini kullanırken Üst Karakter düğmesini basılı tutun.
Bu fasıldaki Metinde Dolaşmak bölümüne de göz atın.
Geçerli seçimi kopyalamak için → menü ögesini veya klavye kısayolunu kullanın (öntanımlı olarak Kontrol+C).
Geçerli seçimi kaldırmak için → menü ögesini veya klavye kısayolunu kullanın (öntanımlı olarak Kontrol+Üst Karakter+A) veya düzenleyicide Fare Düğmesi ile tıklayın.
Blok Seçim Kipi etkinleştirildiğinde, metinde “dikey seçimler” yapabilirsiniz; bu, birden çok satırdan sınırlı sayıda sütunların seçilebilmesi anlamına gelir. Bu; örneğin, sekmeyle ayrılmış satırlarla çalışmak için kullanışlıdır.
Blok Seçim Kipi → menü ögesiyle açılıp kapatılabilir. Öntanımlı klavye kısayolu: Kontrol+Üst Karakter+B.
Seçimin Üzerine Yaz etkinleştirilirse seçime metin yazmak veya yapıştırmak, seçili metnin değiştirilmesine neden olur. Etkinleştirilmezse metin imlecinin konumuna yeni metin eklenir.
Seçimin Üzerine Yaz öntanımlı olarak etkindir.
Bu seçeneğin ayarını değiştirmek için Yapılandırma İletişim Kutusu'ndaki İmleç ve Seçim sayfasını kullanın.
Kalıcı Seçim etkinleştirildiğinde, karakterler girmek veya imleci hareket ettirmek seçimin kaldırılmasına neden olmaz. Bu, imleci seçimden uzaklaştırıp metin yazabileceğiniz anlamına gelir.
Kalıcı Seçim öntanımlı olarak devre dışıdır.
Kalıcı Seçim, Yapılandırma İletişim Kutusu'ndaki İmleç ve Seçim sayfasından etkinleştirilebilir.
Uyarı
Kalıcı Seçim ve Seçimin Üzerine Yaz etkinse metin imleci seçimin içindeyken yazmak veya metin yapıştırmak metnin değiştirilmesine ve seçimin kaldırılmasına neden olur.
Metin kopyalamak için metni seçin ve → menü ögesini kullanın. Ek olarak, metni fareyle seçmek, metnin X panosuna kopyalanmasıne neden olacaktır.
Şu anda panoda olan metni yapıştırmak için → menü ögesini kullanın.
Ayrıca fareyle seçilen metin, Fare Düğmesi ile tıklanarak istenilen konuma yapıştırılabilir.
İpucu
KDE masaüstünü kullanıyorsanız daha önceden kopyalanan metinleri sistem tepsisindeki Klipper simgesine tıklayarak alabilirsiniz.
KatePart'de artımlı bir arama çubuğu ve güçlü arama ve değiştirme çubuğu bulunur; bu, birkaç ek seçeneğin yanı sıra yeni bir dizi girme olanağı sunar.
Çubuklar şu ortak seçenekleri sunar:
- Bul
Arama dizisinin girileceği yer burasıdır. Dizinin yorumlanması aşağıda açıklanan seçeneklerden bazılarına bağlıdır.
- BÜYÜK/küçük harf eşleştir
Etkinleştirilirse arama, arama dizgisindeki karakterlerin her birinin BÜYÜK/küçük harfiyle eşleşen girişlerle sınırlı olacaktır.
Gelişmiş ara ve değiştir çubuğu bazı ek seçenekler sunar:
- Düz metin
Arama dizisinin herhangi bir örneğini eşleştirin.
- Tam sözcükler
Seçilirse arama, yalnızca dizi eşleşmesinin her iki ucunda da bir sözcük sınırı varsa eşleşir; bu, abece-sayısal bir karakter anlamına gelmez - başka bir görünür karakter veya satır sonu olabilir.
- Kaçış dizileri
Seçilirse metin kutularının bağlam menüsünün altındaki menü ögesi etkinleştirilir ve önceden tanımlanmış bir listeden arama dizgisine kaçış dizileri eklemenize olanak tanınır.
- Düzenli ifadeler
Seçilirse arama dizisi, düzenli ifade olarak yorumlanır. Metin kutularının bağlam menüsünün altındaki menü ögesi etkinleştirilir ve arama dizgisine önceden tanımlanmış bir listeden düzenli ifade ögeleri eklemenize olanak tanınır.
Bu konu hakkında daha fazla bilgi için Düzenli İfadeler bölümüne bakın.
- Yalnızca seçimde ara
İşaretlenirse ara ve değiştir yalnızca seçili metin içinde gerçekleştirilir.
- Tümünü bul
Bu düğmeye tıklamak, belgedeki tüm eşleşmeleri vurgular ve bulunan eşleşmelerin sayısını küçük bir açılır pencerede gösterir.
Metin bulmak için Kontrol+F klavye kısayoluyla veya → menü ögesinden artımlı arama çubuğunu başlatın.
Bu, düzenleyici penceresinin altındaki artımlı arama çubuğunu açar. Çubuğun sol tarafında, çubuğu kapatmak için bir simgenin bulunduğu bir düğme ve ardından arama dizgisini girmek için küçük bir metin kutusu bulunur.
Arama dizginizin karakterlerini girmeye başladığınızda arama hemen başlar. Metinde bir eşleşme varsa bu vurgulanır ve giriş alanının arka plan rengi açık yeşil olarak değişir. Arama dizgisi herhangi bir diziyle eşleşmezse metinde bu, giriş alanının açık kırmızı arka plan rengiyle belirtilir.
Belgedeki önceki veya sonraki eşleşmeye atlamak için
veya
düğmelerini kullanın.
Arama çubuğunu kapattığınızda bile belgedeki eşleşmeler vurgulanır. Bu vurgulamayı temizlemek için Esc; düğmesine basın.
Aramanızın BÜYÜK/küçük harf duyarlı olup olmayacağını seçebilirsiniz.
seçmek, arama dizgisindeki her bir karakterin metindeki BÜYÜK/küçük harflerle eşleşip eşleşmeyeceğini seçmenize olanak tanır.
Gelişmiş ara ve değiştir çubuğuna geçmek için artımlı arama çubuğunun sağ tarafındaki
düğmesine tıklayın.
Son bulma işlemini (varsa) artımlı arama çubuğunu çağırmadan yinelemek için → (F3) veya → (Üst Karakter+F3) ögelerini kullanın.
Metni değiştirmek için → menü ögesini veya Kontrol+R kısayolunu kullanarak gelişmiş arama çubuğunu başlatın.
Çubuğun sol üst tarafında, çubuğu kapatmak için bir simge bulunan bir düğme ve ardından arama dizgisini girmek için küçük bir birleşik giriş kutusu bulunur. Kutu, son kullanılan dizgileri anımsar.
Arama kipini, açılır kutudan Düz metin, Tam sözcükler, Kaçış dizileri veya Düzenli ifade seçeneklerini kullanarak denetleyebilirsiniz.
Kaçış dizileri veya Düzenli ifade seçilirse metin kutularının bağlam menüsünün altında bulunan düğmesi etkinleştirilir ve ara ve değiştir dizgilerine önceden tanımlanan listelerden kaçış dizileri veya düzenli ifade ögeleri eklemenize olanak tanır.
Belgedeki önceki veya sonraki eşleşmeye atlamak için
veya
düğmelerini kullanın.
Değiştir etiketli metin kutusuna değiştirilecek metni girin ve yalnızca vurgulanan metni değiştirmek için düğmesini veya tüm belgedeki arama metnini değiştirmek için düğmesine tıklayın.
Çubuğun altındaki bölümden değişik seçenekler seçerek ara ve değiştir davranışını değiştirebilirsiniz.
seçmek, aramayı BÜYÜK/küçük harf eşleşen girdilere sınırlar.
, yalnızca geçerli seçimde ara ve değiştir yapar. Tümünü Bul düğmesi, belgedeki tüm eşleşmeleri vurgular ve küçük bir açılır pencerede bulunan eşleşme sayısını görüntüler.
Artımlı arama çubuğuna geçmek için gelişmiş arama çubuğunun sağ tarafındaki
düğmesine tıklayın.
İpucu
Değiştirilecek metni bulmak için düzenli bir ifade kullanıyorsanız ifadenin parantez içindeki alt dizgilerinde yakalanan metni yeniden kullanmak için geriye başvurulardan yararlanabilirsiniz.
Bu konu hakkında daha fazla bilgi için Düzenli İfadeler bölümüne bakın.
İpucu
Komut satırından find (bul), replace (değiştir) ve ifind (artımlı arama) yapabilirsiniz.
Yer imleri özelliği, belirli satırları imlemenize ve bunları yeniden kolayca bulabilmenize olanak tanır.
Bir satırdaki yer imini iki yolla koyabilir veya kaldırabilirsiniz:
Ekleme imlecini satıra götürün ve → (Kontrol+B) komutunu kullanın.
Satırın yanındaki simge kenarlığına tıklayın.
Yer imleri, menüsünden kullanılabilir. Bireysel yer imleri, yer iminin bulunduğu satırın satır numarasıyla ve satırdaki metnin ilk birkaç karakteriyle etiketlenmiş menü ögeleri olarak bulunur. Ekleme imlecini, yer imi koyulmuş bir satırın başına taşımak için menüyü açın ve yer imini seçin.
Yer imleri arasında tez gezinmek veya önceki/sonraki yer imine gitmek için → (Seçenek+Sayfa Aşağı) veya → (Seçenek+Sayfa Yukarı) komutlarını kullanın.
Bu özellik, metni çok basit bir şekilde biçimlendirmenize olanak tanır: Metin kaydırılır, böylece boşluk olmayan karakterlerden oluşan daha uzun bir dizi olmadığı sürece hiçbir satır, satır başına en çok karakter sayısını aşmaz.
Etkinleştirmek veya devre dışı bırakmak için yapılandırma iletişim kutusundaki Düzenleme sayfasından onay kutusunu işaretleyin veya işaretini kaldırın.
En büyük satır genişliğini ayarlamak için (satır başına en çok karakter) yapılandırma iletişim kutusundaki Düzenleme sayfasından seçeneğini kullanın.
Etkinleştirilirse şunlara neden olur:
Yazarken düzenleyici, en çok satır genişliğine ulaşılmadan önceki bir konuma, son boşluk karakterinden sonra kendiliğinden sabit bir satır sonu ekleyecektir.
Bir belgeyi yüklerken düzenleyici, metni benzer şekilde kaydırır, böylece herhangi bir boşluk varsa hiçbir satır en büyük satır genişliğinden daha uzun olmayacaktır.
Not
Şu anda belge türleri için sözcük kaydırmayı ayarlamanın, hatta özelliği belge başına etkinleştirmenin veya devre dışı bırakmanın bir yolu yoktur. Bu, KatePart'in gelecekteki bir sürümünde düzeltilecektir.
KatePart'in düzenleyici bileşeni, çeşitli metin biçimleri için tasarlanan birçok kendiliğinden girintileme aracını destekler. → menüsünden kullanılabilir kipleri seçebilirsiniz. Kendiliğinden girintileme modülleri ayrıca, seçili veya geçerli satırın girintilemesini yeniden hesaplayan bir → işlevine sahiptir. Böylece, metni seçip bu eylemi etkinleştirerek tüm belgenizi yeniden girintileyebilirsiniz.
Tüm girinti kipleri, etkin belgedeki girintilemeyle ilgili ayarları kullanır.
İpucu
Girintilemeyle ilgili her tür yapılandırma değişkenini Belge Değişkenleri ve Dosya Türleri kullanarak ayarlayabilirsiniz.
Kullanılabilir Kendiliğinden Girintileme Kipleri
- Yok
Bu kipi seçmek kendiliğinden girintilemeyi tümüyle kapatır.
- Normal
Bu girinti, boşluk dışındaki herhangi bir içerikteki girintiyi önceki satıra benzer şekilde tutar. Bunu, kendi zevkinize göre girinti yapmak için girintileme ve girintiyi kaldırma eylemlerini kullanarak birleştirebilirsiniz.
- C Tarzı
C ve benzeri diller (C++, C#, Java™, JavaScript vb.) için bir girintileyici. Bu girintileyici, Perl veya PHP gibi betik yazımı dilleriyle çalışmaz.
- Haskell
İşlevsel programlama dili Haskell için bir girintileyici.
- Lilypond
Müzik simgelemi yazım dili Lilypond için bir girintileyici.
- Lisp
Özellikle Lisp betik yazımı dili ve Lisp lehçeleri için bir girintileyici.
- Python
Python betik yazımı dili için özel girintileyici.
- XML Tarzı
XML benzeri diller için özel bir girintileyici.
KatePart'in satır değişikliği göstergeleri, bir dosyada en son neleri değiştirdiğinizi kolayca görmenizi sağlar. Öntanımlı olarak, kaydedilen değişiklikler belgenin solundaki yeşil bir çubukla gösterilirken, kaydedilmemiş değişiklikler turuncu bir çubukla gösterilir.

Satır Değişiklik Göstergeleri kullanılırken.
Kullanılan renkleri, Yazıtipleri ve Renkler yapılandırma panelinden değiştirebilir veya bu özelliği Appearance yapılandırma panelinin Kenarlıklar sekmesinden devre dışı bırakabilirsiniz.
KatePart'in Sarma Çubuğu Mini Haritası, sarma çubuğu yerine belgenin önizlemesini görüntüler. Belgenin o anda görünen kısmı vurgulanır.

Sarma Çubuğu Mini Haritası, Kate kaynak kodunun bir önizlemesini gösterirken.
→ menü ögesini seçerek veya KatePart yapılandırmasının Görünüş bölümünden kalıcı olarak etkinleştirebilir veya devre dışı bırakabilirsiniz.
Çoklu imleç desteği, katepart 5.93 sürümünde eklendi.
Onları oluşturmak için Seçenek + Fare Düğmesi kullanın. Niteleyici kombinasyon yapılandırılabilirdir; Çoklu imleç niteleyicisini yapılandırmak bölümüne bakın
Klavyeyle birincil imlecin üstünde oluşturmak için Kontrol+Seçenek+Yukarı Ok, altında oluşturmak için Kontrol+Seçenek+Aşağı Ok kısayollarını kullanın. Bu kısayollar yapılandırılabilirdir
Bir seçimden imleçler oluşturmak için önce biraz metin seçin ve sonrasında Üst Karakter+Seçenek+I kısayolunu kullanın. Bu, seçimdeki her bir satırın sonunda bir imleç oluşturacaktır.
İmlecin altındaki sözcüğün bir sonraki oluşunu bulmak için Seçenek+J kısayolunu kullanın ve onu seçin, sonrasında bir imleç oluşturun. İmleç altındaki geçerli sözcüğü atlamak istiyorsanız Seçenek+K kısayolunu kullanın ve bu, geçerli seçili sözcüğü atlanmış olarak imler. Seçenek+J kısayoluna yeniden basarsanız geçerli sözcüğün seçimini kaldırır ve sonraki sözcüğe geçer.
İmlecin altındaki sözcüğün tüm oluşlarını bulmak için Kontrol+Seçenek+Üst Karakter+J kısayolunu kullanın ve bunları her seçimin sonunda imleçle seçin. Seçili sözcükler arasında geçiş yapmak için Seçenek+J kullanabilir ve önceki paragrafta belirtildiği gibi herhangi bir kelimenin seçimini kaldırmak için Seçenek+K kısayolunu kullanabilirsiniz.
Birkaç imleç oluşturduğunuzda, tek bir imleçte yaptığınız gibi düzenleme işlemlerinin çoğunu bunlar üzerinde gerçekleştirebilirsiniz. Örneğin, bir harf yazmak, her imleç için o harfi yazacaktır. Benzer şekilde metin dönüşümleri gerçekleştirebilirsiniz; örneğin tüm pozisyonlar veya seçimler için büyük harf kullanımı gibi.
Bazen imleçleri kaldırmak isteyeceksiniz. Bunu yapmak için kaldırmak istediğiniz imlecin üzerinde Seçenek+ Fare Düğmesi kullanın. Yalnızca boş satırlardaki imleçleri kaldırmak istiyorsanız bunu sizin için yapacak bir işlev bulunur. Eylemi başlatmak için Kontrol+Seçenek+I kullanarak Komut Çubuğu’nu açın ve ögesini arayın ve Giriş’a basın. Ayrıca bu eylem için bir kısayol da yapılandırabilirsiniz.
- → (Kontrol+N)
Bu, yeni ve bağımsız bir düzenleyici penceresinde yeni bir belge başlatır.
- →
Geçerli belgeyi içeren başka bir pencere oluşturun. Bir pencerede belgede yapılan tüm değişiklikler diğer pencereye yansıtılır ve bunun tersi de geçerlidir.
- → (Kontrol+O)
Bir standart KDE Dosya Aç iletişim kutusu görüntüler. Açmak istediğiniz dosyayı seçmek için dosya görünümünü kullanın ve onu açmak için düğmesine tıklayın.
- →
Bu, yakın zamanda kaydedilen belgeleri açmak için kullanılan bir kısayoldur. Bu ögeye tıklamak, menünün yan tarafında en son kaydedilen dosyalardan birkaçını içeren bir liste açar. Belirli bir dosyaya tıklamak onu KatePart'de açacaktır - eğer dosya hâlâ aynı konumda bulunuyorsa.
- → (Kontrol+S)
Bu, geçerli belgeyi kaydeder. Belge halihazırda kaydedilmişse kullanıcının izni istenmeden önceden kaydedilen dosyanın üzerine yazılacaktır. Yeni bir belgenin ilk kaydı ise farklı kaydet iletişim kutusu (aşağıda açıklanmıştır) çağrılır.
- → (Kontrol+Üst Karakter+S)
Bu, belgenin yeni bir dosya adıyla kaydedilmesine olanak tanır. Bu, yukarıda bu yardım dosyasının Aç bölümünde açıklanan dosya iletişim kutusu aracılığıyla yapılır.
- →
Belgeyi yeni bir dosya adıyla farklı bir kodlamayla kaydedin.
- →
Belgenin bir kopyasını yeni bir dosya adıyla kaydedin ve özgün belgeyi düzenlemeyi sürdürün.
- → (F5)
Etkin dosyayı diskten yeniden yükler. Bu komut, dosyayı KatePart'de açıkken başka bir program veya işlem değiştirmişse kullanışlıdır.
- → (Kontrol+P)
Kullanıcının neyi, nerede ve nasıl yazdıracağını belirlemesine olanak tanıyan basit bir yazdırma iletişim kutusu açar.
- →
Şu anda açık olan belgeyi, geçerli sözdizim vurgulama ve renk şeması ayarları kullanılarak biçimlendirilecek bir HTML dosyası olarak kaydedin.
- → (Kontrol+W)
Etkin dosyayı bu komutla kapatın. Kaydedilmemiş değişiklikler yaptıysanız KatePart dosyayı kapatmadan önce dosyayı kaydetmeniz istenecektir.
- → (Kontrol+Q)
Bu, düzenleyici penceresini kapatacaktır; veya menü ögeleri aracılığıyla birden fazla KatePart örneği açılmışsa bu örnekler olduğu gibi bırakılır.
- → (Kontrol+Z)
Son düzenleme komutunu geri alın (yazma, kopyalama, kesme vb.)
Not
Bu, karakterler girmek gibi aynı türden birkaç düzenleme komutunun geri alınmasına neden olabilir.
- → (Kontrol+Üst Karakter+Z)
Bu, Geri Al kullanılarak yapılan en son değişikliği (varsa) tersine çevirecektir.
- → (Kontrol+X)
Bu komut, geçerli seçimi siler ve panoya yerleştirir. Pano görünmez bir şekilde çalışır ve uygulamalar arasında veri aktarımı için bir yol sağlar.
- → (Kontrol+C)
Bu, o anda seçili olan metni başka bir yere yapıştırılabilmesi için panoya kopyalar. Pano görünmez bir şekilde çalışır ve uygulamalar arasında veri aktarımı için bir yol sağlar.
- →
Seçimi, geçerli sözdizim vurgulama ve renk şeması ayarları kullanılarak biçimlendirilmiş HTML olarak kopyalayın.
- → (Kontrol+V)
Bu, panodaki ilk ögeyi imleç konumuna yerleştirecektir. Pano görünmez bir şekilde çalışır ve uygulamalar arasında veri aktarımı için bir yol sağlar.
Not
Seçimin Üzerine Yaz etkinse yapıştırılan metin, varsa seçimin üzerine yazılır.
- → (Kontrol+Üst Karakter+Ekle)
Bu, daha önce seçili olan fare seçimi içeriğini yapıştıracaktır. Bu menü ögesini kullanarak, o anda açık olan dosyaya yapıştırmak için fare işaretçisiyle bir metni imleyin.
- →
Bu, seçili metni pano içeriğiyle değiştirecektir.
- →
Bu, pano geçmişinden bir girdiyi seçip yapıştırmak için bir iletişim kutusu açacaktır.
- →
Normal ve Vi benzeri kipsel düzenleme kipi arasında geçiş yapın. Vi giriş kipi, Vim’in normal ve görsel kipinden en çok kullanılan komutları ve hareketleri destekler ve isteğe bağlı bir Vi kipi durum çubuğuna sahiptir. Bu durum çubuğu, girilirken komutları, komutlardan çıktıyı ve geçerli kipi gösterir. Bu kipin davranışı, KatePart’in ayarlar iletişim kutusunda bulunan Düzenleme sayfasındaki Vi Giriş Kipi sekmesinde yapılandırılabilir.
- → (Ekle)
Ekle/Üzerine Yaz kipleri arasında geçiş yapar. Kip EKLE iken, imlecin olduğu yere karakterler girersiniz. Kip ÜZERİNE YAZ ise yazılan karakterler, imleç başka bir karakterden önce konumlandırılmışsa imleçten sonraki karakterlerin üzerine yazar. Durum çubuğu, Üzerine Yazma Kipi’nin geçerli durumunu EKLE veya ÜZERİNE YAZ olarak gösterir.
- →
Geçerli belgeyi saltokunur kipe ayarlayın. Bu, herhangi bir metin eklenmesini ve belge biçimindeki herhangi bir değişikliği önler.
- → (Kontrol+F)
Bu, düzenleyici penceresinin altındaki artımlı arama çubuğunu açar. Çubuğun sol tarafında, çubuğu kapatmak için bir simgenin bulunduğu bir düğme ve ardından arama dizgisini girmek için küçük bir metin kutusu bulunur.
Arama dizginizin karakterlerini girmeye başladığınızda arama hemen başlar. Metinde bir eşleşme varsa bu vurgulanır ve giriş alanının arka plan rengi açık yeşile döner. Arama dizgisi metindeki herhangi bir diziyle eşleşmiyorsa bu durum giriş alanının açık kırmızı arka plan rengiyle gösterilir.
Belgedeki önceki veya sonraki eşleşmeye atlamak için
veya
düğmelerini kullanın.Arama çubuğunu kapattığınızda bile belgedeki eşleşmeler vurgulanır. Bu vurgulamayı temizlemek için Vazgeç düğmesine basın.
Aramanın BÜYÜK/küçük harfe duyarlı olup olmayacağını seçebilirsiniz.
seçildiğinde bulguları, arama dizgisindeki karakterlerin her birinin BÜYÜK/küçük harf durumuyla eşleşen girdilerle sınırlandırır. Artımlı arama çubuğunun sağ tarafındaki
düğmesine basarak gelişmiş arama ve değiştirme çubuğuna geçebilirsiniz. - → → (F3)
Bu, artımlı arama çubuğunu çağırmadan ve imleç konumundan başlayarak belgede ileriye doğru arama yapmadan, varsa son bulma işlemini yineler.
- → → (Üst Karakter+F3)
Bu, artımlı arama çubuğunu çağırmadan ve belgede ileri yerine geriye doğru arama yapmadan, varsa son bulma işlemini yineler.
- → → (Kontrol+H)
Seçili metnin bir sonraki oluşunu bulur.
- → → (Kontrol+Üst Karakter+H)
Seçili metnin bir önceki oluşunu bulur.
- → (Kontrol+R)
Bu komut, gelişmiş arama ve değiştirme çubuğunu açar. Çubuğun sol üst tarafında, çubuğu kapatmak için bir simgenin bulunduğu bir düğme ve ardından arama dizgisini girmek için küçük bir metin kutusu bulunur.
Arama kipini, açılır kutudan Düz metin, Tam sözcükler, Kaçış dizileri veya Düzenli ifade seçeneklerini kullanarak denetleyebilirsiniz.
Kaçış dizileri veya Düzenli ifade seçilirse metin kutularının bağlam menüsünün altında bulunan düğmesi etkinleştirilir ve ara ve değiştir dizgilerine önceden tanımlanan listelerden kaçış dizileri veya düzenli ifade ögeleri eklemenize olanak tanır.
Belgedeki önceki veya sonraki eşleşmeye atlamak için
veya
düğmelerini kullanın.Değiştir etiketli metin kutusuna değiştirilecek metni girin ve yalnızca vurgulanan metni değiştirmek için düğmesini veya tüm belgedeki arama metnini değiştirmek için düğmesine tıklayın.
Çubuğun altındaki bölümden değişik seçenekler seçerek ara ve değiştir davranışını değiştirebilirsiniz.
seçmek, aramayı BÜYÜK/küçük harf eşleşen girdilere sınırlar.
, yalnızca geçerli seçimde ara ve değiştir yapar. Tümünü Bul düğmesi, belgedeki tüm eşleşmeleri vurgular ve küçük bir açılır pencerede bulunan eşleşme sayısını görüntüler. Artımlı arama çubuğuna geçmek için gelişmiş arama çubuğunun sağ tarafındaki
düğmesine tıklayın.
- → (Kontrol+A)
Bu, belgenin tamamını seçer. Bu, dosyanın tümünü başka bir uygulamaya kopyalamak için çok yararlı olabilir.
- → (Kontrol+Üst Karakter+A)
Varsa düzenleyicide seçili metnin seçimini kaldırır.
- → (Kontrol+Üst Karakter+B)
Seçim kipine geçer. Seçim kipi, BLOK olduğunda, durum çubuğu [BLOK] dizisini gösterir ve dikey seçimler yapabilirsiniz; örneğin, 9’dan 15’e kadar olan satırlarda 5’ten 10’a kadar olan sütunları seçebilirsiniz.
- → (Kontrol+D)
Bu imlecin konumlandığı satırın veya seçili satırların bir satır üstüne bir boşluk ekler.
- → (Kontrol+Üst Karakter+D)
Bu, metin imlecinin bulunduğu satırın başlangıcından veya seçilen herhangi bir satırın başlangıcından (varsa) bir boşluk kaldırır.
- → (Kontrol+J)
Seçili satırları veya geçerli satırı ve altındaki satırı ayırıcı olarak bir boşluk karakteriyle birleştirir. Etkilenen uçlarda birleştirilmiş satırların başındaki/sondaki boşluklar kaldırılır.
- → (Kontrol+Seçenek+U)
Seçili metni veya geçerli sözcüğü BÜYÜK harfle yazın.
- → (Kontrol+U)
Seçili metni veya imleçten sonraki harfi BÜYÜK harf yapın.
- → (Kontrol+Üst Karakter+U)
Seçili metni veya imleçten sonraki harfi küçük harf yapın.
- →
Bu, geçerli seçime veya imlecin geçerli olarak bulunduğu satıra ilişkin girintilemeyi temizler. Girintilemeyi temizlemek, seçili metninizin tamamının seçtiğiniz girintileme kipinin izlemesini sağlar.
- →
Belgedeki girintileme kipini ve girintileme ayarlarını kullanarak geçerli satırın veya seçili satırların yeniden hizalanmasını sağlar.
- →
Bu komut, seçili bloktaki veya belgenin tamamındaki satırları, size sorulacak düzenli bir ifadeyle verilen sütunda hizalar.
Boş bir dizgi verirseniz öntanımlı olarak ilk boş olmayan karaktere hizalanır.
Dizginin bir yakalaması varsa yakalanan eşleşmeye girintili olacaktır.
Örnekler:
'
-', tümünü aynı sütuna hizalamak için her satırdaki ilk '-' öncesi boşluklar ekleyecektir.'
alignon:\\s+(.)', tümünü aynı sütuna hizalamak için bir iki nokta öncesi oluşan ilk boş olmayan karakter öncesi boşluklar ekleyecektir.- →
Tüm belgeye durağan sözcük kaydırma uygulayın. Bu, geçerli satır → iletişim kutusunun Düzenleme sekmesindeki Sözcükleri şurada kaydır seçeneğiyle belirtilen uzunluğu aştığında kendiliğinden yeni bir metin satırının başlayacağı anlamına gelir.
- → (Kontrol+Seçenek+Yukarı Ok)
Geçerli imlecin üstüne başka bir imleç ekler. İmleç, geçerli imlecin hemen üstündeki satıra ve aynı sütuna yerleştirilir.
- → (Kontrol+Seçenek+Aşağı Ok)
Geçerli imlecin altına başka bir imleç ekler. İmleç, geçerli imlecin hemen altındaki satıra ve aynı sütuna yerleştirilir.
- → (Seçenek+Üst Karakter+I)
Seçili olan her satıra bir imleç ekler.
- → (Seçenek+J)
İmlecin altında bulunan sözcüğün bir sonraki oluşunu bulur, onu seçer ve bir imleç ekler.
- → (Kontrol+Seçenek+Üst Karakter+J)
İmlecin altında bulunan sözcüğün tüm oluşlarını bulur, onları seçer ve her biri için bir imleç ekler.
- → (Kontrol++)
Bu, görüntü yazıtipi boyutunu artırır.
- → (Kontrol+-)
Bu, görüntü yazıtipi boyutunu azaltır.
- → → (F10)
Geçerli görünümde devingen sözcük kaydırmayı açar/kapatır. Devingen sözcük kaydırma, gerektiğinde daha fazla görsel satırda tek bir gerçek satırı oluşturarak, yatay kaydırmaya gerek kalmadan görünümdeki tüm metni görünür hale getirir.
- → →
Devingen sözcük kaydırma göstergelerinin ne zaman ve nasıl görüntüleneceğini seçin. Bu yalnızca Devingen Sözcük Kaydırma seçeneği işaretliyse kullanılabilir.
- → →
Bu seçenek işaretlenirse → iletişim kutusunun Düzenleme sekmesinde tanımlandığı üzere sözcük kaydırma sütununda dikey bir çizgi çizer. Lütfen sözcük kaydırma imleyicisinin yalnızca eş aralıklı bir yazıtipi kullanıyorsanız çizileceğini unutmayın.
- → → (F6)
Bu bir aç/kapat anahtarıdır. İşaretli olarak ayarlamak, simge kenarlığının etkin düzenleyicinin sol tarafında görünmesini sağlar (veya bunun tersi de geçerlidir). Simge kenarlığı, işaretli satırların düzenleyicideki konumlarını gösterir.
- → → (F11)
Bu bir aç/kapat anahtarıdır. İşaretli olarak ayarlamak, belgenin satır numaralarını gösteren bir bölmenin etkin düzenleyicinin sol kenarında görünmesini sağlar (veya bunun tersi de geçerlidir).
- → →
Bu seçenek işaretlenirse görünüm dikey sarma çubuğunda imler gösterilir. İmler, Simge Kenarlığı üzerindeki imlerle eşdeğerdir.
- → →
Bu, sarma çubuğunu geçerli belgenin görselleştirmesiyle değiştirecektir. Sarma çubuğu mini haritası hakkında daha fazla bilgi için “Sarma Çubuğu Mini Haritası” bölümüne bakın.
- →
Bu seçenekler, kod katlamayla ilgilidir:
- → → →
Görünümün sol tarafındaki katlama imleyicileri bölmesinin görüntülenmesini açar/kapatır.
- → →
İmleci içeren bölgeyi daraltın.
- → →
İmleci içeren bölgeyi genişletin.
- → → (Kontrol+Üst Karakter+-)
Belgedeki tüm üst düzey bölgeleri daraltın. Tüm üst düzey bölgeleri genişletmek için sağdaki işaret üçgenine tıklayın.
- → → (Kontrol+Üst Karakter++)
Belgedeki tüm üst düzey bölgeleri genişletin.
Yazdırılamayacak alanların çevresindeki sınırlayıcı kutuyu gösterin/gizleyin.
- → (Kontrol+G)
Bu, imlecin belgedeki belirli bir satıra (numarayla belirtilen) atlaması için kullanılan, pencerenin alt kısmındaki satıra git çubuğunu açar. Satır numarası doğrudan metin kutusuna girilebilir veya metin kutusunun yan tarafındaki yukarı veya aşağı ok döndürme denetim tıklanarak grafiksel olarak değiştirilebilir. Küçük yukarı ok satır numarasını artıracak, aşağı ok ise azaltacaktır. Çubuğun sol tarafında simge bulunan düğmeye tıklayarak çubuğu kapatın.
- → (Kontrol+E)
Bu eylem, çoklu imleç yapılandırmasındaki bir önceki düzenleme satırına atlar.
- → (Kontrol+Üst Karakter+E)
Bu eylem, çoklu imleç yapılandırmasındaki bir sonraki düzenleme satırına atlar.
- →
Dosya açıldıktan sonra değiştirilmiş satırlara değiştirilen satırlar denir. Bu eylem, önceki değiştirilen satıra atlar.
- →
Dosya açıldıktan sonra değiştirilmiş satırlara değiştirilen satırlar denir. Bu eylem, sonraki değiştirilen satıra atlar.
- → (Kontrol+6)
İmleci ilgili açılış veya kapanış ayracına taşıyın.
- → (Kontrol+Üst Karakter+6)
İlgili açılış ve kapanış ayraçları arasındaki metni seçer.
- → (Kontrol+Üst Karakter+6)
Burada açıklanan girişlerin altında, etkin belgedeki her yer imi için bir giriş kullanılabilir olacaktır. Metin, imli satırın ilk birkaç sözcüğü olacaktır. İmleci o satırın başına taşımak için bir öge seçin. Düzenleyici, bu satırı görünür kılmak için gerektiği kadar kaydıracaktır.
- → → (Kontrol+B)
Etkin belgenin geçerli satırına bir yer imi koyar veya kaldırır. (Eğer oradaysa kaldırılır, aksi takdirde bir tane koyulur.)
- → →
Bu komut, belgedeki tüm imleyicilerin yanı sıra bu menü ögesinin altına eklenen imleyiciler listesini de kaldıracaktır.
- → → (Seçenek+Sayfa Yukarı)
Bu, imleci yukarıdaki yer iminin bulunduğu ilk satırın başına taşır. Menü ögesi metni, satır numarasını ve satırdaki ilk metin parçasını içerecektir. Bu öge yalnızca imlecin üzerindeki satırda bir yer imi bulunduğunda kullanılabilir.
- → → (Seçenek+Sayfa Aşağı)
Bu, imleci yukarıdaki yer iminin bulunduğu ilk satırın başına taşır. Menü ögesi metni, satır numarasını ve satırdaki ilk metin parçasını içerecektir. Bu öge yalnızca imlecin altındaki satırda bir yer imi bulunduğunda kullanılabilir.
- →
Etkin belge için tercih ettiğiniz dosya türü şemasını seçin. Bu, yalnızca geçerli belgeniz için Dosya Türleri sekmesindeki → bölümünde ayarlanan global dosya türü kipinin üzerine yazar.
- →
Etkin belge için tercih ettiğiniz vurgulama şemasını seçin. Bu, yalnızca geçerli belgeniz için → iletişim kutusunda ayarlanan global vurgulama kipinin üzerine yazar.
- →
Etkin belge için tercih ettiğiniz girintileme biçemini seçin. Bu, yalnızca geçerli belgeniz için → iletişim kutusunda ayarlanan global girintileme kipinin üzerine yazar.
- →
→ iletişim kutusunun Aç/Kaydet sayfasında ayarlanan öntanımlı kodlamayı, geçerli belgeniz için geçersiz kılabilirsiniz. Burada ayarladığınız kodlama, yalnızca geçerli belgeniz için geçerli olur.
- →
Bu eylemi işaretleyerek Unicode ile kodlanan belgelere açıkça bir bayt sırası imi ekleyebilirsiniz. Bayt sırası imi (BOM), bir metin dosyasının ve akışının son haneliliğini (bayt sırasını) sinyalleyen bir Unicode karakterdir; daha fazla bilgi için Bayt Sırası İmi sayfasına bakın.
- →
Etkin belgeniz için tercih ettiğiniz satır sonu kipini seçin. Bu, → bölümünden ayarlanan global satır sonu kipini yalnızca geçerli belgeniz için geçersiz kılar.
- →
Bu alt menü, betiklerle denetlenen tüm eylemlerin bir listesini içerir. Bu liste, kendi betiklerinizi yazarak kolaylıkla değiştirilebilir. Böylece KatePart, kullanıcı tanımlı araçlarla daha da genişletilebilir.
- → →
- → →
- → → →
Seçili metni veya tüm belgeyi artan sırada sıralar.
- → → → (Kontrol+Üst Karakter+Aşağı Ok)
Seçili satırları aşağı taşıyın.
- → → → (Kontrol+Üst Karakter+Aşağı Ok)
Seçili satırları yukarı taşıyın.
- → → → (Kontrol+Seçenek+Aşağı Ok)
Seçili satırları aşağısında çoğaltır.
- → → → (Kontrol+Seçenek+Aşağı Ok)
Seçili satırları yukarısında çoğaltır.
- → → →
Seçili metni, seçimi kodlanmış metinle değiştirerek, bir URL'deki sorgu dizisinin parçası olarak kullanılabilecek şekilde kodlar.
- → → →
Bir URL'nin sorgu dizisinin bir kısmı seçilirse bu, onun kodunu çözer ve seçimi özgün ham metinle değiştirir.
- → →
- → → →
Seçili metni bir çift açılış ve kapanış HTML veya XML etiketlerine dönüştürür. Örneğin,
divseçiliyse bu öge onu<div></div>ile değiştirir.- → → →
Seçili metni komut satırında sağlanan etiketle çevreler.
- → → →
İmleç açık bir HTML/XML etiketinin içindeyse bu öge onu kapatma etiketine taşır. İmleç kapatma etiketinin içindeyse onu bu kez de açma etiketinin içine taşır.
- → → →
İmleç bir HTML/XML etiketlerinin içindeyse bu seçenek seçimi bu HTML/XML etiketlerinin içeriğini de etiketlerin kendisini seçmeden içerir.
- → → →
İmleç bir HTML/XML etiketlerinin içindeyse bu seçenek seçimi bu HTML/XML etiketlerinin içeriğini de etiketlerin kendisini seçmeden içerir.
- → → →
Seçili kısım bir yorum değilse bu öge onları HTML/XML yorumları içine alır (örneğin,
<!-- seçili metin -->). Seçili kısım bir yorumsa yorum etiketleri kaldırılır.- → → →
İmleç bir HTML/XML etiketi içindeyse bu öge tüm etiketi siler.
- → → →
Bu öge bir sayıysa o anda seçili olan metinden 1 çıkarır. Örneğin,
5seçiliyse4olur.- → → →
Bu öge bir sayıysa o anda seçili olan metinden 10 çıkarır. Örneğin,
15seçiliyse5olur.- → → →
Bu öge bir sayıysa o anda seçili olan metinden 0,1 çıkarır. Örneğin,
4,5seçiliyse4,4olur.- → → →
Bu öge bir sayıysa o anda seçili olan metne 1 ekler. Örneğin,
5seçiliyse6olur.- → → →
Bu öge bir sayıysa o anda seçili olan metne 10 ekler. Örneğin,
5seçiliyse15olur.- → → →
Bu öge bir sayıysa o anda seçili olan metne 0,1 ekler. Örneğin,
4,5seçiliyse4,6olur.
- → (F7)
Pencerenin altında KatePart komut satırını görüntüler. Yardım almak için
helpve komutların bir listesini almak içinhelp listkomutlarını komut satırına girin. Komut satırı üzerine daha fazla bilgi için Düzenleyici Bileşeni Komut Satırı bölümüne bakın.- → (Kontrol+Boşluk)
Genellikle bu eyleme bağlı bir kısayol kullanarak komut tamamlamayı elle çağırın.
- →
(Kontrol+9) ve (Kontrol+8) şu anda girilen sözcüğü, imlecin önünden veya arkasından benzer sözcükleri arayarak tamamlamaya çalışır. , eşleşen girdilerle bir tamamlama kutusu açar.
- → → (Kontrol+Üst Karakter+O)
etkinleştirildiğinde, yanlış yazılan sözcüklerin altı anında çizilir.
- → →
Bu, kullanıcının yazım hatalarını yakalayıp düzeltmesine yardımcı olmak için tasarlanmış bir program olan yazım denetimi programını başlatır. Bu girişin tıklanması denetleyiciyi başlatır ve kullanıcının süreci denetleyebileceği yazım denetimi iletişim kutusunu açar. İletişim kutusunun ortasında dikey olarak sıralanmış dört ayar vardır ve bunların karşılık gelen etiketleri hemen soldadır. En üstten başlayarak bunlar:
- Bilinmeyen sözcük:
Burada yazım denetleyicisi, incelenen sözcüğü belirtir. Bu, denetleyici, sözlüğünde bulamadığı bir sözcüğe rast geldiğinde olur. Sözlük, denetleyicinin belgedeki sözcükleri denetlemek için kullandığı girdileri içerir.
- Şununla değiştir:
Eğer denetleyicinin sözlüğünde benzer sözcükler varsa ilki burada listelenecektir. Kullanıcı öneriyi kabul edebilir, kendi düzeltmesini yazabilir veya bir sonraki kutudan farklı bir öneri seçebilir.
- Dil:
Birden fazla sözlük kurduysanız burada hangi sözlüğün/dilin kullanılması gerektiğini seçebilirsiniz.
İletişim kutusunun sağ tarafında kullanıcının yazım denetimi işlemini denetlemesine olanak tanıyan 6 düğme bulunur. Bunlar:
Bu düğmeye basmak, Bilinmeyen sözcük'ü denetleyicinin sözlüğüne ekler. Bu, denetleyicinin ileride bu sözcüğü her zaman doğru olacağını varsayacağın anlamına gelir.
- Öner
Denetleyici, burada incelenmekte olan sözcüğün olası düzeltmelerini listeleyebilir. Önerilerden herhangi birine tıklamak, o sözcüğün yukarıdaki Şununla değiştir kutusuna girilmesine neden olacaktır.
Bu düğme, denetleyicinin belgede incelenen sözcüğü Şununla değiştir kutusundaki sözcükle değiştirmesini sağlar.
Bu düğme, denetleyicinin yalnızca geçerli Bilinmeyen sözcük:'ü değil de Bilinmeyen sözcük'ün belgedeki tüm oluşlarının değiştirilmesini sağlar.
Bu düğmeyi etkinleştirmek, denetçinin herhangi bir değişiklik yapmadan sürdürmesini sağlar.
Bu düğme denetleyiciye geçerli Bilinmeyen sözcük: ile hiçbir şey yapmamasını ve aynı sözcüğün diğer örneklerini atlamasını söyler.
Not
Bu yalnızca geçerli yazım denetimi çalıştırması için geçerlidir. Eğer denetleyici daha sonra yeniden çalıştırılırsa aynı sözcük üzerinde duracaktır.
Yazım denetimi iletişim kutusunun alt kısmında yatay olarak üç düğme daha bulunur. Bunlar:
Bu, bu iletişim kutusunun yardım sayfasıyla birlikte KDE yardım sistemini çağırır.
Bu düğme, yazım denetim sürecini bitirerek belgeye geri döner.
Bu düğme, yazım denetim sürecini iptal eder, tüm değişiklikler geri alınır ve belgeye geri dönersiniz.
- → →
Bu, yazım denetimi programını belgenin başlangıcı yerine imlecinizin bulunduğu yerden başlatır.
- → →
Geçerli seçimin yazımını denetler.
- → →
Düzenleyici penceresinin alt kısmında yazım denetimi için kullanılabilir tüm sözlükleri içeren bir açılır kutu görüntüler. Bu, yazım denetimi sözlüğünün farklı dillerdeki metinlerin kendiliğinden yazımının denetimi için kolayca değiştirilmesine olanak tanır.
- →
Bu menü, kullanılabilir renk şemalarını listeler. Geçerli görünümün şemasını buradan değiştirebilirsiniz; öntanımlı şemayı değiştirmek için yapılandırma iletişim kutusunun Yazıtipleri ve Renkler sayfasını kullanmanız gerekmektedir.
KatePart, ortak KDE ve menü ögelerine sahiptir; daha fazla bilgi için KDE Temelleri’nin Ayarlar Menüsü ve Yardım Menüsü bölümlerini okuyun.
menüsünde bulunan ve komutları, düzenlediğiniz metnin biçimi izin veriyorsa seçime veya seçili metin yoksa geçerli satıra yorum imleyicileri eklemenize veya kaldırmanıza olanak tanır.
Yorumlamanın nasıl yapıldığına ilişkin kurallar sözdizim tanımlarında tanımlanmıştır, dolayısıyla sözdizim vurgulama kullanılmazsa yorum yapma/yorumları kaldırma olanaklı değildir.
Bazı biçimler tek satırlı yorum imleyicilerini, bazıları çok satırlıları ve bazıları da her ikisini birden tanımlar. Çok satırlı imleyiciler kullanılamıyorsa son satırını tam olarak içermeyen bir seçimin yorumlanması olanaklı değildir.
Tek satır imleyicisi kullanılabiliyorsa iç içe geçmiş yorumlarla ilgili sorunların önlenmesine yardımcı olduğundan, uygun olduğu yerde tek satırlara yorum yapılması tercih edilir.
Yorum imleyicilerini kaldırırken yorumsuz metin seçilmemelidir. Bir seçimden çok satırlı yorum imleyicilerini kaldırırken, yorum işaretçilerinin dışındaki tüm boşluklar dikkate alınmaz.
Yorum imleyicileri yerleştirmek için → menü ögesini veya ilgili klavye kısayolu dizisini kullanın; öntanımlı kısayol: Kontrol+D.
Yorum imleyicilerini kaldırmak için → menü ögesini veya ilgili klavye kısayolu dizisini kullanın; öntanımlı kısayol: Kontrol+Üst Karakter+D.
KatePart uygulamasını düzenleyici bileşeninde içsel bir komut satırı vardır; bu bileşen, minimal bir grafik arayüzden çeşitli eylemleri gerçekleştirmenize olanak tanır. Komut satırı, düzenleyici alanının alt kısmında bulunan bir metin girişi alanıdır; onu göstermek için → ögesini veya klavye kısayolunu (öntanımlı kısayol: F7) kullanın. Düzenleyici, aşağıda belgelendiği gibi bir dizi komut sağlar ve eklentiler tarafından ek komutlar verilebilir.
Bir komutu yürütmek için komutu yazın ve ardından Dönüş düğmesine basın. Komut satırı başarılı olup olmadığını gösterecek ve büyük olasılıkla bir ileti görüntüleyecektir. Komut satırına F7 düğmesine basarak girdiyseniz birkaç saniye sonra kendiliğinden gizlenir. İletiyi temizlemek ve yeni bir komut girmek için yeniden F7 düğmesine basın.
Komut satırında yerleşik bir yardım sistemi bulunur; Başlamak için help komutunu verin. Kullanılabilir tüm komutların bir listesini görmek için help list komutunu verin; Belirli bir komutun yardımını görüntülemek için help komut girişini yapın.
Komut satırının yerleşik bir geçmişi vardır, böylece önceden yazdığınız komutları yeniden kullanabilirsiniz. Geçmişe gitmek için Yukarı Ok ve Aşağı Ok düğmelerini kullanın. Geçmiş komutları gösterirken, komutun argüman kısmı seçilerek argümanların üzerine kolayca yazmanıza olanak sağlanır.
Argüman türleri
- BOOLE
Bir şeyleri açıp kapatan komutlarla kullanılır. Kullanılabilir değerler şunlardır:
on,off,true,false,1or0.- TAMSAYI
Bir tamsayı.
- DİZİ
Boşluk içerdiğinde tek tırnak (') veya çift tırnak (") ile çevrelenen bir dizi.
Bu komutlar düzenleyici bileşeni tarafından sağlanır ve etkin belgeyi ve yalnızca görüntülemeyi yapılandırmanıza olanak tanır. Girinti gibi öntanımlı ayarlardan farklı bir ayar kullanmak istiyorsanız bu kullanışlıdır.
set-tab-width {TAMSAYI genişlik}
Sekme
genişliğiniayarlar.set-indent-width {TAMSAYI genişlik}
Girintileme
genişliğiniayarlar. Yalnızca boşluklarla girintileme yapıyorsanız kullanılır.set-word-wrap-column {TAMSAYI genişlik}
Sert kaydırma için satır
genişliğiniayarlar. Bu, metninizde kendiliğinden kaydırma kullanıyorsanız kullanılır.set-icon-border {BOOLE etkinleştir}
Simge kenarlığının görünürlüğünü ayarlar.
set-folding-markers {BOOLE etkinleştir}
Katlama imleyicileri yüzeyinin görünürlüğünü ayarlar.
set-line-numbers {BOOLE etkinleştir}
Satır numaraları yüzeyinin görünürlüğünü ayarlar.
set-replace-tabs {BOOLE etkinleştir}
Etkinleştirilirse sekmeler siz yazdıkça boşluklarla değiştirilir.
set-remove-trailing-space {BOOLE etkinleştir}
Etkinleştirilirse sondaki boşluklar imleç satırı terk ettiğinde kaldırılır.
set-show-tabs {BOOLE etkinleştir}
Etkinleştirilirse SEKME karakterleri ve sondaki boşluklar küçük bir noktayla görselleştirilir.
set-show-indent {BOOLE etkinleştir}
Etkinleştirilirse girintileme dikey noktalı bir satırla görselleştirilir.
set-indent-spaces {BOOLE etkinleştir}
Etkinleştirilirse düzenleyici her bir girintileme düzeyi için SEKME karakteri yerine
indent-widthkadar boşlukla girintileme yapar.set-mixed-indent {BOOLE etkinleştir}
Etkinleştirilirse KatePart, girintileme için SEKME ve boşlukların bir karışımını kullanır. Her girinti düzeyi
indent-widthgenişliğinde olacak ve daha fazla girinti düzeyi olabildiğince çok sayıda SEKME karakteri kullanacak şekilde eniyilenecektir.Yürütüldüğünde, bu komut ek olarak boşluk girintisini etkinleştirir ve girinti genişliği belirtilmemişse yürütme sırasında belgenin
tab-widthdeğerinin yarısına ayarlanır.set-word-wrap {BOOLE etkinleştir}
enabledeğerine göre devingen sözcük kaydırmayı etkinleştirir.set-replace-tabs-save {BOOLE etkinleştir}
Etkinleştirildiğinde, belge kaydedildiğinde sekmelerin yerini boşluklar alacaktır.
set-replace-tabs-save {BOOLE etkinleştir}
Etkinleştirildiğinde, belge kaydedildiğinde her satırın sondaki boşluk kaldırılacaktır.
set-indent-mode {DİZİ ad}
Kendiliğinden girintileme kipini
adolarak ayarlar.adbilinmiyorsa kip 'none' olarak ayarlanır. Geçerli kipler: 'none', 'normal', 'cstyle', 'haskell', 'lilypond', 'lisp', 'python', 'ruby' ve 'xml'.set-auto-ident {BOOLE betik}
Kendiliğinden girintilemeyi etkinleştirin veya devre dışı bırakın.
set-highlight {DİZİ vurgu}
Belgenin sözdizim vurgulama sistemini ayarlar. Argüman, → menüsünde görüldüğü gibi geçerli bir vurgu adı olmalıdır. Bu komut, argümanı için bir kendiliğinden tamamlama listesi sağlar.
reload-scripts
Girintileyiciler ve komut satırı betikleri de içerilmek üzere, Kate'in kullandığı tüm JavaScript betiklerini yeniden yükleyin.
set-mode {DİZİ kip}
Geçerli belge için dosya türü şemasını seçin.
nn[oremap] {DİZGİ özgün} {DİZİ eşlemlenen}
Özgündüğme sıralamasınıeşlemlenensıralamasına eşlemler.
Bu komutlar, geçerli belgeyi değiştirir.
indent
Seçili satırları veya geçerli satırı girintiler.
unindent
Seçili satırların veya geçerli satırın girintisini kaldırır.
cleanindent
Seçili satırların veya geçerli satırın girintisini belgedeki girintileme ayarlarına göre temizler.
comment
Seçimi veya seçili satırları veya geçerli satırı, belgenin sözdizim vurgulama tanımıyla tanımlandığı şekilde metin biçimine göre bir yorum haline getirmek için yorum imleyicileri ekler.
uncomment
Belgenin sözdizim vurgulama tanımıyla tanımlanan metin biçimine göre seçimden veya seçili satırlardan veya geçerli satırdan yorum imleyicilerini kaldırır.
kill-line
Geçerli satırı siler.
replace { DİZİ dizgi} {DİZİ değişim}
dizgiile eşleşen metnideğişimile değiştirir.dizgi'de boşlukları içermek isterseniz hemdizgihemdeğişimdeğişkenlerini tek veya çift tırnak içine almalısınız. Argümanlar tırnak içinde değilse ilk sözcükdizgive geri kalanıdeğişimolarak kullanılır. Eğerdeğişimboşsa her birdizgioluşu kaldırılır.Aramayı yapılandırmak için iki nokta üst üste ve ardından her biri bir yapılandırmayı temsil eden bir veya daha fazla harf ekleyerek
replace:seçenekler dizgi değişimformunu vererek bayrakları ayarlayabilirsiniz. Kullanılabilir seçenekler şunlardır:bGeriye doğru arayın.
cİmleç konumundan itibaren arayın.
eYalnızca seçimde arayın.
rDüzenli ifade araması yapın. Ayarlıysa N değiştirme dizisindeki yakalamaları temsil etmek üzere bir numara olması için
\Nkullanabilirsiniz.sBÜYÜK/küçük harf duyarlı arama yapın.
pSonraki oluşu değiştirmek için izin isteyin.
wYalnızca tam sözcüklerle eşleştirin.
date {DİZİ biçim}
Tanımlı
biçimveya yoksa “yyyy-MM-dd hh:mm:ss” biçimi ile bir tarih/zaman dizisi ekler.biçimyorumlanırken aşağıdaki çeviriler kullanılır:dBaşında sıfır olmadan sayı olarak gün (1-31). ddBaşında sıfır olacak şekilde gün (01-31). dddKısa yerelleştirilmiş gün adı (örneğin, 'Pzt'..'Paz'). ddddUzun yerelleştirilmiş gün adı (örneğin, 'Pazartesi'..'Pazar'). MBaşında sıfır olmadan sayı olarak ay (1-12). MMBaşında sıfır olacak şekilde ay (01-12). MMMMUzun yerelleştirilmiş ay adı (örneğin, 'Ocak'..'Şubat'). MMMKısa yerelleştirilmiş ay adı (örneğin, 'Oca'..'Şub'). yyİki basamaklı sayı olarak yıl (00-99). yyyyDört basamaklı sayı olarak yıl (1752-8000). hBaşında sıfır olmadan saat (0..23 veya ÖÖ/ÖS görüntüleniyorsa 1..12). hhBaşında sıfır olarak saat (00..23 veya ÖÖ/ÖS görüntüleniyorsa 01..02). mBaşında sıfır olmadan dakika (0..59). mmBaşında sıfır olarak dakika (00..59). sBaşında sıfır olmadan saniye (0..59). ssÖnünde sıfır olarak saniye (00..59). zBaşında sıfır olmadan milisaniye (0..999). zzzBaşında sıfır olarak milisaniye (000..999). APÖÖ/ÖS görüntüsünü kullanın. AP, "ÖÖ" veya "ÖS" ile değiştirilir. apÖÖ/ÖS görüntüsünü kullanın. AP, "AM" veya "PM" olarak değiştirilir. char {DİZİ tanımlayıcı}
Bu komut, sayısal tanımlayıcılarına göre; ondalık, sekizlik veya onaltılık biçimde gerçek karakterleri eklemenizi sağlar. Bunu kullanmak için Düzenleme Komutu iletişim kutusunu başlatın ve giriş kutusuna
char: [number]yazın, ardından 'a basın.- s///[ig] %s///[ig]
Bu komut, geçerli satırda veya tüm dosyada sed benzeri arama/değiştirme işlemi yapar (%s///).
Kısacası metinde, birinci ve ikinci eğik çizgi arasındaki normal ifade olan arama dizgisi ile eşleşen metin aranır ve bir eşleşme bulunduğunda metnin eşleşen kısmı, ikinci ve son eğik çizgi arasındaki ifadeyle değiştirilir. Arama dizgisindeki parantezler geriye başvurular oluşturur; yani komut, parantez içinde eşleşen dizinin hangi bölümünün anımsanacağını bilir; bu diziler, ilk parantez kümesi için
\1, ikinci parantez kümesi için\2olarak anılan değiştirme dizgisinde yeniden kullanılabilir.Bir gerçek karakter aramak için
(veya)onu bir ters eğik çizgi karakteriyle kaçırmalısınız:\(\)İfadenin sonuna
ikoyarsanız eşleştirme BÜYÜK/küçük harfe duyarlı olmayacaktır. Eğer sona birgkoyarsanız dizginin tüm oluşları değiştirilecektir, aksi takdirde yalnızca ilk oluş değiştirilir.Örnek 5.2. Geçerli satırda metin değiştirmek
Dost canlısı derleyiciniz, kaynak dosyanızda 3902. satırda bahsedilen
sınıfımsınıfının tanımlanmadığını söyleyerek durdu."Tüh!", tabii ki
Sınıfımolması gerek diye düşündünüz. 3902. satıra gittiniz ve metinde sözcüğü bulmak yerine Düzenleme Komutu iletişim kutusunu açaraks/sınıfım/Sınıfım/iyazdınız ve düğmesine bastınız; artık dosyayı kaydedip hatasız şekilde derleyebilirsiniz.Örnek 5.3. Tüm dosyada metin değiştirmek
Birkaç kez “Bayan Gökçen”'den söz ettiğiniz bir dosyanız olduğunu ve birisinin gelip size “Bay Gökmen” ile yeni evlendiğini söylediğini hayal edin. Elbette, “Bayan Gökçen” ifadesinin her bir örneğini “Bayan Gökmen” ile değiştirmek istersiniz.
Komut satırına girin ve
%s/Gökçen/Gökmen/komutunu çalıştırın, işiniz bitti.Örnek 5.4. Daha Gelişmiş Bir Örnek
Bu örnekte geriye başvuruların yanı sıra karakter sınıfının kullanımı kullanılmaktadır (bunun ne olduğunu bilmiyorsanız lütfen aşağıda belirtilen ilgili belgelere bakın).
Aşağıdaki gibi bir satırınız olduğunu düşünün:
void MyClass::DoStringOps( String &foo, String &bar, String *p, int &a, int &b )
Bunun pek güzel bir kod olmadığını anladınız ve argüman adının önünde & ile karakterize edilen tüm “address of” argümanları için
constanahtar sözcüğünü kullanmaya karar verdiniz. Ayrıca, her sözcük arasında yalnızca 1 boşluk karakteri olacak şekilde beyaz alanı basitleştirmek istediniz.Düzenleme Komut iletişim kutusunu açın ve
s/\s+(\w+)\s+(&)/ const \1 \2/gyazarak düğmesine tıklayın. İfadenin sonundakiggeriye başvuruların kaydedilmesi için düzenli ifadenin her eşleşmede yeniden derlenmesini sağlar.Çıktı:
void MyClass::DoStringOps( const String &foo, const String &bar, String *p, const int &a, const int &b )Görev tamamlandı! Şimdi ne yaptık? İlk olarak, biraz boşluk (
\s+), sonrasında bir veya daha çok abecesel karakterler (\w+), sonrasında biraz daha boşluk (\s+), sonrasında bir ve işareti aradık; bu süreçte abecesel parçayı ve ve işaretini değiştirme işleminde yeniden kullanım için sakladık. Sonrasında, satırımızın eşleşen kısmını bir boşluk ve sonrasında “const” ile bir boşluk daha ve abecesel parça ile izledik (\1); bunlardan sonra yine bir boşluk ve kaydettiğimiz ve işaretini koyduk (\2)Bazı durumlarda bu abecesel parça bir “String”, bazı durumlarda ise “int” idi, böylece
\wkarakter sınıfını ve+niceleyicisi bize çok yararlı oldu.sort
Seçili metni veya tüm belgeyi sıralar.
natsort
Seçili satırları veya tüm belgeyi doğal olarak sıralayın.
Örnek 5.5. sort ve natsort
sort(a10, a1, a2),a1, a10, a2sonucunu verirnatsort(a10, a1, a2),a1, a2, a10sonucunu verirmoveLinesDown
Seçili satırları aşağı taşıyın.
moveLinesUp
Seçili satırları yukarı taşıyın.
uniq
Seçili metinden veya tüm belgeden yinelenen satırları kaldırın.
rtrim
Seçili metnin veya tüm belgenin sonundaki gereksiz boşluğu kaldırın.
ltrim
Seçili metnin ya da tüm belgenin başındaki boşlukları kaldırın.
join [DİZİ ayırıcı]
Seçili satırları veya tüm belgeyi birbirine katın. İsteğe bağlı olarak bir ayırıcı tanımlayan bir parametre alır; örneğin
join ', 'rmblank
Seçili metinden veya tüm belgeden boş boşlukları kaldırın.
alignon
Bu komut, seçilen bloktaki veya belgenin tamamındaki satırları, argüman olarak verilen normal bir ifadeyle verilen sütunda hizalar.
Boş bir dizgi verirseniz öntanımlı olarak ilk boş olmayan karaktere hizalanır.
Dizginin bir yakalaması varsa yakalanan eşleşmeye girintili olacaktır.
Örnekler:
alignon -, tümünü aynı sütunda hizalamak için her bir satırın önündeki '-' öncesinde boşluklar ekler.alignon :\\s+(.), tümünü aynı sütunda hizalamak için bir noktalı virgülden sonra oluşan ilk boş olmayan karakterin öncesine boşluklar ekler.unwrap
Seçili metnin veya tüm belgenin kaydırmasını geri alın.
each {DİZİ betik}
Argüman olarak bir JavaScript işlevi verildiğinde, seçili satırların listesi için bunu çağırın ve bunları, o geri çağırmanın dönüş değeriyle değiştirin.
Örnek 5.6. Seçili satırları birbirine kat
each 'function(lines){return lines.join(", ")}'Veya kısaca:
each 'lines.join(", ")'filter {DİZİ betik}
Argüman olarak bir JavaScript işlevi verildiğinde, seçili satırların listesi için bunu çağırın ve geri çağırmanın false döndürdüğü satırları kaldırın.
Örnek 5.7. Boş satırları kaldır
filter 'function(1){return 1.length > 0;}'Veya kısaca:
filter 'line.length > 0'map {DİZİ betik}
Argüman olarak bir JavaScript işlevi verildiğinde, seçili satırların listesi için bunu çağırın ve satırı geri çağırmanın değeriyle değiştirin.
Örnek 5.8. Boş satırları kaldır
map 'function(line){return line.replace(/^s+/,"");}'Veya kısaca:
map 'line.replace(/^s+/,"")'duplicateLinesUp
Seçili satırları geçerli seçim üzerine çoğaltın.
duplicateLinesDown
Seçili satırları geçerli seçimin altına çoğaltın.
goto {TAMSAYI satır}
Bu komut, belirtilen satıra gider.
grep {DİZİ dizgi}
Belgeyi,
dizgidüzenli ifadesi için arayın. Daha fazla bilgi için Ek A, Düzenli İfadeler bölümüne bakın.find {DİZİ dizgi}
Bu komut, yapılandırmaya göre
dizgi'nin ilk oluşuna gider. İzleyen oluşlar, → ile bulunabilir (öntanımlı kısayol: F3).Bul komutu, iki nokta üst üste ve ardından bir veya daha fazla seçeneğin eklenmesiyle yapılandırılabilir; komutun biçimi
find:seçenekler dizgibiçimindedir. Aşağıdaki seçenekler desteklenir:bGeriye doğru arayın.
cİmleç konumundan itibaren arayın.
eYalnızca seçimde arayın.
rDüzenli ifade araması yapın. Ayarlıysa N değiştirme dizisindeki yakalamaları temsil etmek üzere bir numara olması için
\Nkullanabilirsiniz.sBÜYÜK/küçük harf duyarlı arama yapın.
wYalnızca tam sözcüklerle eşleştirin.
ifind {DİZİ dizgi}
Bu komut, “yazdıkça” aramayı sağlar. Aramanın davranışını bir sütun ve seçenekleri ekleyerek yapılandırabilirsiniz; şöyledir:
ifind:seçenekler dizgi. İzin verilen seçenekler:bGeriye doğru arayın.
rDüzenli ifade araması yapın.
sBÜYÜK/küçük harf duyarlı arama yapın.
cİmleç konumundan itibaren arayın.
w
Geçerli belgeyi kaydedin.
wa
Tüm geçerli açık belgeleri kaydedin.
q
Geçerli belgeyi kapatın.
qa
Tüm açık belgeleri kapatın.
wq
Geçerli belgeyi kaydedin ve kapatın.
wqa
Tüm geçerli açık belgeleri kaydedin ve kapatın.
x
Geçerli belgeyi yalnızca değiştiyse kaydedin ve kapatın.
x
Geçerli açık olan tüm belgeleri yalnızca değiştiyse kaydedin ve kapatın.
bp
Belgeler listesindeki önceki belgeye gidin.
bn
Belgeler listesindeki sonraki belgeye gidin.
new
Yatay bölünmüş görünümde yeni bir belge açın.
vnew
Dikey bölünmüş görünümde yeni bir belge açın.
e
Geçerli belge diskte değiştiyse yeniden yükleyin.
enew
Yeni bir belge düzenleyin.
print
Geçerli belgeyi yazdırmak için Yazdır iletişim kutusunu açın.
Kod katlama, bir belgenin bölümlerini düzenleyicide gizlemenize olanak tanıyarak büyük belgelere genel bakışı kolaylaştırır. KatePart'de katlanabilir bölgeler, sözdizim vurgulama tanımlarında tanımlanan kurallar kullanılarak hesaplanır ve bu nedenle yalnızca bazı biçimlerde kullanılabilir - tipik olarak program kaynak kodu, XML işaretlemesi ve benzeri. Kod katlamayı destekleyen çoğu vurgu tanımı, genellikle BEGIN ve END anahtar sözcüklerini kullanarak katlanabilir bölgeleri elle tanımlamanıza da olanak tanır.
Kod katlama özelliğini kullanmak için, halihazırda görünmüyorsa → menü ögesini kullanarak katlama imleyicilerini etkinleştirin. Ekranın sol tarafındaki Katlama İmleyicileri Bölmesi, belirli bir bölgedeki olası işlemi belirtmek için üçgen sembolleriyle katlanabilir bölgelerin grafiksel bir görünümünü görüntüler: Yukarıdan aşağıya bir üçgen, bölgenin genişletildiği anlamına gelir; tıklandığında bölge daraltılır ve bunun yerine sağa işaret eden bir üçgen görüntülenir.
Katlama bölgelerinin durumunu değiştirmek için üç komut sağlanır; ek bilgi için menü belgelendirmesine bakın.
Katlanmış çizgiler, bir dosya kapatıldığında anımsanır, böylece dosyayı yeniden açtığınızda katlanmış düğümler hâlâ katlanmış olacaktır. Bu aynı zamanda yeniden yükleme işlemleri için de geçerlidir.
Kod katlama özelliğini kullanmak istemiyorsanız düzenleyici yapılandırmasının Görünüş bölümündeki Katlama imleyicilerini göster seçeneğini kullanabilirsiniz.
Herhangi bir gelişmiş metin düzenleyicisi bileşeni gibi KatePart da işlevselliğini genişletmek için çeşitli yollar sunar. JavaScript ile basit betikler yazarak yeni özellikler ekleyebilirsiniz. Son olarak, KatePart için yeni özellikler yazdıktan sonra bize katılın ve iyileştirmelerinizi dünyanın geri kalanıyla paylaşın!
Sözdizim Vurgulama, dosyanın amacına göre dizinin işlevine bağlı olarak düzenleyicinin metni kendiliğinden farklı biçemlerde/renklerde görüntülemesini sağlayan şeydir. Örneğin program kaynak kodunda, denetim ifadeleri kalın harflerle gösterilebilirken, veri türleri ve yorumlar metnin geri kalanından farklı renkler alır. Bu, metnin okunabilirliğini büyük ölçüde artırır ve böylece yazarın daha verimli ve üretken olmasına yardımcı olur.

Sözdizim vurgulama ile gösterilen bir C++ işlevi.

Aynı C++ işlevi, vurgulama olmadan.
İki örnekten hangisini okuması daha kolay?
KatePart, sözdizim vurgulaması yapmak için esnek, yapılandırılabilir ve yetenekli bir sistemle birlikte gelir ve standart dağıtım, çok çeşitli programlama, komut dosyası yazma ve işaretleme dilleri ve diğer metin dosyası biçimleri için tanımlar sağlar. Ayrıca basit XML dosyalarında kendi tanımlarınızı da sağlayabilirsiniz.
KatePart, bir dosyayı açtığınızda onun doğru sözdizim kurallarını sırasıyla MIME türü, dosya uzantısı veya bunlardan ikisi de yoksa içeriğine bakarak algılayacaktır. Yanlış bir seçimle karşı karşıya kalırsanız → menüsünden elle bir vurgulama türü seçebilirsiniz.
Sözdizim vurgulamaları tarafından kullanılan biçemler ve renkler yapılandırma iletişim kutusunun Vurgulanan Metin Biçemleri sekmesinden düzenlenebilirken, MIME türleri ve kullanması gereken dosya uzantıları ise Kipler ve Dosya Türleri sekmesinden ayarlanır.
Not
Sözdizim vurgulama, doğru metnin okunabilirliğini artırmak için vardır; ancak metninizi doğrulamak için ona güvenemezsiniz. Kullandığınız biçime bağlı olarak metni sözdizimi için işaretlemek zordur ve bazı durumlarda sözdizim kurallarının yazarları metnin %98’i doğru şekilde oluşturulursa gurur duyacaktır; ancak çoğunlukla yanlış %2’yi görmek için nadir bir biçeme gereksiniminiz vardır.
Bu bölümde KatePart sözdizim vurgulama mekanizmasını daha ayrıntılı olarak ele alacağız. Bu konuda bilgi sahibi olmak istiyor ve sözdizim tanımlarını değiştirmek veya yeni bir tane oluşturmak istiyorsanız tam size göre.
Bir dosyayı açtığınızda KatePart düzenleyicisinin yaptığı ilk şeylerden biri, dosya için hangi sözdizim tanımının kullanılacağını algılamaktır. Dosya metnini okurken ve siz dosyaya bir şeyler yazarken, sözdizim vurgulama sistemi, sözdizim tanımıyla tanımlanan kuralları kullanarak metni çözümleyecek ve farklı bağlamların ve biçimlerin başladığı ve bittiği yerleri imleyecektir.
Belgeye bir şeyler yazdığınızda, yeni metin anında çözümlenir ve imlenir; böylece, bir bağlamın başlangıcı veya sonu olarak imlenen bir karakteri silerseniz çevreleyen metnin biçemi buna göre değişir.
KatePart Sözdizim Vurgulama Sistemi tarafından kullanılan sözdizim tanımları XML dosyalarıdır ve şunları içerir:
Bağlam blokları halinde düzenlenmiş metnin rolünü algılamaya yönelik kurallar
Anahtar sözcük listeleri
Biçem ögesi tanımları
Metin çözümlenirken algılama kuralları tanımlandıkları sıraya göre değerlendirilir ve geçerli dizinin başlangıcı bir kuralla eşleşiyorsa ilgili bağlam kullanılır. Metindeki başlangıç noktası, kuralın eşleştiği son noktaya taşınır ve eşleşen kural tarafından belirlenen bağlamdan başlayarak yeni bir kurallar döngüsü başlar.
Algılama kuralları, vurgulama algılama sisteminin kalbidir. Kural, çözümlenen metinle eşleştirilecek bir dizi, karakter veya düzenli ifadedir. Metnin eşleşen kısmı için hangi biçemin kullanılacağı hakkında bilgi içerir. Sistemin çalışma bağlamını ya açıkça belirtilen bir bağlama ya da metin tarafından kullanılan önceki bağlama çevirebilir.
Kurallar bağlam gruplarında düzenlenir. Bir bağlam grubu, biçim içindeki ana metin kavramları için kullanılır; örneğin, alıntılanan metin dizileri veya program kaynak kodundaki yorum blokları. Bu, vurgulama sisteminin gerekli olmadığında tüm kurallar arasında döngü yapmasına gerek kalmamasını ve metindeki bazı karakter dizilerinin geçerli bağlama bağlı olarak farklı şekilde ele alınabilmesini sağlar.
Örneklere özgü verinin kurallarda kullanılmasına izin vermek için bağlamlar devingen olarak oluşturulabilir.
Bazı programlama dillerinde tamsayılar, derleyici (kaynak kodunu ikili yürütülebilir dosyaya dönüştüren program) tarafından kayan noktalı sayılardan farklı şekilde ele alınır ve tırnak içine alınan bir dizi içinde özel bir anlama sahip karakterler olabilir. Bu gibi durumlarda, metni okurken kolayca tespit edilebilmeleri için onları çevreden farklı kılmak mantıklıdır. Dolayısıyla, özel bağlamları temsil etmeseler bile sözdizim vurgulama sistemi tarafından bu şekilde görülebilirler, böylece farklı sunum için imlenebilirler.
Bir sözdizim tanımı, kullanıldığı biçimin kavramlarını kapsayacak kadar çok sayıda biçem içerebilir.
Pek çok biçimde belirli bir kavramı temsil eden sözcük listeleri bulunur. Örneğin, programlama dillerinde, denetim ifadeleri bir kavramdır, veri türü adları başka bir kavramdır ve dilin yerleşik işlevleri üçüncüsüdür. KatePart Sözdizim Vurgulama Sistemi, metin biçimlerinin kavramlarını vurgulamak amacıyla metindeki sözcükleri tespit etmek ve imlemek için bu tür listeleri kullanabilir.
KatePart'de bir C++ kaynak dosyası, bir Java™ kaynak dosyası ve bir HTML belgesi açarsanız biçimler farklı olsa ve dolayısıyla özel işlem için farklı sözcükler seçilse bile, kullanılan renklerin aynı olduğunu göreceksiniz. Bunun nedeni, KatePart'in ayrı ayrı sözdizimi tanımları tarafından kullanılan, önceden tanımlanmış bir Öntanımlı Biçemler listesine sahip olmasıdır.
Bu, farklı metin biçimlerindeki benzer kavramların tanınmasını kolaylaştırır. Örneğin, yorumlar hemen hemen her programlama, komut dosyası veya biçimlendirme dilinde bulunur ve tüm dillerde aynı biçem kullanılarak oluşturulduklarında, bunları metin içinde bunların ne olduğunu tanımlamaya çalışmakla vakit kaybetmezsiniz.
İpucu
Bir sözdizim tanımındaki tüm biçemler, öntanımlı biçemlerden birini kullanır. Birkaç sözdizim tanımı, öntanımlılardan daha çok biçem kullanır; bu nedenle, bir biçimi sık sık kullanıyorsanız bazı kavramların aynı biçemi kullanıp kullanmadığını görmek için yapılandırma iletişim kutusunu açmanız faydalı olabilir. Örneğin, diziler için yalnızca bir öntanımlı biçem vardır; ancak Perl programlama dili iki tür diziyle çalıştığından, bunları biraz farklı olacak şekilde yapılandırarak vurgulamayı geliştirebilirsiniz. Tüm kullanılabilir öntanımlı biçemler daha sonra açıklanacaktır.
KatePart, KDE Frameworks'ten Syntax-Highlighting kitaplığını kullanır. KatePart ile verilen öntanımlı XML vurgulama dosyaları, Syntax-Highlighting tarafından öntanımlı olarak derlenirler.
Bu bölüm, XML Vurgu Tanımı biçimine genel bir bakış sunar. Küçük bir örneğe dayanarak ana bileşenleri, bunların anlamlarını ve kullanımlarını açıklayacağız. Bir sonraki bölümde vurgu algılama kurallarının ayrıntılarına girilecektir.
XSD olarak da bilinen resmi tanım, Sözdizim Vurgulama deposundaki language.xsd dosyasında bulunabilir
.xml vurgu tanımlama dosyaları, kullanıcı klasörünüzde genelde ve $HOME/.local/share//usr/share/ olan qtpaths ile --paths GenericDataLocationorg.kde.syntax-highlighting/syntax/ konumunda bulunur.
Flatpak ve Snap paketlerinde, yukarıdaki dizin işe yaramaz; çünkü her bir uygulamanın veri konumları farklıdır. Bir Flatpak uygulamasında, özel XML dosyalarının konumu genellikle olup Snap uygulamalarında ise $HOME/.var/app/flatpak-package-name/data/org.kde.syntax-highlighting/syntax/ olur. $HOME/snap/snap-package-name/current/.local/share/org.kde.syntax-highlighting/syntax/
Windows®'ta bu dosyalar genelde C:\Users\ user%USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\syntax olarak genişleyen %USERPROFILE% konumundadır.
Özetle, çoğu yapılandırma için özel XML dosyalarının dizini aşağıdaki gibidir:
| Yerel kullanıcı için | |
| Tüm kullanıcılar için | /usr/share/org.kde.syntax-highlighting/syntax/ |
| Flatpak paketleri için | |
| Snap paketleri için | |
| Windows® üzerinde | %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\syntax |
Aynı dil için birden çok dosya varsa language ögesindeki en yüksek version özniteliğine sahip dosya yüklenir.
KatePart Vurgu Tanımı dosyalarının ana bölümleri
- Vurgulama dosyası, XML sürümünü ayarlayan bir üstbilgi içerir:
<?xml version="1.0" encoding="UTF-8"?>
- Tanım dosyasının kökü öge
dilidir. Kullanılabilir öznitelikler şunlardır: Zorunlu öznitelikler:
name, dilin adını ayarlar. Sonrasında menülerde ve iletişim kutularında görünür.section, kategoriyi belirtir.extensions, dosya uzantılarını tanımlar, "*.cpp;*.h" gibiversion, tanım dosyasının geçerli revizyonunu bir tamsayı türünden belirtir. Vurgu tanımı dosyasını değiştirdiğinizde bu sayıyı artırdığınızdan emin olun.kateversion, en son desteklenen KatePart sürümünü belirtir.İsteğe bağlı öznitelikler:
mimetype, dosyaların MIME türlerini ilişkilendirir.casesensitive, anahtar sözcüklerin BÜYÜK/küçük harf duyarlı olup olmadığını tanımlar.priority, başka bir vurgu tanım dosyası aynı uzantıları kullanıyorsa gereklidir. Daha yüksek öncelik kazanır.author, yazarın adını ve e-posta adresini içerir.license, lisansı içerir. Yeni sözdizim vurgulama dosyaları için genelde MIT lisansıdır.style, sağlanan dili içerir verequired-syntax-styleözniteliği için olan girintileyiciler tarafından kullanılır.indenter, öntanımlı olarak hangi girintileyicinin kullanılacağını tanımlar. Kullanılabilir girintileyiciler: ada, normal, cstyle, cmake, haskell, latex, lilypond, lisp, lua, pascal, python, replicode, ruby ve xml.hidden, adın KatePart menülerinde görünüp görünmeyeceğini tanımlar.Böylece, bir sonraki satır böyle görünebilir:
<language name="C++" version="1" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" />
- Sonrasında
highlightingögesi gelir. Bu öge, isteğe bağlılistögesini ve zorunlucontextsveitemDatasögelerini içerir. listögeleri bir anahtar sözcükler listesi içerir. Bu durumda, anahtar sözcükler class ve const olur. İstediğiniz kadar liste ekleyebilirsiniz.KDE Frameworks 5.53 sürümünden bu yana, bir liste, başka bir listeden ve/veya dilden/dosyadan
includeögesini kullanarak anahtar sözcükler içerebilirler.IncludeRuleskuralında olduğu gibi,##, liste adını ve dil tanımını ayırmak için kullanılır. Bu, başka bir dilin/dosyanın anahtar sözcüklerini içermeniz gerekiyorsa yinelenen anahtar sözcük listelerini önlemek için yararlıdır. Örneğin, othername listesi, ISO C++ diline ait olan str anahtar sözcüğünü ve types listesinin tüm anahtar sözcüklerini içerir.contextsögesi tüm bağlamları içerir. İlk bağlam, öntanımlı olarak, vurgulamanın başlangıcıdır. Normal Text adlı bağlamda iki adet kural vardır: somename adındaki bir kuralla eşleşen anahtar sözcükler ve bir tırnağı algılayıp bağlamı string yapan başka bir tanesi. Kurallar hakkında daha fazla bilgi almak için sonraki fasılı okuyun.Üçüncü kısımsa
itemDatasögesidir. Bağlamlar ve kurallar tarafından gereksinim duyulan tüm renk ve yazıtipi biçemlerini içerir. Bu örnekte,itemDataNormal Text, String ve Keyword kullanılmıştır.<highlighting> <list name="somename"> <item>class</item> <item>const</item> </list> <list name="othername"> <item>str</item> <include>types##ISO C++</include> </list> <contexts> <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" > <keyword attribute="Keyword" context="#stay" String="somename" /> <keyword attribute="Keyword" context="#stay" String="othername" /> <DetectChar attribute="String" context="string" char=""" /> </context> <context attribute="String" lineEndContext="#stay" name="string" > <DetectChar attribute="String" context="#pop" char=""" /> </context> </contexts> <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" /> <itemData name="Keyword" defStyleNum="dsKeyword" /> <itemData name="String" defStyleNum="dsString" /> </itemDatas> </highlighting>- Bir vurgu tanımının son kısmı ise isteğe bağlı olan
generalbölümüdür. Anahtar sözcükler, kod katlama, yorumlar, girintileme, boş satırlar ve yazım denetim üzerine bilgiler içerir. commentbölümü, tek bir satırlık bir yorumun hangi diziye konulduğunu tanımlar. Ayrıca, ek end özniteliği ile multiLine kullanarak çok satırlı bir yorum da tanımlayabilirsiniz. Bu, kullanıcı comment/uncomment ile ilişkili kısayola bastığı zaman kullanılır.keywordsbölümü, anahtar sözcük listelerinin BÜYÜK/küçük harf duyarlı olup olmadığını tanımlar. Diğer öznitelikler daha sonra açıklanacaktır.folding,emptyLinesvespellcheckingbölümleri genelde gerekli değildir ve daha sonra açıklanacaklardır.<general> <comments> <comment name="singleLine" start="#"/> <comment name="multiLine" start="###" end="###" region="CommentFolding"/> </comments> <keywords casesensitive="1"/> <folding indentationsensitive="0"/> <emptyLines> <emptyLine regexpr="\s+"/> <emptyLine regexpr="\s*#.*"/> </emptyLines> <spellchecking> <encoding char="á" string="\'a"/> <encoding char="à" string="\`a"/> </spellchecking> </general> </language>
Bu kısım; bağlamlar, itemData’lar, anahtar sözcükler, yorumlar, kod katlama ve girintileme ile ilgili tüm öznitelikleri açıklar.
contextögesi,contextsgrubuna aittir. Bağlamın kendisi, vurgu sistemi bir satırın sonuna ulaştığında ne olması gerektiği gibi bağlama özgü kuralları tanımlar. Kullanılabilir özellikler şunlardır:name, bağlam adını belirtir. Kurallar, kuralın eşleşmesi durumunda geçiş yapılacak bağlamı belirtmek için bu adı kullanır.attribute, hiçbir kural eşleşmediğinde veya bir kural özniteliği belirtilmediğinde bir karakter için kullanılacak biçemi tanımlar. Sonraki durumda, kuralın context'inde belirtilen attribute kullanılır.lineEndContext, vurgu sistemi satırın sonuna geldiğinde geçiş yapılacak bağlamı tanımlar. Bu, ya başka bir bağlam adı, bağlamı değiştirmemek (bir şey yapmamak) için#stayveya bağlamdan çıkış yapmak için#popolabilir. Örneğin, üç kez#pop#pop#popyapmak veya hatta iki kez#pop#pop!OtherContextveOtherContextadlı başka bağlama geçiş yapmak da olabilir. Ayrıca başka bir dil tanımına ait olan başka bir bağlama geçiş yapmak da olanaklıdır. Bu,IncludeRuleskuralları ile aynı tarzdadır; örneğin,SomeContext##JavaScript. Bağlam anahtarları ek olarak “Vurgu Algılama Kuralları” içinde açıklanırlar. Öntanımlı: #stay.lineEmptyContext, boş bir satıra rastlandığındaki bağlamı tanımlar. Bağlam anahtarlarının terminolojisi daha önce lineEndContext'te açıklananla aynıdır. Öntanımlı: #stay.fallthroughContext, hiçbir kural eşleşmediğinde geçiş yapılacak sonraki bağlamı belirtir. Bağlam anahtarlarının terminolojisi daha önce lineEndContext'te açıklananla aynıdır. Öntanımlı: #stay.fallthrough, hiçbir kural eşleşmediğinde sisteminfallthroughContextiçinde belirtilen geçiş yapacağı bağlamı belirtir. KDE Frameworks 5.62 sürümünden bu yana bu özniteliğinfallthroughContextnamına kullanımdan kaldırıldığını aklınızdan çıkarmayın. Özellikle,fallthroughContextözniteliği varsa örtük olarakfallthroughdeğerinin true olacağı anlaşılır. Öntanımlı: false.noIndentationBasedFolding, bu bağlamdaki girintileme tabanlı katlamayı devre dışı bırakır. Girintileme tabanlı katlama etkinleştirilmemişse bu öznitelik bir işe yaramaz. Bu, general grubunun folding ögesinde tanımlanmıştır. Öntanımlı: false.itemDataögesi,itemDatasgrubundadır. Yazıtipi biçemini ve renklerini tanımlar. Böylece, kendi biçemlerinizi ve renklerinizi tanımlamanız olanaklıdır. Ancak biz yine de öntanımlı biçemlere sadık kalmanızı öneririz; böyle yaparsanız kullanıcı farklı dillerde de aynı renkleri görür. Bazen başka bir şansınız olmaz ve yazıtipi/renk özniteliklerini değiştirmeniz gerekebilir. name ve defStyleNum öznitelikleri zorunludur, diğerleri isteğe bağlıdır. Kullanılabilir öznitelikler şunlardır:name, itemData’nın adını ayarlar. Bağlamlar ve kurallar, attribute özniteliğinde bir itemData’ya başvurmak için bu adı kullanırlar.defStyleNum, hangi öntanımlı biçemin kullanılacağını tanımlar. Kullanılabilir öntanımlı biçemler ilerde daha ayrıntılı açıklanır.color, bir renk tanımlar. Geçerli biçimler '#rrggbb' veya '#rgb' dir.selColor, seçim rengini tanımlar.italictrue ise metin yatık olur.boldtrue ise metin kalın olur.underlinetrue ise metnin altı çizili olur.strikeOuttrue ise metnin üzeri çizili olur.spellCheckingtrue ise metnin yazımı denetlenir.generalgrubundakikeywordsögesi, anahtar sözcük özelliklerini tanımlar. Kullanılabilir öznitelikler şunlardır:casesensitive, true veya false olabilir. true ise tüm anahtar sözcükler BÜYÜK/küçük harf duyarlı olarak eşlenirler.weakDeliminator, sözcük sınırlandırıcısı olarak davranmayan bir karakterler listesidir. Örneğin,'.'noktası bir sözcük sınırlandırıcısıdır.listiçindeki bir anahtar sözcüğün bir nokta içerdiğini varsayalım; bu, noktayı eğer yalnızca bir zayıf sınırlandırıcı olarak tanımlarsanız eşleştirir.additionalDeliminator, ek sınırlandırıcılar tanımlar.wordWrapDeliminator, ardından bir satır kaydırma oluşabilecek karakterleri tanımlar.Öntanımlı sınırlandırıcılar ve sözcük kaydırma sınırlandırıcıları şunlardır:
.():!+,-<=>%&*/;?[]^{|}~\, boşluk (' ') ve sekmelendirici ('\t').commentsgrubundakicommentögesi; → , → ve → seçenekleri için kullanılan yorum özelliklerini tanımlar. Kullanılabilir öznitelikler şunlardır:name, ya singleLine ya da multiLine olabilir. multiLine seçerseniz end ve region öznitelikleri zorunludur. singleLine seçerseniz isteğe bağlı olan position özniteliğini ekleyebilirsiniz.start, bir yorum başlatmak için kullanılan diziyi tanımlar. C++ için bu, çoklu satır yorumlarda "/*" olur. Bu öznitelik, multiLine ve singleLine türleri için zorunludur.end, bir yorum kapatmak için kullanılan diziyi tanımlar. C++ için bu, çoklu satır yorumlarda "*/" olur. Bu öznitelik, yalnızca multiLine türü yorumlar için kullanılabilir ve onun için zorunludur.region, katlanabilir çoklu satır yorumun adı olmalıdır. Kurallarınızda beginRegion="Comment" ... endRegion="Comment" olduğunu varsayalım; o zaman region="Comment" kullanmalısınız. Böylece, çoklu satır yorumun tüm metnini seçmeseniz bile yorumu kapatmak çalışır. Yalnızca, imleç çoklu satır yorumun içerisinde olmalıdır. Bu öznitelik, yalnızca multiLine türü için kullanılabilirdir.position, tek satırlık yorumun nereye eklendiğini tanımlar. Öntanımlı olarak, tek satırlık yorum satırın başında 0. sütuna koyulur; ancak position="afterwhitespace" kullanırsanız yorum, ilk boş olmayan karakterden sonra sağa doğru boşluk bırakılarak eklenir. Bu; örneğin, Python veya YAML gibi girintilemenin önemli olduğu diller için kullanışlıdır. Bu öznitelik isteğe bağlıdır ve tek olası değeri afterwhitespace'dir. Bu, yalnızca singleLine türü için kullanılabilirdir.generalgrubundakifoldingögesi, kod katlama özelliklerini tanımlar. Kullanılabilir öznitelikler şunlardır:indentationsensitivetrue ise kod katlama imleyicileri girintileme tabanlı olarak eklenir. Örnek olarak yine Python verilebilir. Genelde öntanımlı olarak false olduğundan pek ayarlamanıza gerek olmaz.emptyLinesgrubundakiemptyLineögesi, hangi satırlara boş satır gibi davranılması gerektiğini tanımlar. Bu,contextögelerindeki lineEmptyContext özniteliğinin davranışının değiştirilmesine olanak tanır. Kullanılabilir öznitelikler şunlardır:regexpr, boş bir satır olarak davranılacak bir düzenli ifade tanımlar. Öntanımlı olarak, boş satırlar hiçbir karakter içermezler, dolayısıyla, bu ek boş satırlar ekler; örneğin, boşluklar içeren satırların da boş satırlar olarak kabul edilmesini istiyorsanız yararlıdır. Çoğu sözdizim tanımında bu özniteliği ayarlamanız gerekmez.spellcheckinggrubundakiencodingögesi, yazım denetimi için bir karakter kodlaması tanımlar. Kullanılabilir öznitelikler şunlardır:char, bir kodlanmış karakterdir.string, yazım denetimindeki char karakteri olarak kodlanacak karakterler dizisidir. Örneğin, LaTeX için\"{A}dizisiÄkarakterini temsil eder.
Öntanımlı Biçemler daha önce halihazırda kısa bir özet olarak açıklammıştı: Öntanımlı biçemler, önceden tanımlanan yazıtipi ve renk biçemleridir.
- Genel öntanımlı biçemler:
Özel bir vurgulama gerekmediğinde
dsNormal.dsKeyword, yerleşik dil anahtar sözcükleri.dsFunction, işlev çağrıları ve tanımları.dsVariable, kullanılabiliyorsa değişken adları (örneğin., PHP/Perl için $someVar).dsControlFlow; if, else, switch, break, return, yield, vb. denetim akışı anahtar sözcükleri.dsOperator, + - * / :: < > gibi işleçler.dsBuiltIn, yerleşik işlevler, sınıflar ve nesneler.dsExtension, ortak uzantılar; örneğin, C++ ve Python içindeki Qt™ sınıfları ve işlevler/makrolar.dsPreprocessor, önişlemci ifadeleri veya makro tanımları.dsAttribute, @override ve __declspec(...) gibi açıklamalar.- Dizi ile ilgili öntanımlı biçemler:
dsChar, 'x' gibi tekli karakterler.dsSpecialChar, kaçışlar, yer değiştirmeler, veya düzenli ifade işleçleri gibi özel anlama sahip diziler.dsString, "merhaba dünya" gibi diziler.dsVerbatimString, Perl, CoffeeScript ve kabuklardaki ’raw \backlash’ ve Python’daki r’\raw’ gibi gerçek veya ham diziler.dsSpecialString, SQL, regex’ler, HERE belgeleri, LATEX matematik kipi, ...dsImport; modüllerin import, include, require ifadeleri.- Sayı ile ilgili öntanımlı biçemler:
dsDataType; int, void, u64 gibi yerleşik veri türleri.dsDecVal, ondalık değerler.dsBaseN, 10 dışında tabana sahip değerler.dsFloat, kayan noktalı değerler.dsConstant, Pİ gibi yerleşik ve kullanıcı tanımlı sabitler.- Yorum ve belgelendirmeyle ilgili öntanımlı biçemler:
dsComment, yorumlar.dsDocumentation, /** Belgelendirme yorumları */ veya """docstrings""".dsAnnotation, @param, @brief gibi belgelendirme komutları.dsCommentVar, yukarıdaki komutlarda kullanılan değişken adları; @param foobar’daki "foobar" gibi.dsRegionMarker; yorumlardaki //BEGIN, //END gibi bölge imleyicileri.- Diğer öntanımlı biçemler:
dsInformation, doxygen içindeki @note gibi notlar ve ipuçları.dsWarning, doxygen’deki @warning gibi uyarılar.dsAlert; TODO, FIXME, XXXX gibi özel sözcükler.dsError, hata vurgulaması ve yanlış sözdizim.dsOthers, başka hiçbir şey uymadığında kullanılır.
Bu bölüm, sözdizim algılama kurallarını tanımlar.
Her kural, sınandıkları dizinin başlangıcındaki sıfır veya daha fazla karakterle eşleşebilir. Kural eşleşirse eşleşen karakterlere kural tarafından tanımlanan biçem veya öznitelik atanır ve bir kural, geçerli bağlamın değiştirilmesini isteyebilir.
Kural şuna benzer:
<KuralAdı attribute="(tanımlayıcı)" context="(tanımlayıcı)" [kurala özel öznitelikler] />
attribute, eşleşen karakterlerle kullanılacak biçemi ada göre tanımlar ve context ise buradan sonra kullanılacak bağlamı tanımlar.
context, şöyle tanımlanabilir:
identifier, bu diğer bağlamın adıdır.
Bir order, işletkeye geçerli bağlamda kalmasını (
#stay) veya dizide kullanılan bir önceki bağlama geri gitmesini (#pop) söyler. Boş veya var olmayan bir bağlam#stayile eşdeğerdir.Daha çok adım geri gitmek için #pop anahtar sözcüğü yinelenebilir:
#pop#pop#popBir ünlem işareti (!) ve tanımlayıcı tarafından izlenen bir sıra, işletkenin ilk sırayı izlemesini ve başka bir bağlama geçmesini söyler; örneğin,
#pop#pop!OtherContext.Bir bağlam adı olan, iki adet kare tarafından izlenen (
##) ve sonrasında başka bir tanımlayıcı olan bir tanımlayıcı, bir dil tanımının adıdır. Bu adlandırma,IncludeRuleskurallarında kullanılana benzerdir ve başka bir sözdizim vurgulama tanımında kullanılan bağlama geçiş yapmanıza olanak tanır; örneğin,SomeContext##JavaScript.
Kurala özgü öznitelikler farklılık gösterir ve aşağıdaki bölümlerde açıklanmaktadır.
Ortak öznitelikler
Tüm kurallar aşağıdaki ortak özelliklere sahiptir ve (ortak özellikler) göründüğünde kullanılabilir. Tüm özellikler isteğe bağlıdır.
attribute: Bir tanımlı ile itemData eşlemlenen öznitelik. Öntanımlı: context özniteliğinde tanımlanan attribute.
context: Kural eşleşirse vurgulama sisteminin geçiş yapacağı bağlamı belirtir. Öntanımlı: #stay.
beginRegion: Bir kod katlama bloku başlatın. Öntanımlı: Ayarsız.
endRegion: Bir kod katlama blokunu kapatın. Öntanımlı: Ayarsız.
lookAhead: true ise vurgulama sistemi eşleşmelerin uzunluğunu dikkate almaz.Öntanımlı: false.
firstNonSpace: Dizi, satırdaki ilk boşluk olmayan karakterse eşleşir. Öntanımlı: false.
column: Yalnızca sütun eşleşirse eşleşir. Öntanımlı: Ayarsız.
Devingen kurallar
Bazı kurallar, öntanımlı olarak false olan isteğe bağlı Boole türündeki dynamic özniteliğine izin verirler. Dynamic true ise bir kural bir regular expression ile eşleşen metni temsil eden yer tutucular kullanabilir. Bunlar kendi string veya char özniteliklerinde geçerli bağlama geçiş yaparlar. Bir string'de, %N yer tutucusu (N bir sayıdır), çağırdığı düzenli ifadede ilişkili olduğu N ile değiştirilir. Bir char'da, yer tutucu bir N sayısı olmalıdır ve çağıran düzenli ifadedeki ilişkili olduğu N ile değiştirilir. Bir kural bu özniteliğe izin veriyorsa bir (dynamic) içerir.
dynamic: (true|false) olabilir.
Nasıl çalışır:
RegExpr kuallarının düzenli ifadelerinde, basit süslü ayraçlar arasındaki tüm metin (PATTERN) yakalanır ve anımsanır. Bu yakalamalar, geçiş yapıldıkları bağlama göre kullanılabilirler. Bu, dynamic özniteliği true iken ve %N (String içinde) veya N (char içinde) iken geçerlidir.
Bir RegExpr kuralında yakalanan metnin, context özniteliğinde belirtildiği üzere, yalnızca geçiş yapıldığı bağlam için depolandığını belirtmek önemlidir.
İpucu
Yakalamalar, hem devingen kurallar hem de düzenli ifadeler tarafından kullanılmayacaksa
yakalamayan gruplarkullanılmalıdır:(?:PATTERN)(?=PATTERN),(?!PATTERN)or(?<=PATTERN)gibi lookahead veya lookbehind grupları yakalanmazlar. Daha fazla bilgi için Düzenli İfadeler bölümüne bakın.Yakalama grupları,
%Nyerine\Nkullanılarak aynı düzenli ifadede kullanılabilirler. Daha fazla bilgi için Düzenli İfadeler içindeki Eşleşen metni yakalamak (geriye başvurular) bölümüne bakın.
Örnek 1:
Bu basit örnekte, =* düzenli ifadesi ile eşleşen metin yakalanır ve devingen kuralda %1 yerine yerleştirilir. Bu, yorumun başlangıçta aynı sayıda = ile bitmesine olanak tanır. Şu tür metinlerle eşleştirilir: [[ comment ]], [=[ comment ]=]veya [=====[ comment ]=====].
Ek olarak, yakalamalar yalnızca geçilen Multi-line Comment bağlamında kullanılabilirdir.
<context name="Normal" attribute="Normal Text" lineEndContext="#stay"> <RegExpr context="Multi-line Comment" attribute="Comment" String="\[(=*)\[" beginRegion="RegionComment"/> </context> <context name="Multi-line Comment" attribute="Comment" lineEndContext="#stay"> <StringDetect context="#pop" attribute="Comment" String="]%1]" dynamic="true" endRegion="RegionComment"/> </context>
Örnek 2:
Devingen kuralda; %1, #+ ve %2, "+ ile eşleşen yakalamalara karşılık gelir. Bu, şu tür metinlerle eşleşir: #etiket""""bağlamın içi""""#.
Bu yakalamalar; OtherContext, FindEscapes veya SomeContext gibi başka bağlamlarda kullanılabilir olmayacaktır.
<context name="SomeContext" attribute="Normal Text" lineEndContext="#stay"> <RegExpr context="#pop!NamedString" attribute="String" String="(#+)(?:[\w-]|[^[:ascii:]])("+)"/> </context> <context name="NamedString" attribute="String" lineEndContext="#stay"> <RegExpr context="#pop!OtherContext" attribute="String" String="%2(?:%1)?" dynamic="true"/> <DetectChar context="FindEscapes" attribute="Escape" char="\"/> </context>
Örnek 3:
Bu, şunun gibi metinlerle eşleşir: Class::function<T>( ... ).
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<RegExpr context="FunctionName" lookAhead="true"
String="\b([a-zA-Z_][\w-]*)(::)([a-zA-Z_][\w-]*)(?:<[\w\-\s]*>)?(\()"/>
</context>
<context name="FunctionName" attribute="Normal Text" lineEndContext="#pop">
<StringDetect context="#stay" attribute="Class" String="%1" dynamic="true"/>
<StringDetect context="#stay" attribute="Operator" String="%2" dynamic="true"/>
<StringDetect context="#stay" attribute="Function" String="%3" dynamic="true"/>
<DetectChar context="#pop" attribute="Normal Text" char="4" dynamic="true"/>
</context>
Yerel sınırlandırıcılar
Bazı kurallar, aynı adlı keywords etiketinin öznitelikleriyle birleştirilen weakDeliminator ve additionalDeliminator gibi isteğe bağlı özniteliklere izin verirler. Örneğin, '%', keywords'ün zayıf bir sınırlandırıcısıysa yalnızca onun additionalDeliminator özniteliğine konularak bir sözcük sınırlandırıcısı olabilir. Ne zaman bir kural bu özniteliklere izin veriyorsa o bir (local deliminators) (yerel sınırlandırıcılar) içerir.
weakDeliminator: Sözcük sınırlandırıcısı olarak davranmayan karakterlerin listesi.
additionalDeliminator: Ek sınırlandırıcılar tanımlar.
- DetectChar
Tek bir belirli karakteri algılar. Genellikle kapatma tırnaklarını bulmak için kullanılır.
<DetectChar char="(karakter)" (ortak öznitelikler) (devingen) />
charözniteliği, eşleştirilecek karakteri tanımlar.- Detect2Chars
Tanımlı bir sırada iki belirli karakteri algılar.
<2KarakterAlgıla char="(karakter)" char1="(karakter)" (ortak öznitelikler) />
charözniteliği, eşleştirilecek ilk karakteri,char1ise ikincisini tanımlar.Bu kural tarihsel nedenlerden dolayı buradadır; okunabilirlik açısından
StringDetectkullanılması tercih nedenidir.- AnyChar
Belirli bir karakter kümesinden tek bir karakteri algılar.
<AnyChar String="(dizi)" (ortak öznitelikler) />
Stringözniteliği, karakterlerin kümesini tanımlar.- StringDetect
Kesin bir diziyi algılar.
<StringDetect String="(dizi)" [insensitive="true|false"] (ortak öznitelikler) (devingen) />
Stringözniteliği, eşleştirilecek diziyi tanımlar.insensitiveözniteliği öntanımlı olarak false'tur ve dizi karşılaştırma işlevine geçirilir. Değer true ise duyarsız karşılaştırma kullanılır.- WordDetect
Tam bir diziyi algılar; ancak sözcük başlangıcında ve sonunda
'.'veya boşluk gibi sözcük sınırlarına gereksinim duyar. Bir düzenli ifade kapsamında\b<string>\bgibi düşünün; ancakRegExprkuralından daha hızlıdır.<SözcükAlgıla String="(dizi)" [insensitive="true|false"] (ortak öznitelikler) (yerel sınırlandırıcılar) />
Stringözniteliği, eşleştirilecek diziyi tanımlar.insensitiveözniteliği öntanımlı olarak false'tur ve dizi karşılaştırma işlevine geçirilir. Değer true ise duyarsız karşılaştırma kullanılır.Kate 3.5 (KDE 4.5) sürümünden bu yana
- RegExpr
Bir düzenli ifade ile eşleşir.
<RegExpr String="(dizi)" [insensitive="true|false"] [minimal="true|false"] (ortak öznitelikler) (devingen) />
Stringözniteliği, düzenli ifadeyi tanımlar.insensitiveöntanımlı olarak false'tur ve düzenli ifade işletkesine geçirilir.minimalöntanımlı olarak false'tur ve düzenli ifade işletkesine geçirilir.Kurallar her zaman geçerli dizinin başlangıcına göre eşleştirildiğinden, düzeltme işaretiyle (
^) başlayan düzenli ifade, kuralın yalnızca satırın başlangıcına göre eşleştirilmesi gerektiğini belirtir.Bunlar hakkında daha fazla bilgi için Düzenli İfadeler bağlantısına bakın.
- keyword
Belirli bir listeden bir anahtar sözcüğü algılar.
<anahtar sözcük String="(liste ado)" (ortak öznitelikler) (yerel sınırlandırıcılar) />
Stringözniteliği, adıyla anahtar sözcük listesini tanımlar. Bu ada sahip bir liste var olmalıdır.Vurgulama sistemi, anahtar sözcük kurallarını oldukça eniyilenmiş bir biçimde işler. Bu, eşleştirilecek tüm anahtar sözcüklerin, örtük biçimde (öntanımlı sınırlandırıcılar) veya keywords etiketinin additionalDeliminator özelliğiyle açıkça belirtilmiş bir biçimde tanımlı sınırlandırıcılarla eşleştirilmiş olmasını bir gereklilik kılar.
Eşleştirilecek bir anahtar sözcükte sınırlandırıcı bir karakter varsa bu ilgili karakter keywords etiketinin weakDeliminator özelliğine eklenmelidir. Sonrasında bu karakter tüm keyword kurallarında sınırlandırıcı kimliğini kaybeder. Aynı zamanda, keyword'ün weakDeliminator özniteliği de kullanılabilir; böylece bu değişiklik yalnızca bu kural için geçerli olur.
- Int
Bir tamsayıyı algılar (şu düzenli ifade gibi:
\b[0-9]+).<Int (ortak öznitelikler) (yerel sınırlandırıcılar) />
Bu kuralın belirli bir özniteliği yoktur.
- Float
Bir kayan noktalı sayıyı algılar (şu düzenli ifade gibi:
(\b[0-9]+\.[0-9]*|\.[0-9]+)([eE][-+]?[0-9]+)?).<Float (ortak öznitelikler) (yerel sınırlandırıcılar) />
Bu kuralın belirli bir özniteliği yoktur.
- HlCOct
Bir sekizlik noktalı sayı temsilini algılar (şu düzenli ifade gibi:
\b0[0-7]+).<HlCOct (ortak öznitelikler) (yerel sınırlandırıcılar) />
Bu kuralın belirli bir özniteliği yoktur.
- HlCHex
Bir onaltılık sayı temsilini algılar (şu düzenli ifade gibi:
\b0[xX][0-9a-fA-F]+).<HlCHex (ortak öznitelikler) (yerel sınırlandırıcılar) />
Bu kuralın belirli bir özniteliği yoktur.
- HlCStringChar
Kaçırılan bir karakteri algılar.
<HlCStringChar (ortak öznitelikler) />
Bu kuralın belirli bir özniteliği yoktur.
Program kodunda sıkça kullanılan karakterlerin gerçek temsilleriyle eşleşir; örneğin,
\n(yenisatır) veya\t(SEKME).Eğer bir ters eğik çizgi (
\) sonrasında geliyorlarsa aşağıdaki karakterler eşleşir:abefnrtv"'?\. Ek olarak, kaçırılan onaltılık (örneğin,\xff) ve sekizlik (örneğin,\033) karakterler de eşleşir.- HlCChar
Bir C karakterini algılar.
<HlCChar (ortak öznitelikler) />
Bu kuralın belirli bir özniteliği yoktur.
Bir kesme işareti çifti içine alınmış C karakterleriyle eşleşir (Örnek:
'c'). Kesme işaretleri normal bir karakter veya kaçırılmış bir karakter olabilir. Eşleştirilen kaçırılmış karakter dizileri hakkında daha fazla bilgi için HlCStringChar bölümüne bakın.- RangeDetect
Tanımlı bir başlangıç ve bitiş karakterleri olan bir diziyi algılar.
<RangeDetect char="(karakter)" char1="(karakter)" (ortak öznitelikler) />
char, erimi başlatan karakteri,char1ise bitiren karakteri tanımlar.Örneğin küçük alıntılanmış dizileri ve benzerlerini algılamak için kullanışlıdır; ancak vurgulama işletkesi her kerede bir satır üzerinde çalıştığından, bunun bir satır sonu boyunca uzanan dizileri bulmayacağını unutmayın.
- LineContinue
Satırın sonundaki belirli bir karakterle eşleşir.
<LineContinue (ortak öznitelik) [char="\"] />
charisteğe bağlı eşleştirilecek karakterdir, öntanımlısı ise ters eğik çizgidir ('\'). KDE sürümünden bu yana eklidir.Bu kural, satırın sonunda bağlamı değiştirmek için kullanışlıdır. Bu, örneğin C/C++'da makroları veya dizileri sürdürmek için gereklidir.
- IncludeRules
Başka bir bağlamdan, dilden veya dosyadan kuralları içerir.
<IncludeRules context="contextlink" [includeAttrib="true|false"] />
contextözniteliği, hangi bağlamın içerileceğini tanımlar.Basit bir diziyse tanımlı tüm kuralları geçerli bağlama içerir; örneğin:
<IncludeRules context="anotherContext" />
Dizi bir
##içeriyorsa vurgu sistemi, verilen adda başka bir dilden bir bağlam arar; örneğin,<IncludeRules context="String##C++" />
, C++ vurgulama tanımından String bağlamını içerir.
includeAttribözniteliği true ise hedef özniteliği kaynağın olanına değiştirin. Bu; örneğin dahil edilen bağlamla eşleşen metnin ana bilgisayar bağlamından farklı bir vurgu olması durumunda yorum yapma işleminin gerçekleştirilmesi için gereklidir.- DetectSpaces
Boşlukları algılar.
<DetectSpaces (ortak öznitelikler) />
Bu kuralın belirli bir özniteliği yoktur.
İleride birkaç boşluk olabileceğini biliyorsanız; örneğin, girintili çizgilerin başında bu kuralı kullanın. Bu kural, birden fazla kuralı sınamak ve eşleşme olmaması nedeniyle birer birer atlamak yerine, tüm boşlukları tek kerede atlayacaktır.
- DetectIdentifier
Tanımlayıcı dizilerini algılar (şu düzenli ifade gibi:
[a-zA-Z_][a-zA-Z0-9_]*).<DetectIdentifier (ortak öznitelikler) />
Bu kuralın belirli bir özniteliği yoktur.
Birden çok kuralla sınamak ve eşleşme olmaması nedeniyle birer birer atlamak yerine, bir dizi sözcük karakterini aynı anda atlamak için bu kuralı kullanın.
Bağlam değiştirmenin nasıl çalıştığını anladıktan sonra vurgu tanımlarını yazmak kolay olacaktır. Hangi durumda hangi kuralı seçtiğinizi dikkatlice denetlemelisiniz. Düzenli ifadeler çok güçlüdür; ancak diğer kurallara göre yavaştırlar. Bu nedenle aşağıdaki ipuçlarını dikkate alabilirsiniz.
Düzenli ifadelerin kullanımı kolaydır ancak çoğu zaman aynı sonucu elde etmenin çok daha hızlı başka bir yolu vardır. Satırdaki ilk karakter ise
'#'karakterini eşleştirmek istediğinizi varsayalım. Düzenli ifade tabanlı bir çözüm şöyle görünecektir:<RegExpr attribute="Macro" context="macro" String="^\s*#" />
Aynısını çok daha hızlıca şunu kullanarak elde edebilirsiniz:
<DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" />
.
'^#'düzenli ifadesini eşleştirmek istiyorsanız hâlâcolumn="0"özniteliğiyleDetectCharkullanabilirsiniz.columnözniteliği karakterleri sayar, bu nedenle, sekme karakteri yalnızca bir karakter olarak geçer.RegExprkurallarında,^PATTERNdizgisi satırın başındaki metni eşleştirmek için kullanılacaksacolumn="0"özniteliğini kullanın. Geri kalan sütunlarda arama yapmayacağından bu, başarımı önemli ölçüde iyileştirir.Düzenli ifadelerde, yakalamalar aynı düzenli ifadeler içinde veya devingen kurallarda kullanılmayacaklarsa
(PATTERN)yakalayan grupları yerine yakalamayan(?:PATTERN)gruplarını kullanın. Bu, gereksiz yere yakalamaları depolamayı önler.Karakterleri işlemeden bağlamlar arasında geçiş yapabilirsiniz.
*/dizisiyle karşılaştığınızda bağlamı değiştirmek istediğinizi; ancak bu diziyi bir sonraki bağlamda işlemeniz gerektiğini varsayalım. Aşağıdaki kural eşleşecektir velookAheadözelliği, vurgulayıcının eşleşen diziyi bir sonraki bağlam için tutmasını sağlar.<StringDetect attribute="Comment" context="#pop" String="*/" lookAhead="true" />
Çok sayıda boşluk oluşacağını biliyorsanız
DetectSpaceskullanın.'[a-zA-Z_]\w*'düzenli ifadesi yerineDetectIdentifierkullanın.Olabildiğince öntanımlı biçemleri kullanın. Böylece, kullanıcı tanıdık bir ortam bulacaktır.
Başkalarının karmaşık kuralları nasıl uyguladıklarını görmek için diğer XML dosyalarına bakın.
validatehl.sh mySyntax.xml komutunu kullanarak tüm XML dosyalarını doğrulayabilirsiniz.
validatehl.shdosyası, her ikisi de Sözdizim Vurgulaması deposunda bulunabilenlanguage.xsddosyalarını kullanır.Karmaşık düzenli ifadeleri pek sık yineliyorsanız ENTITIES kullanabilirsiniz. Örnek:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language [ <!ENTITY myref "[A-Za-z_:][\w.:_-]*"> ]>Şimdi, düzenli ifade yerine &myref; kullanabilirsiniz.
Kate’de, yerleşik komut satırını (öntanımlı kısayolu
F7) ve reload-highlighting komutunu kullanarak sözdizimleri yenileyebilirsiniz.Bir sözdizimi sınamak ve biçemi ve metnin her bir kısmıyla ilgili bölgeleri görüntülemek için
ksyntaxhighlighter6(eski sürümlerdekate-syntax-highlighter) adlı komut satırı izlencesini kullanabilirsiniz.
ksyntaxhighlighter6 --output-format=ansi --syntax-trace=format test.cpp sonucu.
Daha çok seçenek için ksyntaxhighlighter6 -h kullanın.
Renk temaları, metin düzenleme alanının ve sözdizim vurgulamanın renklerini tanımlar. Bir renk teması, aşağıdakileri içerir:
Öntanımlı biçemler öznitelikleri ile sözdizim vurgulamada kullanılan metin biçemi. Örneğin, metin rengi ve seçili metin rengi.
Metin düzenleme alanının arka planı; metin seçimi ve geçerli satır içerilmek üzere.
Metin alanının simge kenarlıkları: Arka planları, ayırıcı çizgisi, satır numaraları, satır sözcük kaydırma imleyicileri, değiştirilen satır imleri ve kod katlama.
Arama imleyicileri, girintileme ve sekme/boşluk çizgisi imleri, ayraç eşleştirme ve yazım denetimi gibi metin dekorasyonları.
Yer imleri ve parçacıklar.
Kafa karışıklığını önlemek adına, aşağıdakiler kapsam dışında bırakılmıştır:
Yazıtipi türü ve yazıtipi boyutu.
Metin düzenleme uygulamasının renkleri; örneğin, sarma çubuğu haritası, menüler, sekme çubuğu, pencere rengi vb. Kate veya KDevelop gibi KDE uygulamalarında, bu renkler
KDE Plasma global renk şemalarındatanımlıdır. Bu alana, Sistem Ayarları içindeki “Renkler” modülünde veya uygulamanın kendisinde → ögesinden ulaşılabilir.

“C++” sözdizim vurgulamasında “Esinti Açık” ve “Esinti Koyu” renk temaları.
KSyntaxHighlighting sözdizim vurgulaması işletkesi, renk temalarını sağlayan ve yöneten çatıdır. Bu, KDE Frameworks'ün bir parçasıdır ve Kate, KWrite, Kile ve KDevelop gibi KDE metin düzenleyicilerinde kullanılır. Bağımlılıkları aşağıdaki gibidir:

Metin düzenleyicilerinde KDE Frameworks 5 kitaplıkları.
KSyntaxHighlighting içinde, Kate düzenleyicisinin web sayfasının “Renk Temaları” bölümünde görüntülenen çeşitli yerleşik temalar vardır.
KTextEditor metin düzenleme işletkesi çatısı, renk temaları oluşturmak ve düzenlemek için içe/dışa aktarma araçları da içerilmek üzere bir kullanıcı arayüzü sağlar. Bu, renk temaları oluşturmanın ve düzenlemenin en basit yoludur; buna metin düzenleyicisinin “Yapılandırma” iletişim kutusundan erişebilirsiniz. Daha fazla ayrıntı için “Renk Temaları Grafik Arayüzü” bölümüne bakın.

Kate ayarlarında renk temalarını yönetmek için kullanılan arayüz.
Kate veya KDevelop gibi KDE metin düzenleyicilerinde kullanılan KSyntaxHighlighting renk temaları, 10 Ekim 2020 tarihinde yayımlanan KDE Frameworks 5.75 sürümüyle kullanılmaya başlanmıştır. Öncesinde, Kate'in kendi renk şemaları (KConfig tabanlı şema yapılandırması) kullanılıyordu; artık bunlar kullanılmıyor. Yine de, eski Kate şemalarını KSyntaxHighlighting renk şemalarına dönüştürmek olanaklıdır. KSyntaxHighlighting deposunda, bu iş için kullanılan utils/kateschema_to_theme_converter.py betiği ve utils/schema-converter/ izlencesi bulunur.
Renk temaları, JSON biçimli dosyalarda .theme uzantısıyla depolanır.
KSyntaxHighlighting kaynak kodunda, yerleşik temaların JSON dosyaları data/themes/ dizininde bulunur. Metin düzenleyicilerinde yerleşik temaların KSyntaxHighlighting kitaplığıyla derlendiğine dikkat edin; dolayısıyla, onlara erişmek ya kaynak kodundan ya da KTextEditor temalarını yönetmek üzere grafik arayüzden dışa aktarılarak olanaklıdır.
Dosya sisteminden, ek veya özel temaları kolaylıkla eklemek olanaklıdır. Kullanıcılar tarafından özelleştirilen tema dosyaları, kullanıcı klasörünüzdeki org.kde.syntax-highlighting/themes/ dizininde bulunur; bu dizini qtpaths komutuyla bulabilirsiniz ve genellikle --paths GenericDataLocation ve $HOME/.local/share//usr/share/ dizinleridir.
Flatpak ve Snap paketlerinde, yukarıdaki dizin işe yaramaz; çünkü her uygulamanın veri konumu farklıdır. Bir Flatpak uygulamasında, özel dosyaların konumu genellikle ve bir Snap uygulamasında ise $HOME/.var/app/flatpak-paketi-adı/data/org.kde.syntax-highlighting/themes/ olarak kullanılır. $HOME/snap/snap-paketi-adı/current/.local/share/org.kde.syntax-highlighting/themes/
Windows®'ta bu dosyalar genelde C:\Users\ user-name%USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes olarak genişleyen %USERPROFILE% konumundadır.
Özet olarak, çoğu yapılandırmada özel tema dizinleri aşağıdaki gibidir:
| Yerel kullanıcı için | |
| Tüm kullanıcılar için | /usr/share/org.kde.syntax-highlighting/themes/ |
| Flatpak paketleri için | |
| Snap paketleri için | |
| Windows® üzerinde | %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes |
Aynı adlı birden çok tema dosyası varsa en yüksek revision'a (revizyona) sahip dosya yüklenir.
Bir JSON dosyasının yapısı web sitelerinde açıklanmıştır. Temel olarak, bir JSON biçimi şunlardan oluşur:
Adına “nesneler” dediğimiz ve
{ }ile gruplanan anahtar/değer çiftleri koleksiyonları.Adına “diziliş” dediğimiz ve
[ ]ile gruplanan sıralı değerler listeleri.
Bu yazıda, “anahtar”, “değer”, “nesne” ve “diziliş” ögeleri kullanılacaktır. JSON dosyalarıyla ilk tanışmanız ise onları anlamanın en kolay yolu aşağıdaki örneklere bakmaktır.
JSON renk teması dosyalarının kök nesnesi aşağıdaki şema anahtarlarını içerir:
metadata: Zorunlu. Değer, temanın üst verisi olan bir nesnedir; örneğin, adı, revizyonu ve lisansı.Ayrıntılı bilgi için “Üst Veri” bölümüne bakın.
editor-colors: Zorunlu. It is mandatory. Değer; arka plan, simge kenarlığı ve metin dekorasyonu gibi metin düzenleme alanının renklerine sahip bir nesnedir.Ayrıntılı bilgi için “Düzenleyici Renkleri” bölümüne bakın.
text-styles: Zorunlu. Değer, sözdizim vurgulamanın öntanımlı metin biçemi öznitelikleriyle bir nesnedir. Her bir öznitelik; örneğin, kendi metin rengini, seçili metin rengini veya onun kalın veya yatık olup olmadığını tanımlar. Metin biçemlerine XML sözdizim vurgulama dosyalarından başvurulabilir.Ayrıntılı bilgi için “Öntanımlı Metin Biçemleri” bölümüne bakın.
custom-styles: İsteğe bağlı. Belirli sözdizim vurgulama tanımlarının öznitelekleri için metin biçemlerini tanımları. Örneğin,PythonveyaMarkdownvurgulama tanımlarında,text-stylesiçinde tanımlı metin biçemini geçersiz kılacak bir metin biçemi tanımlayabilirsiniz.Ayrıntılı bilgi için “Özel Vurgulama Metin Biçemleri” bölümüne bakın.
JSON dili yorumları desteklemez. Ancak, yorumlar yazmak için kök nesnede isteğe bağlı _comments anahtarını kullanabilirsiniz. Bu örneğin, önceden var olan bir temayı uyarlıyorsanız özgün deponun URL’sini buraya koyabilirsiniz. En pratik yolu, diziler içeren dizilişler kullanmaktır.
Aşağıda “Esinti Açık” teması için bir örnek dosyayı görebilirsiniz. Örneğin pek büyük olmasını engellemek için editor-colors ve text-styles nesnelerinin tüm gerekli anahtarları içermediğine dikkat edin. “Esinti Açık” temasının tam arşivini KSyntaxHighlighting deposunda bulabilirsiniz.
{
"_comments": [
"Bu bir yorumdur.",
"Bu tema bir başkasından uyarlanmışsa özgün deponun bağlantısını buraya koyun."
],
"metadata": {
"name" : "Esinti Açık",
"revision" : 5,
"copyright": [
"SPDX-FileCopyrightText: 2016 Volker Krause <vkrause@kde.org>",
"SPDX-FileCopyrightText: 2016 Dominik Haumann <dhaumann@kde.org>"
],
"license": "SPDX-License-Identifier: MIT"
},
"editor-colors": {
"BackgroundColor" : "#ffffff",
"CodeFolding" : "#94caef",
"BracketMatching" : "#ffff00",
"CurrentLine" : "#f8f7f6",
"IconBorder" : "#f0f0f0",
"IndentationLine" : "#d2d2d2",
"LineNumbers" : "#a0a0a0",
"CurrentLineNumber" : "#1e1e1e",
Diğer düzenleyici renk anahtarları...
},
"text-styles": {
"Normal" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : false,
"italic" : false,
"underline" : false,
"strike-through" : false
},
"Keyword" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : true
},
"Function" : {
"text-color" : "#644a9b",
"selected-text-color" : "#452886"
},
"Variable" : {
"text-color" : "#0057ae",
"selected-text-color" : "#00316e"
},
Diğer metin biçemi anahtarları...
},
"custom-styles": {
"ISO C++": {
"Data Type": {
"bold": true,
"selected-text-color": "#009183",
"text-color": "#00b5cf"
},
"Keyword": {
"text-color": "#6431b3"
}
},
"YAML": {
"Attribute": {
"selected-text-color": "#00b5cf",
"text-color": "#00b5cf"
}
}
}
}
metadata anahtarının JSON nesnesi, tema üzerine aşağıdaki ilgili bilgiyi içerir. Bu nesnedeki anahtarlar aşağıdaki gibidir:
name: Dilin adını ayarlayan bir dizidir. Daha sonra menülerde ve iletişim kutularında görünür. Bu, zorunludur.revizyon: Tema dosyasının geçerli revizyonunu belirten bir tamsayı'dır. Bir renk teması dosyasını güncellediğinizde bu sayıyı artırdığınızdan emin olun. Bu zorunludur.license: Temanın lisansını, standart SPDX lisans iletişim biçiminden alınanSPDX-License-Identifiertanımlayıcısını kullanarak belirten bir dizidir. İsteğe bağlıdır.SPDX lisans tanımlayıcılarının tam listesini buradan görebilirsiniz.
copyright: Temanın telif hakkını, standart SPDX lisans iletişim biçiminden alınanSPDX-License-Identifiertanımlayıcısını kullanarak belirten bir diziler dizilişidir. İsteğe bağlıdır.
"metadata": {
"name" : "Esinti Açık",
"revision" : 5,
"copyright": [
"SPDX-FileCopyrightText: 2016 Volker Krause <vkrause@kde.org>",
"SPDX-FileCopyrightText: 2016 Dominik Haumann <dhaumann@kde.org>"
],
"license": "SPDX-License-Identifier: MIT"
}
Bu bölüm, tüm kullanılabilir renk özniteliklerini ve ayarlarını ayrıntılandırır.
Metin düzenleme alanı renklerine karşılık gelir.
JSON tema dosyasında, ilgili editor-colors anahtarının, her bir anahtarın metin düzenleyicisinin renk özniteliğine başvurduğu bir object değeri vardır. Burada, tüm anahtarlar zorunludur, değerleri ise “#00B5CF” gibi onaltılık renk değerlerine sahip dizilerdir.
KTextEditor tema yönetim arayüzünde, bu öznitelikler Renkler sekmesinde yapılandırılabilir.
Kullanılabilir anahtarlar aşağıdaki gibidir; JSON dosyasında kullanılan anahtarlar kalın ile, grafik arayüzde kullanılan adlar parantez içinde gösterilirler.
- Düzenleyici Arka Plan Renkleri
BackgroundColor(Metin Alanı)Bu, düzenleyici alanı için varsayılan arka plandır, düzenleyici alanındaki baskın renk olacaktır.

TextSelection(Seçili Metin)Bu, seçili metnin arka planıdır.

CurrentLine(Geçerli Satır)Geçerli satırın rengini ayarlayın. Bunu normal metin arka planından biraz farklı bir şekilde ayarlamak, odağın geçerli satırda kalmasına yardımcı olur.

SearchHighlight(Arama Vurgusu)Son aramanızla eşleşen metnin rengini ayarlayın.

ReplaceHighlight(Değiştirme Vurgusu)Son değiştirme işleminizle eşleşen metnin rengini ayarlayın.

- Simge Kenarlığı
IconBorder(Arka Plan Alanı)Bu renk, görüntülendiğinde düzenleyici görünümünün sol tarafındaki imleyiciler, satır numaraları ve katlama imleyicisi kenarlıkları için kullanılır.
LineNumbers(Satır Numaraları)Bu renk, görüntülendiğinde görünümün sol tarafındaki satır numaralarını çizmek için kullanılır.
CurrentLineNumber(Geçerli Satır Numarası)Bu renk, görüntülendiğinde görünümün sol tarafına geçerli satırın satır numarasını çizmek için kullanılır. Bunu “LineNumbers”'tan biraz farklı bir şekilde ayarlamak, geçerli satıra odaklanmaya yardımcı olur.
Separator(Ayırıcı)Bu renk, simge kenarlığını metin alanının arka planından ayıran dikey çizgiyi çizmek için kullanılır.

WordWrapMarker(Sözcük Kaydırma İmleyicisi)Bu renk, dikey olarak hizalandığında devingen olarak kaydırılan çizgilerin soluna bir desen çizmek ve durgun sözcük kaydırma imleyicisi için kullanılır.

CodeFolding(Kod Katlama)Bu renk, bir belgenin solundaki kod katlama okuna tıkladığınızda katlanacak kod bölümünü vurgulamak için kullanılır. Daha fazla bilgi için kod katlama belgelendirmesine bakın.

ModifiedLines(Değiştirilen Satırlar)Bu renk, değiştirilmiş ancak henüz kaydedilmemiş bir belgenin sol tarafındaki satırları vurgulamak için kullanılır. Daha fazla bilgi için “Satır Değişiklik Göstergeleri” bölümüne bakın.
SavedLines(Kaydedilen Satırlar)Bu renk, bu oturumda değiştirilen ve kaydedilen belgenin sol tarafındaki satırları vurgulamak için kullanılır. Daha fazla bilgi için “Satır Değişiklik Göstergeleri” bölümüne bakın.

- Metin Dekorasyonları
SpellChecking(Yazım Yanlışı Satırı)Bu renk, yazım yanlışlarını belirtmek için kullanılır.

TabMarker(Sekme ve Boşluk İmleyicileri)Bu renk, etkinleştirildiğinde beyaz alan göstergelerini çizmek için kullanılır.

IndentationLine(Girintileme Satırı)Bu renk, bu özellik etkinse girintili blokların soluna bir çizgi çizmek için kullanılır.

BracketMatching(Ayraç Vurgusu)Bu renk, eşleşen ayraçların arka planını çizmek için kullanılır.

- İmleyici Renkleri
MarkBookmark(Yer İmi)Bu renk, yer imlerini belirtmek için kullanılır. Bu rengin arka plana göre %22 (ve geçerli çizgi için %33) matlığa sahip olduğunu unutmayın.

MarkBreakpointActive(Etkin Kesme Noktası)Bu renk, GDB eklentisi tarafından etkin bir kesme noktasını belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için GDB eklentisi belgelendirmesine bakın.
MarkBreakpointReached(Ulaşılan Kesme Noktası)Bu renk GDB eklentisi tarafından hata ayıklama sırasında ulaştığınız bir kesme noktasını belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için GDB eklentisi belgelendirmesine bakın.
MarkBreakpointDisabled(Devre Dışı Kesme Noktası)Bu renk, GDB eklentisi tarafından etkin olmayan bir kesme noktasını belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için GDB eklentisi belgelendirmesine bakın.
MarkExecution(Yürütme)Bu renk, şu anda yürütülen satırdaki GDB eklentisi tarafından kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için GDB eklentisi belgelendirmesine bakın.
MarkWarning(Uyarı)Bu renk, yapı eklentisi tarafından derleyici uyarısına neden olan bir satırı belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için yapı eklentisi belgelendirmesine bakın.
MarkError(Hata)Bu renk, yapı eklentisi tarafından derleyici hatasına neden olan bir satırı belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için yapı eklentisi belgelendirmesine bakın.
- Metin Şablonları ve Parçacıkları
TemplateBackground(Arka Plan)Bu renk Kate parçacıkları eklentisi tarafından bir parçacığın arka planını imlemek için kullanılır. Daha fazla bilgi için Kate parçacıkları belgelendirmesine bakın.
TemplatePlaceholder(Düzenlenebilir Yer Tutucu)Bu renk, Kate parçacıklar eklentisi tarafından elle düzenlemek üzere tıklayabileceğiniz bir yer tutucuyu imlemek için kullanılır. Daha fazla bilgi için Kate parçacıkları belgelendirmesine bakın.
TemplateFocusedPlaceholder(Odaklı Düzenlenebilir Yer Tutucu)Bu renk, Kate parçacıklar eklentisi tarafından şu anda düzenlediğiniz yer tutucuyu imlemek için kullanılır. Daha fazla bilgi için Kate parçacıkları belgelendirmesine bakın.

TemplateReadOnlyPlaceholder(Düzenlenemez Yer Tutucu)Bu renk, Kate parçacıklar eklentisi tarafından düzenlenemez olan bir yer tutucuyu; örneğin, kendiliğinden doldurulan tutucular gibi, imlemek için kullanılır. Daha fazla bilgi için Kate parçacıkları belgelendirmesine bakın.

Öntanımlı metin biçemleri, vurgulanan metin biçemleri tarafından devralınır ve bu, düzenleyicinin metni çok tutarlı bir biçimde sunmasına olanak tanır; örneğin, yorum metni, KSyntaxHighlighting’in vurgulayabildiği hemen hemen tüm metin biçimlerinde aynı biçemi kullanır.
Not
Bu metin biçemlerine, sözdizim vurgulama XML tanım dosyalarında kullanılan öntanımlı biçemlerden başvurulabilir; örneğin, “Normal” özniteliği, XML dosyalarındaki “dsNormal” özniteliğine ve “DataType” ise “dsDataType”'a eşdeğerdir. Daha fazla bilgi için sözdizim vurgulama belgelendirmesindeki “Kullanılabilir Öntanımlı Biçemler” bölümüne bakın.
İpucu
Özellikle Düzenleyici Renkleri ile kombine edildiğinde iyi karşıtlık sağlayacak okunabilir renkler seçmeye dikkat edin. Daha fazla bilgi için “Metin Renklerinin Karşıtlığı” bölümüne bakın.
JSON dosyasında, ilgili text-styles anahtarının değeri bir object'e sahiptir; burada her anahtar, sözdizim vurgulama tanımlarında kullanılanlara eşdeğer olan bir öntanımlı metin biçeminin adına karşılık gelir. Burada, zorunlu olan kullanılabilir tüm metin biçemi anahtarları aşağıda listelenmiştir.
"text-styles": {
"Normal" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : false,
"italic" : false,
"underline" : false,
"strike-through" : false
},
"Keyword" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : true
},
"Function" : {
"text-color" : "#644a9b",
"selected-text-color" : "#452886"
},
Diğer metin biçemi anahtarları...
}
- Öntanımlı metin biçeminin her bir anahtarının bir JSON nesnesi olan değerleri vardır; buralarda; örneğin, color, bold, italic, vb. değerler belirtilirler. Bu anahtarlar aşağıda listelenmiştir:
text-color: Metin renginin onaltılık bir renk kodunda olduğu bir dizidir. Bu anahtar/değer zorunludur.selected-text-color: Seçili olan metin renginin değeri genelde “text-color” ile aynıdır. Metin seçiliyken, arka plan, Düzenleyici Renkleri'nin TextSelection değeriyle belirlenir, bundan dolayı, metnin iyi bir karşıtlığa sahip olduğundan ve bu arka planla okunabilir olduğundan emin olun. Değer, onaltılık renk koduna sahip bir dizidir ve zorunludur.bold: Metnin kalın olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değerfalse'tur.italic: Metnin yatık olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değerfalse'tur.underline: Metnin altı çizili olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değerfalse'tur.strike-through: Metnin üzeri çizili olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değerfalse'tur.background-color: Metnin arka planının belirler; örneğin, yorumlardaki uyarılar için kullanılır. Değer, onaltılık renk koduna sahip bir dizidir. Bu anahtar isteğe bağlıdır ve öntanımlı olarak bir arka plan yoktur.selected-background-color: Metnin seçiliyken arka planının belirler. Değer, onaltılık renk koduna sahip bir dizidir. Bu anahtar isteğe bağlıdır ve öntanımlı olarak bir arka plan yoktur.
KTextEditor renk temalarını yönetmek için kullanılan arayüzde, bu öznitelikler Öntanımlı Metin Biçemleri sekmesinde değiştirilebilir. Biçem listesindeki ad, öge için yapılandırılan biçemi kullanır ve bir biçemi yapılandırırken size anında bir önizleme sağlar. Her biçem, ortak özelliklerin yanı sıra ön plan ve arka plan renklerini de seçmenize olanak tanır. Bir arka plan rengini kaldırmak için bağlam menüsünü kullanmak üzere sağ tıklayın.
Kullanılabilir metin biçemi anahtarları aşağıda listelenmiştir; JSON dosyasında kullanılan anahtarlar kalın ile, grafik arayüzde kullanılan adlar ise farklılarsa parantez içinde gösterilirler.
- Normal Metin ve Kaynak Kodu
Normal: Özel vurgulama olmadan normal metin ve kaynak kodu için öntanımlı metin biçemi.Keyword: Yerleşik dil anahtar sözcükleri için metin biçemi.Function: İşlev tanımları ve çağrıları için metin biçemi.Variable: Kullanılabiliyorsa değişkenler için metin biçemi. Örneğin, PHP/Perl değişkenleri genellikle bir$ile başlar, bundan dolayı$foodizgisine uyan tüm tanımlayıcılar değişken olarak vurgulanırlar.ControlFlow(Denetim Akışı): if, then, else, return, switch, break, yield, continue, vb. gibi denetim akışı anahtar sözcükleri için metin biçemi.Operator:+,-,*,/,%, vb. gibi işleçler için metin biçemi.BuiltIn(Yerleşik): Yerleşik dil sınıfları, işlevleri ve nesneleri için metin biçemi.Extension: İyi bilinen uzantılar; örneğin, Qt™ sınıfları, C++ işlevleri/makroları vb. için metin biçemi.Preprocessor: Önişlemci ifadeleri veya makro tanımları için metin biçemi.Attribute: Bilgi notları veya işlevlerin veya nesnelerin öznitelikleri için metin biçemi; örneğin, Java’daki@overrideveya C++’daki__declspec(...)ve__attribute__((...)).- Sayılar, Türler ve Sabitler
DataType(Veri Türü): int, char, float, void, u64, vb. gibi yerleşik veri türleri için metin biçemi.DecVal(Ondalık/Değer): Ondalık değerler için metin biçemi.BaseN(N Tabanlı Tamsayı): 10’dan başka bir tabanlı sayılar için metin biçemi.Float(Kayan Noktalı): Kayan noktalı sayılar için metin biçemi.Constant: Dil sabitleri ve kullanıcı tanımlı sabitler için metin biçemi; örneğin, Python’daki True, False, None veya C/C++’daki nullptr veya PI gibi matematik sabitleri.- Diziler ve Karakterler
Char(Karakter):'x'gibi tekli karakterler için metin biçemi.SpecialChar(Özel Karakter): Dizilerde kaçırılan karakterler; örneğin, “esenlikler\n” ve değiştirmeler veya düzenli ifade işleçleri gibi özel anlamlı diğer karakterler için metin biçemi.String: “merhaba dünya” gibi diziler için metin biçemi.VerbatimString(Gerçek Dizi): Gerçek veya ham diziler için metin biçemi; örneğin, Perl, CoffeeScript belgelerindeki gibi'ham \ters eğik çizgi'veya Python veya HERE belgelerindekir'\ham'gibi diziler.SpecialString(Özel Dizi): Özel diziler için metin biçemi; örneğin, ECMAScript düzenli ifadeleri, LATEX matematik kipi, SQL, vb.Import(Import’lar, Modüller, Include’lar): Include’lar, import’lar, modüller veya LATEX paketleri için metin biçemi.- Yorumlar ve Belgelendirme
Comment: Normal yorumlar için metin biçemi.Documentation: API belgelendirmesini yansıtan yorumlar için metin biçemi; örneğin,/** doxygen yorumları */veya"""docstrings""".Annotation: Yorumlardaki bilgi notları veya belgelendirme komutları için metin biçemi; örneğin, Doxygen veya JavaDoc için@param.CommentVar(Yorum Değişkeni): Yukarıdaki komutlarda bir yorumda kullanılan değişken adlarına başvuran metin biçemi; örneğin, Doxygen veya JavaDoc’ta “@param foobar” içindekifoobargibi.RegionMarker(Bölge İmleyicisi): Genellikle yorumlarda//BEGINve//ENDile tanımlanan bölge imleyicilerine yönelik metin biçemi.Information: Bilgi, notlar ve ipuçları için metin biçemi; örneğin, Doxygen@noteanahtar sözcüğü gibi.Warning: Uyarılar için metin biçemi; örneğin, Doxygen’deki@warninganahtar sözcüğü gibi.Alert: Yorumlardaki özel sözcükler için metin biçemi; örneğin,TODO,FIXME,XXXXveWARNING.- Çeşitli
Error: Hata vurgulaması ve yanlış sözdizimi belirten metin biçemi.Others: Diğer öntanımlı biçemlerden hiçbiriyle eşleşmeyen öznitelikler için metin biçemi.
Burada, önceki bölümde açıklanan öntanımlı metin biçemini geçersiz kılarak, belirli bir sözdizim vurgulama tanımı için metin biçemleri oluşturabilirsiniz.
JSON tema dosyasında bu, değeri her alt şema anahtarının bir sözdizimi vurgulama tanımının adına karşılık geldiği bir nesne olan custom-styles anahtarına karşılık gelir. Onun değeri, her bir anahtarın sözdizim tanımlama XML dosyasının itemData ögesinde tanımlı biçem öznitelikleri adına başvuran bir nesnedir. İlgili değer, text-color, selected-text-color, bold, italic, underline, strike-through, background-color ve selected-background-color anahtarlarıyla bir alt nesnedir. Bu alt nesne, bir önceki bölümde tanımlanmıştır. Bu değerlerin her biri isteğe bağlıdır; eğer yoklarsa text-styles içinde tanımlı biçem kümesi değerlendirilir.
Örneğin bu kod parçasında, “ISO C++” sözdizim vurgulama tanımında “Type Modifiers” ve “Standard Classes” öznitelikleri için özel bir metin biçemi vardır. Karşılık gelen “isocpp.xml” XML dosyasında tanımlı “Standard Classes” özniteliği BuiltIn (veya dsBuiltIn) öntanımlı biçemini kullanır. Bu öznitelikte, yalnızca text-color değerinin yeni “#6431b3” değeriyle üzerine yazılır.
"custom-styles": {
"ISO C++": {
"Standard Classes": {
"text-color": "#6431b3"
},
"Type Modifiers": {
"bold": true,
"selected-text-color": "#009183",
"text-color": "#00b5cf"
}
}
}
Not
Bu metin biçemlerinin, XML dosyalarını vurgulayan sözdizimde tanımlanan öznitelik adlarıyla ilişkili olduğunu dikkate almalısınız. Bir XML dosyası güncellenirse ve bazı nitelikler yeniden adlandırılırsa veya kaldırılırsa temada tanımlanan özel biçem artık geçerli olmayacaktır.
Sözdizim vurgulama tanımları genellikle başka tanımları da içerir. Örneğin, “QML” vurgulayıcısı, “JavaScript” vurgulayıcısını da içerir; çünkü bunlar, vurgulamadaki işlevleri paylaşırlar.
KTextEditor tema yönetim arayüzünde, bu öznitelikler Vurgulama Metin Biçemleri sekmesinde yapılandırılabilir. Öntanımlı olarak düzenleyici, geçerli belgenin vurgulamasını önceden seçer. Pek çok vurgunun, biçem listesindeki gruplar tarafından temsil edilen diğer vurguları içerdiğini fark edeceksiniz. Örneğin, öne çıkanların çoğu “Alert” vurgusunu içe aktarır ve birçok kaynak kodu biçimi de “Doxygen” vurgusunu içe aktarır.
Renk temaları oluşturmanın ve düzenlemenin en basit yolu, KTextEditor tarafından sağlanan “Yapılandırma” iletişim kutusunu kullanmaktır. Ona erişmek için düzenleyicinizdeki menü çubuğundan → yolunu izleyin. Bu, Yapılandır iletişim kutusunu getirir; burada kenar çubuğundaki Renk Temaları girdisini seçin.

Kate'in renk teması yönetimini gösteren ayarlar iletişim kutusu.
Bu iletişim kutusunda, sahip olduğunuz tüm temalardaki tüm renkleri düzenleyebilir, yeni temalar oluşuturabilir/kopyalayabilir, onları silebilir, onları JSON biçimindeki bir .theme dosyasına dışa aktarabilir veya başka .theme dosyalarından içe aktarabilirsiniz. Her bir temanın metin renkleri ve biçemleri için ayarları vardır.
Öntanımlı olarak yerleşik temalar değiştirilemez. Bunu yapmak için bunları kopyalamanız ve onlara yeni bir ad vermeniz gerekir.
Bir temayı metin düzenleyicinizde kalıcı olarak kullanmak için öncelikle onu iletişim kutusunun altındaki Uygulama için öntanımlı tema bölümünde seçmeli ve veya düğmelerine basmalısınız. Öntanımlı olarak, Kendiliğinden seçim seçeneği etkindir; bu, metin düzenleme uygulamasında kullanılan KDE Plasma renk şemasına daha uygun bir temayı seçer. Şema açık veya koyuysa, genellikle sırasıyla “Esinti Açık” ve “Esinti Koyu” temaları arasında geçiş yapılır.
İpucu
KDE global renk şemasını Sistem Ayarları içindeki “Renkler” modülünde ayarlayabilirsiniz. Bunu, Kate veya KDevelop gibi bazı uygulamalarda → menüsünden bireysel olarak değiştirebilirsiniz.
Yeni bir tema oluşturmak için öncelikle var olan bir tanesini kopyalamanız gerekir. “Esinti Açık” veya “Esinti Koyu” gibi temel olarak kullanmak istediğiniz var olan bir temayı seçin ve 'ya tıklayın. Daha sonra yeni tema için bir ad yazın.
Yerleşik veya saltokunur bir temayı değiştirmek istiyorsanız önce onu farklı bir adla kopyalamanız gerekir.
Seçili bir temayı (yerleşik olanları da) bir JSON dosyasına .theme uzantısıyla düğmesini kullanarak dışa aktarabilirsiniz. Bu, dosyayı kaydetmek için bir iletişim kutusu açacaktır. Başka dış bir JSON dosyasından bir renk teması eklemek için düğmesine basın ve iletişim kutusundan .theme dosyasını seçin.
İpucu
Yukarıda belirtildiği üzere, kullanıcı tanımlı tema dosyaları
org.kde.syntax-highlighting/themes/dizininde depolanırlar. Bir tema oluşturduğunuzda veya kopyaladığınızda orada kendiliğinden oluşur. Ek olarak, bir tema içe aktarmak veya eklemek, bir.themedosyasını bu dizine koymakla eşdeğerdir. KSyntaxHighlighting, bu dizinden renk teması dosyalarını kendiliğinden alır.Sizin tarafınızdan oluşturulan bir temayı yayımlamak istiyorsanız JSON dosyasının metadata nesnesine ilgili lisansı eklemeniz ve revizyon numarasını denetlemeniz önemlidir.
Burada, metin düzenleme alanının renkleri düzenlenirken görebilirsiniz. Bunlar, “Düzenleyici Renkleri” bölümünde ayrıntılı olarak açıklanmıştır.
Öntanımlı metin biçemleri, vurgulanan metin biçemleri tarafından devralınır ve bu, düzenleyicinin metni çok tutarlı bir biçimde sunmasına olanak tanır; örneğin, yorum metni, KSyntaxHighlighting’in vurgulayabildiği hemen hemen tüm metin biçimlerinde aynı biçemi kullanır.
Biçem listesindeki ad, öge için yapılandırılan biçemi kullanır ve bir biçemi yapılandırırken size anında bir önizleme sağlar.
Her biçem, ortak özelliklerin yanı sıra ön plan ve arka plan renklerini de seçmenize olanak tanır. Bir arka plan rengini kaldırmak için bağlam menüsünü kullanmak üzere sağ tıklayın.
Bu bölümün öznitelikleri “Öntanımlı Metin Biçemleri” bölümünde ayrıntılı olarak açıklanmıştır.
Burada, belirli bir vurgu tanımı tarafından kullanılan metin biçemlerini düzenleyebilirsiniz. Düzenleyici, geçerli belgenizin kullandığı vurguyu önceden seçer. Farklı bir vurgu üzerinde çalışmak için biçem listesinin üzerindeki Vurgula çoklu kutusundan birini seçin.
Biçem listesindeki ad, öge için yapılandırılan biçemi kullanır ve bir biçemi yapılandırırken size anında bir önizleme sağlar.
Her biçem, ortak özelliklerin yanı sıra ön plan ve arka plan renklerini de seçmenize olanak tanır. Bir arka plan rengini kaldırmak için bağlam menüsünü kullanmak üzere sağ tıklayın. Ayrıca bir biçemin, öge için kullanılan öntanımlı biçeme eşit olup olmadığını görebilir ve değilse bunu buna ayarlayabilirsiniz.
Pek çok vurgunun, biçem listesindeki gruplar tarafından temsil edilen diğer vurguları içerdiğini fark edeceksiniz. Örneğin, çoğu vurgu, Uyarı vurgusunu içe aktarır ve birçok kaynak kodu biçimi, Doxygen vurgusunu içe aktarır. Bu gruplardaki renkleri düzenlemek, yalnızca düzenlenen vurgu biçiminde kullanıldığında biçemleri etkiler.
Renk temalarıyla çalışırken önemli bir konu, özellikle arka planla birlikte okumayı kolaylaştıracak bir metin karşıtlığı seçmektir.
Kontrast uygulaması bir renk karşıtlığı denetleyicisidir. Size metin rengi ve arka plan rengi kombinasyonlarının okunabilir ve erişilebilir olduğunu söyler; dolayısıyla bu, renk temaları oluşturmanıza yardımcı olacak mükemmel bir araçtır.
Kontrast uygulamasını from KDE uygulamaları web sitesinden veya Flathub’daki Flatpak paketiyle indirebilirsiniz (yalnızca GNU/Linux).
GNOME Contrast uygulaması da benzer bir uygulamadır. Flathub’daki Flatpak paketiyle indirebilirsiniz (yalnızca GNU/Linux).
KSyntaxHighlighting, 300’den fazla sözdizimi vurgulama tanımı içerir, bu nedenle yeni temanızın tüm sözdizim vurgulama tanımlarında iyi göründüğünden emin olmanız idealdir. Yerleşik renk temaları, tüm sözdizim vurgulama tanımlarının doğru bir şekilde görüntülenmesini sağlamak için takip edilmesi önerilen (ancak zorunlu olmayan) aşağıdaki benzerliklere sahiptir:
“Keyword” ve “ControlFlow” metin biçemleri için kalın metin kullanın.
“Alert” ve “RegionMarker” dışındaki herhangi bir metin biçeminde arka plan rengi kullanmayın.
Çoğu sözdizim vurgulayıcı, öntanımlı “Esinti Açık” ve “Esinti Koyu” temalarında güzel görünmesi için tasarlanmıştır; dolayısıyla, tutarlılığı korumanın bir başka yolu da metin biçemlerinde benzer renkler kullanmaktır; örneğin, “Preprocessor” ve “Others” için yeşil; “DataType” ve “Attribute” için mavi veya “Function” için mor.
Bir tema oluştururken ve yayımlarken bu önerilerin zorunlu olmadığını unutmayın.
KatePart düzenleyici bileşeni, betik yazımı ile kolaylıkla genişletilebilir. Bunun içn kullanılan dil ECMAScript’tir (genellikle JavaScript olarak bilinir). KatePart iki tür betiği destekler: Girintileme ve komut satırı betikleri.
Girintileme betikleri (aynı zamanda girintileyiciler olarak da bilinir) metin yazarken kaynak kodu kendiliğinden girintiler. Örnek olarak, Dönüş düğmesine bastıktan sonra girinti düzeyi genelde artar.
Aşağıdaki bölümlerde basit bir girintileyici için temel çerçevenin nasıl oluşturulacağı adım adım açıklanmaktadır. İlk adım olarak, yerel ana klasör olan $ klasöründe yeni bir XDG_DATA_HOME/katepart5/script/indentation*.js dosyası oluşturun; örneğin, javascript.js. Burada, XDG_DATA_HOME çevre değişkeni genellikle ~/.local veya ~/.local/share olarak genişletilir.
Windows®'ta bu dosyalar genelde C:\\Users\\ olarak genişleyen user%USERPROFILE%\AppData\Local\katepart5\script\indentation. %USERPROFILE% konumundadır.
javascript.js dosyasının üstbilgisi, aşağıdaki gibi belgenin başına JSON olarak gömülür:
var katescript = {
"name": "JavaScript",
"author": "Örnek Ad <örnek.ad@bir.adres.org>",
"license": "BSD License",
"revision": 1,
"kate-version": "5.1",
"required-syntax-style": "javascript",
"indent-languages": ["javascript"],
"priority": 0,
}; // kate-script-header, dosyanın başında yorumsuz olmalıdır
Burada her giriş ayrıntılı olarak açıklanır:
name[zorunlu]: Bu, → menüsünde ve yapılandırma iletişim kutusunda görünen girintileyici adıdır.author[isteğe bağlı]: Yazarın adı ve iletişim bilgisi.license[isteğe bağlı]: Lisansın kısa adı; örneğin, BSD License veya LGPLv3.revision[zorunlu]: Betiğin revizyonu. Komut dosyasında her değişiklik yapıldığında bu sayının artırılması gerekir.kate-version[zorunlu]: Zorunlu en düşük KatePart sürümü.required-syntax-style[isteğe bağlı]: Sözdizim vurgulama dosyalarında belirtilenbiçemile eşleşen gerekli sözdizim biçemi. Bu, belgedeki belirli vurgulama bilgilerine dayanan girintileyiciler için önemlidir. Gerekli bir sözdizim biçemi belirtilirse girintileyici yalnızca uygun vurgulayıcı etkin olduğunda kullanılabilir. Bu, girintileyicinin beklenen vurgulama şeması olmadan kullanılmasından kaynaklanan “tanımsız davranışı” önler. Örneğin, Ruby girintileyicisi bunu,ruby.jsveruby.xmldosyalarında kullanır.indent-languages[isteğe bağlı]: Girintileyicinin düzgünce girintileyebildiği sözdizim biçemlerinin JSON dizilişi; örneğin:["c++", "java"].priority[isteğe bağlı]: Vurgulanan belirli bir dosya için birden fazla girintileyici uygunsa öncelik, öntanımlı girintileyici olarak hangi girintileyicinin seçileceğine karar verir.
Üstbilgiyi belirledikten sonra bu bölüm girintileme betiği oluşturma işleminin nasıl çalıştığını açıklamaktadır. Gövdenin temel iskeleti şöyle görünür:
// zorunlu katepart js kitaplıkları; örneğin, Range require ("range.js"); kullanıyorsanız range.js
triggerCharacters = "{}/:;";
function indent(line, indentWidth, ch)
{
// triggerCharacters global değişkeninde belirtilen her bir yenisatır (ch == ’\n’) ve tüm karakterler için çağrılır. → , ch değişkeni boştur; demeli, ch == ’’.
//
// Ayrıca bakınız: Betik Yazımı API’si
return -2;
}
indent() işlevinin üç parametresi vardır:
line: Girintilenmesi gereken satırindentWidth: Boşluk türünden girintileme genişliğich: Ya bir yenisatır karakteri (ch == ’\n’) yatriggerCharactersiçinde belirtilen tetikleyici karakter ya da kullanıcı → eylemini çağırdıysa boş.
indent() işlevinin döndürdüğü değer, satırın nasıl girintileneceğini belirtir. Dönüş değeri basit bir tamsayıysa aşağıdaki gibi değerlendirilir:
return value
-2: Bir şey yapmareturn value
-1: Girintilemeyi tut (önceki boş olmayan satırları arar)return value
0: >=0 sayıları, boşluk türünden girintileme derinliğini belirtir
Alternatif olarak, iki ögeli bir diziliş döndürülebilir:
return [ indent, align ];
Bu durumda ilk öge, yukarıdaki gibi özel değerlerle aynı anlama gelen girintileme derinliğidir. Ancak ikinci öge, “hizalama” sütununu temsil eden mutlak bir değerdir. Bu değer girinti değerinden yüksekse, fark, ilk parametrenin girintisinden sonra eklenecek boşluk sayısını temsil eder. Aksi halde ikinci sayı dikkate alınmaz. Girintileme için sekmelerin ve boşlukların kullanılmasına genellikle “karma kip” adı verilir.
Aşağıdaki örneğe ele alın: Girintileme için sekmelerin kullanıldığını ve sekme genişliğinin 4 olduğunu varsayalım. Burada, <tab> bir sekmeyi ve '.' bir boşluğu temsil eder:
1: <tab><tab>foobar("merhaba",
2: <tab><tab>......."dünya");
2. satırı girintilerken, indent() işlevi [8, 15] değerini döndürür. Sonuç olarak, 8. sütuna girinti yapmak için iki sekme eklenir ve ikinci parametreyi birincinin altına hizalamak için 7 boşluk eklenir, böylece dosya farklı bir sekme genişliğinde görüntülenirse hizalı kalır.
Öntanımlı bir KDE kurulumu, KatePart uygulamasını birkaç girintileyici ile kurar. Karşılık gelen JavaScript kaynak kodu $ konumunda bulunabilir.XDG_DATA_DIRS/katepart5/script/indentation
Windows®'ta bu dosyalar genelde C:\\Users\\ olarak genişleyen user%USERPROFILE%\AppData\Local\katepart5\script\indentation. %USERPROFILE% konumundadır.
Bir girintileyici geliştirmek, değişikliklerin uygun şekilde davranıp davranmadığını görmek için betiklerin yeniden yüklenmesini gerektirir. Uygulamayı yeniden başlatmak yerine komut satırına geçin ve reload-scripts komutunu çağırın.
Yararlı betikler geliştiriyorsanız KatePart uygulamasına katkıda bulunmayı düşünün. Geliştirmelerinizi posta listesine gönderin.
Herkesin gereksinimlerini karşılamak güç olsa da, KatePart, yerleşik komut satırı ile tez metin manipülasyonunu sağlamak için küçük yardımcı araçlar sağlar. Örneğin, sort komutu bir betik olarak uygulanmıştır. Bu bölüm, KatePart uygulamasını olabildiğince genişletmek için nasıl *.js dosyaları oluşturulacağını açıklar.
Komut satırı betikleri, girintileme betikleriyle aynı klasörde bulunurlar. İlk adım olarak, yerel ana klasör olan $ klasöründe yeni bir XDG_DATA_HOME/katepart5/script/commands*.js dosyası oluşturun; örneğin, izlencelerim.js. Burada, XDG_DATA_HOME çevre değişkeni genellikle ~/.local veya ~/.local/share olarak genişletilir.
Windows®'ta bu dosyalar genelde C:\\Users\\ olarak genişleyen user%USERPROFILE%\AppData\Local\katepart5\script\commands. %USERPROFILE% konumundadır.
javascript.js dosyasının üstbilgisi, aşağıdaki gibi belgenin başına JSON olarak gömülür:
var katescript = {
"author": "Örnek Ad <örnek.ad@bir.adres.org>",
"license": "LGPLv2+",
"revision": 1,
"kate-version": "5.1",
"functions": ["sort", "moveLinesDown"],
"actions": [
{ "function": "sort",
"name": "Seçili Metni Sırala",
"category": "Editing",
"interactive": "false"
},
{ "function": "moveLinesDown",
"name": "Satırları Aşağı Taşı",
"category": "Editing",
"shortcut": "Ctrl+Shift+Down",
"interactive": "false"
}
]
}; // kate-script-header, dosyanın başında yorumsuz olmalıdır
Burada her giriş ayrıntılı olarak açıklanır:
author[isteğe bağlı]: Yazarın adı ve iletişim bilgisi.license[isteğe bağlı]: Lisansın kısa adı; örneğin, BSD License veya LGPLv3.revision[zorunlu]: Betiğin revizyonu. Komut dosyasında her değişiklik yapıldığında bu sayının artırılması gerekir.kate-version[zorunlu]: Zorunlu en düşük KatePart sürümü.functions[zorunlu]: Betikteki komutların JSON dizilişi.actions[isteğe bağlı]: Uygulama menüsünde görünen eylemleri tanımlayan JSON nesnelerinin JSON dizilişi. Ayrıntılı bilgi, Kısayolları Bağıntılamak bölümünde sağlanmıştır.
functions değeri bir JSON dizilişi olduğundan, tek bir betik istediğiniz kadar komut satırı komutu içerebilir. Her bir işlev, KatePart uygulamasının yerleşik komut satırından kullanılabilir.
Üstbilgide belirtilen tüm işlevlerin betikte uygulanması gerekir. Örneğin, yukarıdaki örnekteki komut dosyasının sort ve moveLinesDown işlevlerini uygulaması gerekir. Tüm işlevler aşağıdaki sözdizime sahiptir:
// zorunlu katepart js kitaplıkları; örneğin, Range require ("range.js"); kullanıyorsanız range.js
function <name>(arg1, arg2, ...)
{
// ... uygulama, ayrıca bakınız: Betik Yazımı API’si
}
Komut satırındaki argümanlar işleve arg1, arg2, vb. olarak geçirilirler. Her bir komut için belgelendirmek sağlamak istiyorsanız yalnızca 'help' işlevini aşağıdaki gibi uygulayın:
function help(cmd)
{
if (cmd == "sort") {
return i18n("Seçili metni sıralayın.");
} else if (cmd == "...") {
// ...
}
}
Komut satırında help sort işlevini yürütmek, sonrasında bu yardım işlevini verilen komuta ayarlı cmd ile çağırır; başka bir deyişle, cmd == "sort". KatePart sonrasında döndürülen metni kullanıcıya belgelendirme olarak sunar. Dizileri başka dillere çevrilebilir yaptığınızdan emin olun.
Bir komut satırı betiği geliştirmek, değişikliklerin uygun şekilde davranıp davranmadığını görmek için betiklerin yeniden yüklenmesini gerektirir. Uygulamayı yeniden başlatmak yerine komut satırına geçin ve reload-scripts komutunu çağırın.
Betiklerin uygulama menüsünden erişilebilir olmasını sağlamak ve kısayollar atamak için betiğin uygun bir betik başlığı sağlaması gerekir. Yukarıdaki örnekte, betik üstbilgisindeki aşağıdaki bölüm nedeniyle menüde hem sort hem de moveLinesDown işlevleri görünüyor:
var katescript = {
...
"actions": [
{ "function": "sort",
"name": "Seçili Metni Sırala",
"icon": "",
"category": "Editing",
"interactive": "false"
},
{ "function": "moveLinesDown",
"name": "Satırları Aşağı Taşı",
"icon": "",
"category": "Editing",
"shortcut": "Ctrl+Shift+Down",
"interactive": "false"
}
]
};
Tek bir eylem için olan alanlar aşağıdaki gibidir:
function[zorunlu]: → menüsünde görünmesi gereken işlev.name[zorunlu]: Betikler menüsünde görünen metin.icon[isteğe bağlı]: Menüde metnin yanında görünen simge. Burada tüm KDE simgeleri adları kullanılabilir.category[isteğe bağlı]: Bir kategori belirtilirse betik bir alt menüde görünür.shortcut[isteğe bağlı]: Burada verilen kısayol, öntanımlı kısayoldur. Örnek:Kontrol+Seçenek+T. Daha fazla ayrıntı için Qt™ belgelendirmesine bakın.interactive[isteğe bağlı]: Betiğin komut satırında kullanıcı girdisi bekleyip beklemediği. Bunu,trueolarak ayarlayın.
Yararlı betikler geliştiriyorsanız KatePart uygulamasına katkıda bulunmayı düşünün. Geliştirmelerinizi posta listesine gönderin.
Burada sunulan betik yazımı API’si, tüm betikler için kullanılabilirdir; başka bir deyişle, girintileme betikleri ve komut satırı betikleri. Cursor ve Range sınıfları, $ içindeki kitaplık dosyaları tarafından sağlanırlar. XDG_DATA_DIRS/katepart5/librariesDocument veya View işlevlerinden bazılarını kullanması gereken bu API’yi betiğinizde kullanmak istiyorsanız şunu kullanarak gerekli kitaplığı içerin:
// zorunlu katepart js kitaplıkları; örneğin, Range require ("range.js"); kullanıyorsanız range.js
require ("range.js");
Standart betik yazımı API’sini kendi işlevleriniz ve prototiplerinizle genişletmek istiyorsanız yalnızca KDE’nin yerel yapılandırma klasörü olan $ içinde yeni bir dosya oluşturun ve onu betiğinizde şunu kullanarak içerin: XDG_DATA_HOME/katepart5/libraries
require ("benimbetiğiminadıburaya.js");
Windows®'ta bu dosyalar genelde C:\\Users\\ olarak genişleyen user%USERPROFILE%\AppData\Local\katepart5\libraries. %USERPROFILE% konumundadır.
Cursor veya Range gibi var olan prototipleri genişletmek istiyorsanız tavsiye edilen yol global *.js dosyalarını değiştirmek değildir. Bunun yerine, JavaScript içindeki Cursor prototipini cursor.js betiğinizde require ile içerildikten sonra değiştirin.
KatePart bir metin düzenleyici olduğundan, tüm betik oluşturma API’si olabildiğince imleçlere ve erimlere dayanır. İmleç, belgedeki bir metin konumunu temsil eden basit bir (satır, sütun) demettir. Erim, metni başlangıç imleç konumundan bitiş imleç konumuna kadar yayar. API sonraki bölümlerde ayrıntılı olarak açıklanmaktadır.
Cursor();
Yapıcı.
(0, 0)konumunda bir imleç döndürür.Örnek:
var cursor = new Cursor();Cursor(
int,satırint);sütunYapıcı. Belirli bir konumda (satır, sütun) bir imleç döndürür.
Örnek:
var cursor = new Cursor(3, 42);Cursor(Cursor);diğerYapıcıyı kopyala.
diğerimlecinin bir kopyasını döndürür.Örnek:
var copy = new Cursor(other);Cursor Cursor.clone();
İmlecin bir klonunu döndürür.
Örnek:
var clone = cursor.clone();Cursor.setPosition(
int,satırint);sütunİmleç konumunu
satırvesütunolarak ayarlar.Eklendiği sürüm: KDE 4.11
bool Cursor.isValid();
İmlecin geçerli olup olmadığını denetler. Satır ve/veya sütun
-1olarak ayarlanırsa imleç geçersizdir.Örnek:
var valid = cursor.isValid();Cursor Cursor.invalid();
(-1, -1)konumunda yeni geçersiz bir imleç döndürür.Örnek:
var invalidCursor = cursor.invalid();int Cursor.compareTo(Cursor);diğerBu imleci
diğerimleç ile karşılaştırır. İmleç,diğerimlecinden önce konumlandırılmışsa-1,her iki imleç de eşitse
0vebu imleç
otherimlecinden önce geliyorsa+1döndürür.
bool Cursor.equals(Cursor);diğerBu imleç ve
diğerimleç eşitsetrue, aksi takdirdefalsedöndürür.String Cursor.toString();
İmleci, “
Cursor(satır, sütun)” biçiminde bir dizi olarak döndürür.
Range();
Yapıcı.
new Range()çağırmak, (0, 0) - (0, 0) konumunda bir erim döndürür.Range(
Cursor,başlangıçCursor);bitişYapıcı.
new Range(çağırmak, (başlangıç,bitiş)başlangıç,bitiş) erimini döndürür.Range(
int,başlangıçSatırıint,başlangıçSütunuint,bitişSatırıint);bitişSütunuYapıcı.
new Range(çağırmak, (başlangıçSatırı,başlangıçSütunu,bitişSatırı,bitişSütunu)başlangıçSatırı,başlangıçSütunu) değerlerini (bitişSatırı,bitişSütunu) olarak döndürür.Range(Range);diğerYapıcıyı kopyala.
diğereriminin bir kopyasını döndürür.Range Range.clone();
Erimin bir klonunu döndürür.
Örnek:
var clone = range.clone();bool Range.isEmpty();
Başlangıç ve bitiş imleçleri eşitse
truedöndürür.Örnek:
var empty = range.isEmpty();Eklendiği sürüm: KDE 4.11
bool Range.isValid();
Hem başlangıç hem bitiş imleçleri eşitse
true, aksi takdirdefalsedöndürür.Örnek:
var valid = range.isValid();Range Range.invalid();
(-1, -1) ile (-1, -1) arasındaki erimi döndürür.
bool Range.contains(Cursor);imleçEğer bu erim imleç konumunu içeriyorsa
true, aksi takdirdefalsedöndürür.bool Range.contains(Range);diğerEğer bu erim
diğererimini içeriyorsatrue, aksi takdirdefalsedöndürür.bool Range.containsColumn(int);sütunsütun, yarı açık[başlangıç.sütun, bitiş.sütun)aralığındaysatrue, aksi takdirdefalsedöndürür.bool Range.containsLine(int);satırsatır, yarı açık[başlangıç.satır, bitiş.satır)aralığındaysatrue, aksi takdirdefalsedöndürür.bool Range.overlaps(Range);diğerBu erim ve
diğererimi ortak bir bölge paylaşıyorlarsatrue, aksi takdirdefalsedöndürür.bool Range.overlapsLine(int);satırsatır,[başlangıç.satır, bitiş.satır)aralığındaysatrue, aksi takdirdefalsedöndürür.bool Range.overlapsColumn(int);sütunsütun,[başlangıç.sütun, bitiş.sütun)aralığındaysatrue, aksi takdirdefalsedöndürür.bool Range.onSingleLine();
Erim aynı satırda başlıyor ve bitiyorsa
truedöndürür; başka bir deyişle,Range.start.line == Range.end.lineise.Eklendiği sürüm: KDE 4.9
bool Range.equals(Range);diğerEğer bu erim ve
diğererimi eşitsetrue, aksi takdirdefalsedöndürür.String Range.toString();
Erimi, “
Cursor(satır, sütun)” biçiminde bir dizi olarak döndürür.
Bu bölüm, tüm global işlevleri listeler.
String read(String);dosyaVerilen
dosya'yıkatepart5/script/filesdizinine göreceli olarak arar ve içeriğini bir dizi olarak döndürür.
void require(String);dosyaVerilen
dosya'yıkatepart5/script/librariesdizinine göreceli olarak arar ve onu değerlendirir.require, aynıdosya'nın birden çok içerilmesine karşı korumalıdır.Eklendiği sürüm: KDE 4.10
Tam yerelleştirmeyi desteklemek için betiklerdeki dizileri çevirmek üzere birkaç işlev bulunur; bunlar, i18n, i18nc, i18np ve i18ncp olarak geçer. Bunlar kesin olarak KDE'nin çeviri işlevleri gibi davranırlar.
Çeviri işlevleri, sarılmış dizileri KDE'nin çeviri sistemi aracılığıyla uygulamada kullanılan dile çevirir. Resmi KatePart kaynaklarında geliştirilen komut dosyalarındaki dizeler otomatik olarak çıkarılır ve çevrilebilir. Başka bir deyişle, bir KatePart geliştiricisi olarak ileti çıkarma ve çeviri ile uğraşmanıza gerek yoktur. Bununla birlikte, çevirinin yalnızca KDE altyapısı içinde çalıştığını, yani KDE dışında geliştirilen 3. taraf betiklerdeki yeni dizilerin çevrilmediğini de belirtmek gerekir. Bu nedenle, doğru çevirinin olabilmesi için lütfen betiklerinizle Kate'e katkıda bulunmayı düşünün.
void i18n(
String,metinarg1, ...);metin'i, uygulama tarafından kullanılan dile çevirir.arg1, ..., argümanları isteğe bağlıdır ve%1,%2, gibi yer tutucuları değiştirmede kullanılırlar.void i18nc(
String,bağlamString,metinarg1, ...);metin'i, uygulama tarafından kullanılan dile çevirir. Ek olarak,bağlammetni çevirmenlere görünür, böylece daha iyi bir çeviri sağlayabilirler.arg1, ..., argümanları isteğe bağlıdır ve%1,%2, gibi yer tutucuları değiştirmede kullanılırlar.void i18np(
String,tekilString,çoğulint,sayıarg1, ...);tekilveyaçoğulvaryantları, verilensayı'ya bağlı olarak uygulama tarafından kullanılan dile çevirir.arg1, ..., argümanları isteğe bağlıdır ve%1,%2, gibi yer tutucuları değiştirmede kullanılırlar.void i18ncp(
String,bağlamString,tekilString,çoğulint,sayıarg1, ...);tekilveyaçoğulvaryantları, verilensayı'ya bağlı olarak uygulama tarafından kullanılan dile çevirir. Ek olarak,bağlammetni çevirmenlere görünür, böylece daha iyi bir çeviri sağlayabilirler.arg1, ..., argümanları isteğe bağlıdır ve%1,%2, gibi yer tutucuları değiştirmede kullanılırlar.
Ne zaman bir betik yürütülürse geçerli etkin düzenleyici görünümünü temsil eden bir “view” global değişkeni vardır. Tüm kullanılabilir View işlevleri aşağıda listelenmiştir.
void view.copy()[ ] Metin seçilmeden çağrılırsa geçerli satırı kes/kopyalaayarlıysa bir seçim varken seçimi kopyala, aksi takdirde geçerli satırı kopyala.Eklendiği sürüm: KDE Frameworks 5.79
void view.cut()[ ] Metin seçilmeden çağrılırsa geçerli satırı kes/kopyalaayarlıysa bir seçim varken seçimi kes, aksi takdirde geçerli satırı kes.Eklendiği sürüm: KDE Frameworks 5.79
void view.paste()Pano içeriğini yapıştır.
Eklendiği sürüm: KDE Frameworks 5.79
Cursor view.cursorPosition()Görünümdeki geçerli imleç konumunu döndürür.
void view.setCursorPosition(
int,satırint); void view.setCursorPosition(sütunCursor);imleçGeçerli imleç konumunu ya (satır, sütun) ya da verilen imlece ayarla.
Cursor view.virtualCursorPosition();
Geçerli sekme genişliğine bağlı olarak her sekmenin karşılık gelen boşluk miktarını saydığı sanal imleç konumunu döndürür.
void view.setVirtualCursorPosition(
int,satırint); void view.setVirtualCursorPosition(sütunCursor);imleçGeçerli sanal imleç konumunu (satır, sütun) veya verilen imleç olarak ayarlayın.
String view.selectedText();
Seçilen metni döndürür. Hiçbir metin seçilmezse döndürülen dizi boştur.
bool view.hasSelection();
Görünümde seçili metin varsa
truedeğerini, aksi takdirdefalsedeğerini döndürür.Range view.selection();
Seçili metin erimini döndürür. Seçili metin yoksa döndürülen erim geçersizdir.
void view.setSelection(Range);erimSeçili metni verilen erime ayarla.
void view.removeSelectedText();
Seçili metni kaldır. Görünümde seçili metin yoksa bu hiçbir şey yapmaz.
void view.selectAll();
Belgedeki tüm metni seçer.
void view.clearSelection();
Metni kaldırmadan metin seçimini temizler.
void view.setBlockSelection(bool on);
Blok seçim kipini açar/kapatır.
bool view.blockSelection();
Blok seçim kipi açıksa
true, aksi takdirdefalsedöndürür.void view.align(Range);erimGeçerli girintileme ayarlarına göre
erim'i düzgünce yeniden girintile.void view.alignOn(
Range,erimString);dizgi= ""Düzenli ifade
dizgiverdiği sütundakierim'deki satırları hizalar. Boş birdizgiile öntanımlı olarak ilk boş olmayan karaktere hizalanır. Dizginin bir yakalaması varsa yakalanan eşleşmeye girintili olacaktır.Örnekler:
view.alignOn(document.documentRange(), '-');, tümünü aynı sütunda hizalamak için her satırın ilk-satırından önce boşluk ekler.view.alignOn(document.documentRange(), ':\\s+(.)');, tümünü aynı sütunda hizalamak için iki nokta üst üsteden sonra oluşan ilk boş olmayan karakterden önce boşluk ekler.object view.executeCommand(
String,komutString,argümanlarRange);erimkomutkomut satırı komutunu isteğe bağlıargümanlarveerimile yürütür. Döndürülennesne'ninkomutyürütmesinin başarılı olup olmadığını söyleyen birobject.okBoole değeri vardır. Bir hata durumunda,object.statusbir hata iletisi içerir.Eklendiği sürüm: KDE Frameworks 5.50
Range view.searchText(
Range,erimString,dizgibool);backwards= falseerim'dedizgi'nin ilk oluşunu ara ve eşleşen erimi döndür. İsteğe bağlı Boole değeribackwardstrueolarak ayarlanırsa arama geriye doğru yapılır.dizgi,erim'de bulunamazsa döndürülen erim geçersizdir (bkz. Range.isValid()).Eklendiği sürüm: KDE Frameworks 5.97
Ne zaman bir betik yürütülürse geçerli etkin belgeyi temsil eden bir “document” global değişkeni vardır. Tüm kullanılabilir Document işlevlerinin bir listesini aşağıda bulabilirsiniz.
String document.fileName();
Kaydedilmemiş metin arabellekleri için belgenin dosya adını veya boş bir diziyi döndürür.
String document.url();
Belgenin tam URL’sini veya kaydedilmemiş metin arabellekleri için boş bir diziyi döndürür.
String document.mimeType();
Belgenin MIME türünü veya uygun MIME türü bulunamazsa
application/octet-streamMIME türünü döndürür.String document.encoding();
Dosyayı kaydetmek için kullanılan geçerli kodlamayı döndürür.
String document.highlightingMode();
Tüm belge için kullanılan global vurgulama kipini döndürür.
String document.highlightingModeAt(Cursor);konumBelgedeki belirli konumda kullanılan vurgulama kipini döndürür.
Array document.embeddedHighlightingModes();
Bu belgeye gömülü bir dizi vurgulama modunu döndürür.
bool document.isModified();
Belgede kaydedilmemiş değişiklikler varsa
true, aksi takdirdefalsedöndürür.String document.text();
Belgenin tüm içeriğini tek bir metin dizisinde döndürür. Yeni satırlar, “
\n” yenisatır karakteriyle işaretlenir.String document.text(
int,satırdanint,sütundanint,satıraint); String document.text(sütunaCursor,şuradanCursor); String document.text(şurayaRange);erimVerilen erimdeki metni döndürür. Kaynak kodunun daha iyi okunabilmesi için imleç ve aralık tabanlı sürümün kullanılması önerilir.
String document.line(int);satırVerilen metin satırını dizi olarak döndürür. İstenen satır erim dışıysa dizi boştur.
String document.wordAt(
int,satırint); String document.wordAt(sütunCursor);imleçVerilen imleç konumundaki sözcüğü döndürür.
-
Range document.wordRangeAt(
int,satırint); Range document.wordRangeAt(sütunCursor);imleç Verilen imleç konumundaki sözcüğün erimini döndürür. Metin konumu bir satırın sonundan sonraysa döndürülen erim geçersizdir (bkz. Range.isValid()). Verilen imleçte sözcük yoksa boş bir erim döndürülür.
Eklendiği sürüm: KDE 4.9
String document.charAt(
int,satırint); String document.charAt(sütunCursor);imleçVerilen imleç konumundaki karakteri döndürür.
String document.firstChar(int);satırVerilen
satırdakiboşluk olmayan ilk karakteri döndürür. İlk karakter 0 sütunundadır. Satır boşsa veya yalnızca boşluk karakterleri içeriyorsa döndürülen dizi boştur.String document.lastChar(int);satırVerilen
satırdakiboşluk olmayan son karakteri döndürür. Satır boşsa veya yalnızca boşluk karakterleri içeriyorsa döndürülen dizi boştur.bool document.isSpace(
int,satırint); bool document.isSpace(sütunCursor);imleçVerilen imleç konumundaki karakter boşluksa
true, aksi takdirdefalsedöndürür.bool document.matchesAt(
int,satırint,sütunString); bool document.matchesAt(metinCursor,imleçString);metinVerilen
metinilgili imleç konumunda eşleşiyorsatrue, aksi takdirdefalsedöndürür.bool document.startsWith(
int,satırString,metinbool);skipWhiteSpacesSatır
metinile başlıyorsatrue, aksi takdirdefalsedöndürür.skipWhiteSpacesargümanı, baştaki boşlukların yok sayılıp sayılmayacağını denetler.bool document.endsWith(
int,satırString,metinbool);skipWhiteSpacesSatır
metinile bitiyorsatrue, aksi takdirdefalsedöndürür.skipWhiteSpacesargümanı, sondaki boşlukların yok sayılıp sayılmayacağını denetler.bool document.setText(String);metinTüm belge metnini ayarlar.
bool document.clear();
Belgedeki tüm metni kaldırır.
bool document.truncate(
int,satırint); bool document.truncate(sütunCursor);imleçVerilen satırı verilen sütun veya imleç konumunda keser. Başarı durumunda
true, verilen satır belge aralığının parçası değilsefalsedöndürür.bool document.insertText(
int,satırint,sütunString); bool document.insertText(metinCursor,imleçString);metinVerilen imleç konumunda
metinmetnini ekler. Başarı durumundatrue, belge saltokunur kipteysefalsedöndürür.bool document.removeText(
int,satırdanint,sütundanint,satıraint); bool document.removeText(sütunaCursor,şuradanCursor); bool document.removeText(şurayaRange);erimVerilen erimdeki metni kaldırır. Başarı durumunda
true, belge saltokunur kipteysefalsedöndürür.bool document.insertLine(
int,satırString);metinVerilen satırda metin ekler. Başarı durumunda
true, belge saltokunur kipteyse veya satır belge eriminde değilsefalsedöndürür.bool document.removeLine(int);satırVerilen metin satırını kaldırır. Başarı durumunda
true, belge saltokunur kipteyse veya satır belge eriminde değilsefalsedöndürür.bool document.wrapLine(
int,satırint); bool document.wrapLine(sütunCursor);imleçVerilen imleç konumunda satırı kaydırır. Başarı durumunda
true, aksi takdirde; örneğin, satır < 0 isefalsedöndürür.Eklendiği sürüm: KDE 4.9
void document.joinLines(
int,başlangıçSatırıint);bitişSatırıbaşlangıçSatırıkonumundanbitişSatırıkonumuna kadar olan satırları birbirine katar. İki birbirini izleyen metin satırı her zaman bir boşluk ile ayrılır.int document.lines();
Belgedeki satır sayısını döndürür.
bool document.isLineModified(int);satırsatırşu anda kaydedilmemiş veri içeriyorsatruedöndürür.Eklendiği sürüm: KDE 5.0
bool document.isLineSaved(int);satırlinedeğiştirildi ve belge kaydedildiysetruedöndürür. Böylece, satırda şu anda kaydedilmeyen bir veri kalmamış olur.Eklendiği sürüm: KDE 5.0
bool document.isLineTouched(int);satırlineiçinde şu anda kaydedilmemiş veri varsa veya daha önce değiştirildiysetruedöndürür.Eklendiği sürüm: KDE 5.0
bool document.findTouchedLine(
int,başlangıçSatırıbool);aşağılinekonumundan başlayan sonraki dokunulmuş satırı arar. Arama,downiçinde belirtilen yöne göre aşağı veya yukarı doğru yapılır.Eklendiği sürüm: KDE 5.0
int document.length();
Belgedeki karakter sayısını döndürür.
int document.lineLength(int);satırsatır'ın uzunluğunu döndürür.void document.editBegin();
Geri Al/Yinele gruplaması için bir düzenleme grubu başlatır. Hem
editEnd()hem deeditBegin()işlevlerini aynı sayıda çağırdığınızdan emin olun.editBegin()işlevini çağırmak içsel olarak bir başvuru sayacı kullanır; demeli, bu çağrı iç içe geçirilebilir.void document.editEnd();
Bir düzenleme grubunu sonlandırır.
editEnd()işlevinin son çağrısı (başka bir deyişleeditBegin()işlevinin ilk çağrısı için olan) düzenleme adımını bitirir.int document.firstColumn(int);satırVerilen
satır'daki ilk boşluk olmayan sütunu döndürür. Satırda yalnızca boşluklar varsa-1döndürülür.int document.lastColumn(int);satırVerilen
satır'daki son boşluk olmayan sütunu döndürür. Satırda yalnızca boşluklar varsa-1döndürülür.int document.prevNonSpaceColumn(
int,satırint); int document.prevNonSpaceColumn(sütunCursor);imleçVerilen imleç konumundan başlayıp geriye doğru arama yaparak boşluk olmayan karakter içeren sütunu döndürür.
int document.nextNonSpaceColumn(
int,satırint); int document.nextNonSpaceColumn(sütunCursor);imleçVerilen imleç konumundan başlayıp ileriye doğru arama yaparak boşluk olmayan karakter içeren sütunu döndürür.
int document.prevNonEmptyLine(int);satırVerilen imleç konumundan başlayıp geriye doğru arama yaparak sonraki boş olmayan satırı döndürür.
int document.nextNonEmptyLine(int);satırVerilen imleç konumundan başlayıp ileriye doğru arama yaparak sonraki boş olmayan satırı döndürür.
bool document.isInWord(
String,karakterint);öznitelikVerilen
öznitelik'i içerenkarakterbir sözcüğün parçası olabiliyorsatrue, aksi takdirdefalsedöndürür.bool document.canBreakAt(
String,karakterint);öznitelikVerilen
öznitelik'i içerenkarakterbir satırı kaydırmak için uygunsatrue, aksi takdirdefalsedöndürür.bool document.canComment(
int,başlangıçÖzniteliğiint);bitişÖzniteliğiVerilen özniteliklerle başlayan ve biten bir erim, yorum olarak imlenebiliyorsa
true, aksi takdirdefalsedöndürür.String document.commentMarker(int);öznitelikVerilen bir
öznitelikiçin tek satırlık yorumlar için olan yorum imleyicisini döndürür.String document.commentStart(int);öznitelikVerilen bir
öznitelikiçin çok satırlık yorum başlangıçı için olan yorum imleyicisini döndürür.String document.commentEnd(int);öznitelikVerilen bir
öznitelikiçin çok satırlık yorum bitişi için olan yorum imleyicisini döndürür.Range document.documentRange();
Tüm belgeyi kapsayan bir erim döndürür.
Cursor documentEnd();
Belgedeki son satırın son sütununda konumlanan imleci döndürür.
bool isValidTextPosition(
int,satırint); bool isValidTextPosition(sütunCursor);imleçVerilen imleç konumu geçerli bir metin konumundaysa
truedeğerini döndürür. Bir metin konumu yalnızca geçerli bir satırın başında, ortasında veya sonunda bulunuyorsa geçerlidir. Ayrıca bir metin konumu, bir Unicode vekilinde bulunuyorsa geçersizdir.Eklendiği sürüm: KDE 5.0
int document.attribute(
int,satırint); int document.attribute(sütunCursor);imleçVerilen imleç konumundaki özniteliği döndürür.
bool document.isAttribute(
int,satırint,sütunint); bool document.isAttribute(öznitelikCursor,imleçint);öznitelikVerilen imleç konumundaki öznitelik
attributeile eşitsetrue, aksi takdirdefalsedöndürür.String document.attributeName(
int,satırint); String document.attributeName(sütunCursor);imleçÖznitelik adını insanlar tarafından okunabilir metin olarak döndürür. Bu, sözdizim vurgulama dosyalarındaki
itemDataadına eşittir.bool document.isAttributeName(
int,satırint,sütunString); bool document.isAttributeName(adCursor,imleçString);adBelirli bir imleç konumundaki öznitelik adı verilen
adile eşleşiyorsatrue, aksi takdirdefalsedöndürür.String document.variable(String);anahtarİstenen belge değişkeni
anahtar'ın değerini döndürür. Belge değişkeni yoksa dönüş değeri boş bir dizidir.void document.setVariable(
String,anahtarString);değerİstenen belge değişkeni
anahtar'ın değerini ayarla.Ayrıca bakınız: Kate belge değişkenleri
Eklendiği sürüm: KDE 4.8
int document.firstVirtualColumn(int);satırVerilen satırdaki boşluk olmayan ilk karakterin sanal sütununu veya satır boşsa veya yalnızca boşluk karakterleri içeriyorsa
-1döndürür.int document.lastVirtualColumn(int);satırVerilen satırdaki boşluk olmayan son karakterin sanal sütununu veya satır boşsa veya yalnızca boşluk karakterleri içeriyorsa
-1döndürür.int document.toVirtualColumn(
int,satırint); int document.toVirtualColumn(sütunCursor); Cursor document.toVirtualCursor(imleçCursor);imleçVerilen “gerçek” imleç konumunu, bir int veya Cursor nesnesi döndürerek sanal bir imleç konumuna dönüştürür.
int document.fromVirtualColumn(
int,satırint); int document.fromVirtualColumn(sanalSütunCursor); Cursor document.fromVirtualCursor(sanalİmleçCursor);sanalİmleçVerilen sanal imleç konumunu, bir int veya Cursor nesnesi döndürerek “gerçek” imleç konumuna dönüştürür.
Cursor document.anchor(
int,satırint,sütunChar); Cursor document.anchor(karakterCursor,imleçChar);karakterVerilen imleçten başlayarak verilen karakteri geriye doğru arar. Örnek olarak, eğer '(' karakter olarak iletilirse bu işlev '(' açılışının konumunu döndürecektir. Bu başvuru sayımı, yani diğer '(...)' yok sayılır.
Cursor document.rfind(
int,satırint,sütunString,metinint); Cursor document.rfind(öznitelik= -1Cursor,imleçString,metinint);öznitelik= -1Verilen metni uygun
öznitelikile geriye doğru arayarak bulun. Argümanözniteliği,-1olarak ayarlanmışsa yok sayılır. Metin bulunamadığında döndürülen imleç geçersizdir.int document.defStyleNum(
int,satırint); int document.defStyleNum(sütunCursor);imleçVerilen imleç konumunda kullanılan öntanımlı biçemi döndürür.
bool document.isCode(
int,satırint); bool document.isCode(sütunCursor);imleçVerilen imleç konumundaki öznitelik aşağıdaki biçemlerin tümüne eşit değilse
truedeğerini döndürür:dsComment,dsString,dsRegionMarker,dsChar,dsOthers.bool document.isComment(
int,satırint); bool document.isComment(sütunCursor);imleçİmleç konumundaki karakterin özniteliği
dsCommentisetrue, aksi takdirdefalsedöndürür.bool document.isString(
int,satırint); bool document.isString(sütunCursor);imleçİmleç konumundaki karakterin özniteliği
dsStringisetrue, aksi takdirdefalsedöndürür.bool document.isRegionMarker(
int,satırint); bool document.isRegionMarker(sütunCursor);imleçİmleç konumundaki karakterin özniteliği
dsRegionMarkerisetrue, aksi takdirdefalsedöndürür.bool document.isChar(
int,satırint); bool document.isChar(sütunCursor);imleçİmleç konumundaki karakterin özniteliği
dsCharisetrue, aksi takdirdefalsedöndürür.bool document.isOthers(
int,satırint); bool document.isOthers(sütunCursor);imleçİmleç konumundaki karakterin özniteliği
dsOthersisetrue, aksi takdirdefalsedöndürür.void document.indent(
Range,erimint);değişiklikerim'deki tüm satırlarıdeğişikliksekme kadar veyadeğişiklikkez girintiler.tabSizeboşlukları kullanıcı tercihlerine bağlıdır.değişiklikparametresi negatif olabilir.
Belge ve görünüm API’sine ek olarak, genel düzenleyici betiği oluşturma işlevlerine yönelik işlevler sağlayan bir genel düzenleyici API’si vardır.
String editor.clipboardText();
Şu anda global panoda bulunan metni döndürür.
Eklendiği sürüm: KDE Frameworks 5.50
String editor.clipboardHistory();
Düzenleyici, en fazla 10 pano girdisini içeren bir pano geçmişini tutar. Bu işlev, şu anda pano geçmişinde bulunan tüm girdileri döndürür.
Eklendiği sürüm: KDE Frameworks 5.50
void editor.setClipboardText(String);metinPanonun içeriğini
metinolarak ayarlar.metin, pano geçmişine eklenir.Eklendiği sürüm: KDE Frameworks 5.50
Menüden → seçildiğinde Yapılandır iletişim kutusu açılır. Bu iletişim kutusu bir dizi farklı ayarı değiştirmek için kullanılabilir. Değiştirilebilecek ayarlar, kullanıcının iletişim kutusunun sol tarafındaki dikey listeden hangi kategoriyi seçtiğine göre değişir. Kullanıcı, kutunun alt kısmındaki üç düğme aracılığıyla işlemi denetleyebilir.
Yardım sistemini çağırabilir, düğmesine basarak geçerli ayarları kabul edip iletişim kutusunu kapatabilir veya işlemi edebilirsiniz. Görünüş, Yazıtipleri ve Renkler, Düzenleme, Aç/Kaydet ve Uzantılar kategorileri aşağıda açıklanmıştır.
Bu grup, KatePart uygulamasının düzenleyici bileşeni ile ilgili tüm sayfaları içerir. Buradaki ayarların çoğu öntanımlılardır; bunlar, bir dosya türü tanımlayarak, Belge Değişkenleri ile veya düzenleme sırasında belgeye özel olarak geçersiz kılınabilirler.
- Düzenleyici yazıtipi
Burada düzenleyici metninin yazıtipini seçebilirsiniz. Sisteminizde bulunan herhangi bir yazıtipi arasından seçim yapabilir ve öntanımlı bir boyut belirleyebilirsiniz. İletişim kutusunun altında örnek bir metin görüntülenir, böylece seçimlerinizin etkisini görebilirsiniz.
Yazıtipi seçimi üzerine daha fazla bilgi almak için KDE Temelleri belgelendirmesinin Yazıtipleri Seçmek bölümüne bakın.
- Boşluk göstergelerini göster
- Asla
Düzenleyici hiçbir zaman boşluk varlığını belirtmek için noktaları görüntülemez.
- Bir satırın sonunda
Düzenleyici, satır sonlarında fazladan boşluk bulunduğunu belirtmek için noktalar görüntüleyecektir.
- Her zaman
Düzenleyici, boşlukların varlığını belirtmek için her zaman noktalar görüntüleyecektir.
- Boşluk göstergesi boyutu
Görünür gösterge işaretçisinin boyutunu değiştirmek için kaydırıcıyı kullanın.
- Sekme göstergelerini göster
Düzenleyici işaretlendiğinde, metinde bir sekmenin varlığını belirtmek için bir » sembolü görüntüleyecektir.
- Ayraç eşleştirme
- Seçili ayraçlar arasındaki erimi vurgula
Bu etkinleştirilirse seçilen eşleşen ayraçlar arasındaki erim vurgulanacaktır.
- Eşleşen açık ayraç önizlemesini göster
Etkinleştirildiğinde, düzenleyici eşleşen açık ayracın ipucunu gösterecektir.
- İmleç çift halinde başka bir ayraca hareket ettiğinde eşleşen ayraç yanıp söner
Etkinleştirilmişse ayraçlara gitmek ({, [, ], },( veya )), eşleşen ayracı tez yanıp söndürür.
- Girintileme satırlarını göster
Bu işaretlenirse düzenleyici, girintili çizgileri tanımlamaya yardımcı olmak için dikey çizgiler görüntüleyecektir.
- Sayımlar
- Sözcük sayısını göster
Belgedeki ve durum çubuğundaki geçerli seçimdeki sözcük ve karakter sayısını görüntüler. Bu seçenek aynı zamanda durum çubuğu bağlam menüsünde de kullanılabilir.
- Satır sayısını göster
Durum çubuğunda belgedeki toplam satır sayısını görüntüler. Bu seçenek aynı zamanda durum çubuğu bağlam menüsünde de kullanılabilir.
- İlk satırı katla
Etkinleştirilirse ve olanaklıysa ilk satır katlanır. Dosya telif hakkı gibi bir yorumla başlıyorsa bu kullanışlıdır.
- Devingen sözcük kaydırma
Bu seçenek işaretlenirse metin satırları ekrandaki görünüm sınırında sarılır.
- Durağan sözcük kaydırma imleyicisinde devingen olarak kaydır
İşaretlendiğinde, düzenleyici satırları durağan sözcük kaydırma konumunda devingen olarak kaydırır.
- Devingen kaydırma için sözcük sınırlarını dikkate alma
İşaretlendiğinde düzenleyici, metin satırlarını kaydırırken sözcük sınırlarını dikkate almaz.
- Devingen sözcük kaydırma göstergeleri
Devingen sözcük kaydırma göstergelerinin ne zaman görüntüleneceğini seçin; Kapalı, Satır numaralarını izle veya Her zaman açık.
- Kaydırılan satırları girintile
Ek olarak bu, ekranın en büyük genişliğini yüzde olarak ayarlamanıza olanak tanır; bundan sonra devingen olarak kaydırılan satırlar artık dikey olarak hizalanmayacaktır. Örneğin, %50’de, girinti düzeyleri ekran genişliğinin %50’sinden daha derin olan satırlara sonraki sarılmış çizgilere dikey hizalama uygulanmayacaktır.
- Satır yüksekliği çarpanı
Bu değer, yazıtipinin öntanımlı satır yüksekliğiyle çarpılacaktır. 1,0 değeri, öntanımlı yüksekliğin kullanılacağı anlamına gelir.
- Kod bloku katlama
- Kod bloklarını daraltmak için okları göster
Bu seçenek işaretlenirse kod katlamanın kullanılabilir olması durumunda geçerli görünüm, kod katlama imlerini görüntüleyecektir.
- Üzerine gelindiğinde katlanmış kodun önizlemesini göster
İşaretlenirse katlanmış bir bölgenin üzerine gelindiğinde, katlanmış metnin bir önizlemesi açılır pencerede gösterilir.
- Katlama okları görünürlüğü
Katlama oklarının görünümünü ve arasında değiştirin.
- Sol taraf
- İmleri göster
Bu işaretlenirse sol tarafta bir simge kenarlığı göreceksiniz. Simge kenarlığı; örneğin, yer imi işaretlerini gösterir.
- Satır numaralarını göster
Bu işaretlenirse sol tarafta satır numaralarını göreceksiniz.
- Değiştirilen ve kaydedilmeyen satırları vurgula
Bu işaretlenirse satır değişikliği işaretleri görünür olacaktır. Daha fazla bilgi için “Satır Değişiklik Göstergeleri” bölümüne bakın.
- Sarma çubukları
- İmleri göster
Bu seçenek işaretlenirse her yeni görünümde dikey sarma çubuğu üzerinde işaretler gösterilir. Örneğin, bu imler yer imlerini gösterir.
- Sarma çubuğu üzerine gelindiğinde önizleme göster
Bu seçenek işaretlenirse ve sarma çubuğu üzerinde fare imleciyle gezinirseniz imleç konumu çevresinde geçerli belgenin birkaç satırının yer aldığı küçük bir metin önizlemesi görüntülenecektir. Bu, belgenin başka bir bölümüne tez geçiş yapmanızı sağlar.
- Mini harita
- Mini haritayı göster
Bu seçenek işaretlenirse her yeni görünüm dikey sarma çubuğunda belgenin bir mini haritasını gösterecektir.
Sarma çubuğu mini haritası üzerine daha fazla bilgi için “Sarma Çubuğu Mini Haritası” bölümüne bakın.
- Küçük harita genişliği
Sarma çubuğu mini haritasının piksel türünden tanımlanan genişliğini ayarlar.
- Sarma çubukları görünürlüğü
Sarma çubuğunu yalnızca gerektiğinde açın, kapatın veya gösterin. Ekranda görüntülenen belgenin satır numarası aralığını görüntülemek için mavi dikdörtgenin üzerinde Fare Düğmesi ile tıklayın. Belgede kendiliğinden kaydırma yapmak için Fare Düğmesi'ni mavi dikdörtgenin dışında basılı tutun.
- Yer imleri menüsünü sırala
- Oluşturulma tarihine göre
Her yeni yer imi, belgede yerleştirildiği yerden bağımsız olarak alt tarafa eklenecektir.
- Satır numarasına göre
Yer imleri, yerleştirildikleri satır numaralarına göre sıralanacaktır.
İletişim kutusunun bu bölümü, sahip olduğunuz herhangi bir renk temasındaki tüm renkleri yapılandırmanıza ve yeni temalar oluşturmanıza, var olan temaları silmenize veya yalnızca Sistem renk şemasını izle'menize olanak tanır. Her şemada renkler ve normal ve vurgulanan metin biçemleri için ayarlar bulunur.
KatePart sizin için o anda etkin olan temayı önceden seçecektir, eğer farklı bir tema üzerinde çalışmak istiyorsanız Tema seç çoklu kutusundan bunu seçerek başlayın. ve düğmeleriyle yeni bir tema oluşturabilir (var olan temayı kopyalayarak) veya önceden olan temaları silebilirsiniz.
Bu, “Renk Temaları Grafik Arayüzü” bölümünde ayrıntılı açıklanmıştır.
- Sözcük kaydırma
Sözcük kaydırma, düzenleyicinin kendiliğinden yeni bir metin satırı başlatmasına ve imleci bu yeni satırın başına taşımasını (kaydırmasını) sağlayan bir özelliktir. KatePart, geçerli satır Sözcükleri şurada kaydır: seçeneğiyle belirtilen uzunluğa ulaştığında kendiliğinden yeni bir metin satırı başlatacaktır.
- Sözcükleri belirli bir sütunda kaydır
Durağan sözcük kaydırmayı açar veya kapatır.
- Sözcük kaydırma sütununda dikey çizgi çiz
Bu seçenek işaretlenirse → menüsündeki Düzenleme sekmesinde tanımlandığı üzere sözcük kaydırma sütununda dikey bir çizgi çizilecektir. Lütfen sözcük kaydırma işaretçisinin yalnızca eş aralıklı bir yazıtipi kullanıyorsanız çizileceğini unutmayın.
- Sözcükleri şurada kaydır:
Sözcükleri belirli bir sütunda kaydır seçeneği seçilirse bu girdi, düzenleyicinin hangi satır uzunluğunda (karakter türünden) kendiliğinden yeni bir satır başlatacağını belirler.
- Öntanımlı giriş kipi
Yeni bir görünüm açıldığında seçili olan giriş kipi etkinleştirilecektir. menüsünde belirli bir görünüm için Vi giriş kipini açıp kapatabilirsiniz.
- Ayraçlar
Açılış ayracı girildiğinde kendiliğinden ayracı kapat seçeneği seçilirse kullanıcı bir sol ayraç girdiğinde ([, ( veya {), KatePart kendiliğinden sağ ayracı (}, ) veya ]) imlecin sağ tarafına girer.
- Kapsanan karakterler
İlgili açılır listeyi kullanarak kapsanan karakterleri seçmek olanaklıdır.
Metin seçildiğinde bu karakterlerden birinin girilmesi seçili metni kaydırır.
- Kopyala ve yapıştır
- Seçili metni sürüklerken taşı
Bu seçenek, seçili metnin düzenleyici penceresinin içine sürükleyip bırakılmasını sağlar.
- Herhangi bir metin seçilmeden çağrılırsa geçerli satırı kopyala/kes
Bu seçenek etkinleştirilirse ve metin seçimi boşsa, gerçek imleç konumundaki metin satırı için kopyalama ve kesme işlemi gerçekleştirilir.
- Fareyle yapıştırırken metin imlecini hareket ettirme
Bu seçenek etkinleştirilirse ve Fare Düğmesi ile düzenleyici penceresine bir metin yapıştırırsanız KatePart metin imlecini tıklanan konuma taşımayacaktır.
- Metin İmleci Hareketi
- Akıllı başlangıç ve akıllı son
Seçildiğinde Baş düğmesine basmak, imlecin boşlukları atlamasına ve satır metninin başına gitmesini sağlar.
- Sayfa Yukarı/Sayfa Aşağı imleci hareket ettirir
Bu seçenek, kullanıcı Sayfa Yukarı veya Sayfa Aşağı düğmesine bastığında imlecin davranışını değiştirir. Seçili değilse işlem sonucunda yeni metin görünür hale geldikçe metin imleci KatePart'deki görünür metin içindeki göreceli konumunu koruyacaktır. Dolayısıyla, işlem gerçekleştiğinde imleç görünür metnin ortasındaysa orada kalacaktır (başlangıç veya sona ulaşma durumu hariç). Bu seçenek seçiliyken ilk düğme basımı, imlecin yeni bir metin sayfası görüntülendikçe ya yukarı ya da aşağı gitmesine neden olur.
- Deve biçimi imleç hareketini etkinleştir
Bu seçenek, kullanıcı Kontrol+Sol Ok veya Kontrol+Sağ Ok kısayollarını kullandığında görülen davranışı değiştirir. Seçili değilse metin imleci tam sözcüklerin üzerinden atlar. Bu seçenek seçildiğinde, imleç deve hörgücü tümseklerinde kesintiye uğrayarak atlar.
- İmleci kendiliğinden ortala:
Olasıyken imlecin üstünde ve altında görünür kalacak satır sayısını ayarlar.
- Metin seçim kipi
- Normal
Girilen metin seçimlerin üzerine yazılır ve imleç hareket ettirildiğinde kaybolur.
- Kalıcı
Seçimler, imleç hareket ettirildikten ve metin girildikten sonra bile kalacaktır.
- Belgenin sonunu aşan sarmaya izin ver
Bu seçenek belgenin sonunu geçmenizi sağlar. Bu, belgenin altını dikey olarak ortalamak veya geçerli görünümün üstüne yerleştirmek için kullanılabilir.
- Geri Sil düğmesi, karakterin tabanını aksan işaretleriyle birlikte kaldırır
Seçildiğinde, oluşturulan karakterler yalnızca temel karakteri kaldırmak yerine aksanlarıyla birlikte kaldırılır. Bu Hint yerel dilleri için kullanışlıdır.
- Çoklu imleç niteleyicisi
Bu seçenek, Fare Düğmesi ile birden çok imleç oluşturmak için kullanılacak niteleyiciyi ayarlamanıza olanak tanır. İstediğiniz konumda bir imleç oluşturmak için niteleyicilere basmanız ve Fare Düğmesi ile tıklamanız gerekir. Birden çok imleç oluşturmanın diğer yollarını keşfetmek için Birden çok imleç oluşturma konusuna bakın.
- Öntanımlı girintileme kipi:
Öntanımlı olarak kullanmak istediğiniz girintileme kipini seçin. Burada,
YokveyaNormalkullanmanız ve C/C++ veya XML gibi diğer girintileme kipleri için dosya türü yapılandırmalarını kullanmanız şiddetle önerilir.- Şunu kullanarak girintile
- Sekmeler
Bu etkinleştirildiğinde, Sekme düğmesine basıldığında veya kendiliğinden girintileme kullanıldığında, düzenleyici sekme karakterleri ekler.
- Boşluklar
Bu etkinleştirildiğinde düzenleyici; metindeki konuma ve
tab-widthayarına göre, Sekme ddüğmesine basıldığında veya kendiliğinden girintileme kullanıldığında, hesaplanan sayıda boşluk ekler.- Sekmeler ve Boşluklar
Bu etkinleştirildiğinde düzenleyici, bir satırın başında girinti yaparken veya Sekme'ye basarken yukarıda açıklandığı gibi boşluklar ekleyecektir; ancak bir satırın ortasında veya sonunda Sekme düğmesine basıldığında sekmeler ekler.
- Sekme genişliği:
Bu, sekme karakteri yerine görüntülenen boşluk sayısını yapılandırır.
- Girintileme genişliği:
Girintileme genişliği, bir satırı girintilemek için kullanılan boşlukların sayısıdır. Sekmeler kullanılarak girintili olacak şekilde yapılandırılmışsa ve girintileme sekme genişliğine bölünebiliyorsa bir sekme karakteri eklenir.
- Girintileme Özellikleri
- Ek boşlukları tut
Bu seçenek devre dışı bırakılırsa girintileme düzeyini değiştirmek, bir satırı Girintileme genişliği alanında belirtilen genişliğin katlarına hizalar.
- Panodan yapıştırılan kodun girintilemesini ayarla
Bu seçenek seçilirse panodan yapıştırılan metin girintilenir. eyleminin tetiklenmesi girintilemeyi kaldırır.
- Girintileme Eylemleri
- Baştaki boşlukta Geri tuşu kullanımı, girintiyi azaltır
Bu seçenek seçilirse Geri Sil düğmesi, imleç bir satırın başındaki boşluğa konumlandırılmışsa girintilemeyi azaltır.
- Sekme düğmesi eylemi (seçim yoksa)
Sekme düğmesinin geçerli kod blokundaki geçerli satırı Emacs'te olduğu gibi hizalamasını istiyorsanız Sekme'yi eyleminin kısayolu yapın.
- Her zaman sonraki sekme konumuna git
Bu seçenek seçilirse Sekme düğmesi, sonraki sekme konumuna ulaşana dek her zaman boşluk ekler. Düzenleme bölümündeki Genel sekmesinde, Sekmeler yerine boşluklar ekle seçeneği etkinleştirilmişse boşluk karakterleri, aksi takdirde bir adet sekme eklenir.
- Girintileme düzeyini her zaman artır
Bu seçenek seçilirse Sekme düğmesi, her zaman geçerli satırı Girintileme genişliği alanında belirtilen karakter konumu sayısına göre girintiler.
- Baştaki boşluktaysa girintileme düzeyini artır
Bu seçenek seçilirse Sekme düğmesi geçerli satırı girintiler veya sonraki sekme konumuna ilerletir. Ekleme noktası satırdaki ilk boşluk olmayan karakterde veya öncesindeyse veya bir seçim varsa geçerli satır, Girintileme genişliği alanında belirtilen karakter konumu sayısına göre girintilenir. Ekleme noktası, satırdaki ilk boşluk olmayan karakterden sonra yer alıyorsa ve seçim yoksa bir sonraki sekme konumuna ulaşılması için boşluk karakterleri eklenir: Düzenleme bölümündeki Genel sekmesinde, Sekmeler yerine boşluklar ekle seçeneği etkinleştirilmişse boşluk karakterleri, aksi takdirde bir adet sekme eklenir.
- Genel
- Kendiliğinden tamamlamayı etkinleştir
Etkinleştirilirse yazma sırasında imlecin altındaki geçerli metni tamamlamak için metin girişlerinin listesini gösteren bir sözcük tamamlama kutusu kendiliğinden açılır.
- İlk tamamlama girdisini kendiliğinden seç
Etkinleştirilirse ilk kendiliğinden tamamlama ögesi her zaman önceden seçilir, böylece onu Giriş ile ekleyebilirsiniz. Bu tür bir davranış istemiyorsanız örneğin Giriş düğmesine basarak yalnızca yeni bir satır eklemek istiyorsanız bu ögeyi devre dışı bırakın.
- Tamamlanacak en kısa sözcük uzunluğu
Metin yazarken sözcük tamamlama, önceden yazılmış olan metinden başlayarak belgedeki sözcükleri arar. Bu seçenek, sözcük tamamlamayı etkin hale getirmek ve bir tamamlama kutusu açmak için gereken en az karakter sayısını yapılandırır.
- Tamamlandığında son boşlukları kaldır
Bir listeden tamamlama ögesi seçildiğinde önceki sözcüğün sonunu kaldır
- Anahtar Sözcük Tamamlama
Etkinleştirilirse yerleşik kendiliğinden tamamlama, sözdizim vurgulamasıyla tanımlanan anahtar sözcükleri kullanır.
Bu yapılandırma seçenekleri, Yazım Denetleyicisi Sistem Ayarları modülünde açıklanmıştır.
- Genel
- Vi komutlarının Kate kısayollarını geçersiz kılmasına izin ver
Seçildiklerinde Vi komutları, KatePart yerleşik komutlarını geçersiz kılar. Örneğin: Kontrol+R kısayolu Yinele eylemini gerçekleştirir ve standart eylemi (Bul ve Değiştir penceresini gösterme) geçersiz kılar.
- Göreceli satı numaralarını göster
Bu etkinleştirilirse geçerli satır her zaman 0. satıra başvurur. Yukarıdaki ve altındaki satırlar, satır numarasını göreceli olarak artırır.
- Düğme Eşlemleme
Düğme eşlemleme, girilen düğmelerin anlamını değiştirmek için kullanılır. Bu, komutları diğer düğmelere taşımanıza veya bir dizi komutu gerçekleştirmek için özel düğmelere basmanıza olanak tanır.
Örnek:
F2 ->
I--VazgeçBu, F2 düğmesine basıldığında bir satırın başına
I--ekleyecektir.
- Dosya Biçimi
- Kodlama
Bu, aç/kaydet iletişim kutusunda veya bir komut satırı seçeneği kullanılarak değiştirilmediği takdirde, dosyaları açmak/kaydetmek için kullanılacak standart kodlamayı tanımlar.
- Kodlama algılaması
Kendiliğinden algılamayı devre dışı bırakmak için açılır kutudan bir öge seçin veya tüm kodlamalar için kendiliğinden algılamayı etkinleştirmek üzere Evrensel’i kullanın. Ancak bu büyük olasılıkla yalnızca UTF-8/UTF-16’yı algılayabileceğinden, bir bölge seçmek daha iyi sonuçlar için özel buluşsal yöntemi kullanın. Yukarıda standart olarak seçili kodlama, aç/kaydet iletişim kutusunda belirtilen kodlama veya komut satırında belirtilen kodlama dosyanın içeriğiyle eşleşmiyorsa bu algılama çalıştırılacaktır.
- Yedek Kodlama
Bu, yukarıda standart olarak seçilen kodlamanın, aç/kaydet iletişim kutusunda belirtilen kodlamanın veya komut satırında belirtilen kodlamanın dosyanın içeriğiyle eşleşmemesi durumunda, dosyaları açarken denenecek yedek kodlamayı tanımlar. Bu kullanılmadan önce, dosyanın başlangıcında bir bayt sırası işareti aranarak kullanılacak kodlamanın belirlenmesi için bir girişimde bulunulacaktır: eğer bir tane bulunursa doğru Unicode kodlama seçilecektir; aksi takdirde, her iki başarısız geri dönüş kodlaması da denenecekse kodlama algılaması çalıştırılacaktır.
- Satır sonu
Etkin belgeniz için tercih ettiğiniz satır sonu kipini seçin. UNIX®, DOS/Windows® veya Macintosh arasından bir seçim yapabilirsiniz.
- Kendiliğinden satır sonu algılaması
Düzenleyicinin satır türünü kendiliğinden algılamasını istiyorsanız bunu işaretleyin. İlk bulunan satır sonu türü, tüm dosya için kullanılacaktır.
- Bayt sırası imini (BOM) etkinleştir
Bayt sırası imi, Unicode ile kodlanmış belgelerin başında özel bir dizidir. Düzenleyicilerin metin belgelerini doğru Unicode kodlamayla açmalarına yardımcı olur. Bayt sırası imi, görüntülenen belgede görünür değildir. Daha fazla bilgi için Bayt Sırası İmi adresine bakın.
- Satır uzunluğu sınırı
Ne yazık ki Qt™'deki eksiklikler nedeniyle KatePart çok uzun satırlarla çalışırken düşük başarım sergiler. Bu nedenle KatePart, burada belirtilen karakter sayısından daha uzun olan satırları kendiliğinden kaydırır. Bunu devre dışı bırakmak için bunu
0olarak ayarlayın.
- Kaydederken Kendiliğinden Temizle
- Satır sonu boşluklarını kaldır
Düzenleyici, dosyayı kaydederken metin satırlarının sonundaki fazladan boşlukları kendiliğinden kaldıracaktır. Bu işlevi devre dışı bırakmak için Hiçbir zaman, bunu yalnızca belgeyi son kaydettiğinizden bu yana değiştirdiğiniz satırlarda yapmak için Değiştirilen satırlarda veya belgenin tümünden koşulsuz olarak kaldırmak için Tüm belgede seçeneğini kullanın.
- Kaydederken dosyanın sonuna yenisatır iliştir
Dosyayı kaydettikten sonra eğer yoksa düzenleyici, dosyanın sonuna kendiliğinden yeni bir satır ekleyecektir.
- Kendiliğinden Kaydetmeyi Etkinleştir (Yalnızca yerel dosyalar)
Siz üzerinde çalışırken düzenleyicinin belgeleri kendiliğinden kaydetmesini istiyorsanız bunu işaretleyin.
- Etkin belge odağı kaybederken onu kendiliğinden kaydet
Düzenleyicinin dışında bir şeye, örneğin Kate'deki uçbirim paneline geçtiğinizde, düzenleyici belgeleri kendiliğinden kaydeder.
- Kendiliğinden kaydetme aralığı
Kendiliğinden kaydetme aralığını buradan saniye türünde belirleyebilirsiniz. Aralık 0 olursa belge aralıklardan sonra kendiliğinden kaydedilmez.
- Kaydetmek için bir yedek dosyası yaz
Kaydı yedeklemek, KatePart uygulamasının diskteki dosyayı (dosyanın önceden kaydedilen sürümünü) yeni değişiklikleri kaydetmeden önce <önek><dosya-adı><sonek> olarak kaydetmesini sağlar. Yedekleme dosyası, kaydederken bir şeyler ters giderse veya daha sonra dosyanın önceki sürümünü kurtarmak isterseniz çalışmanızı kurtarmanıza yardımcı olabilir. Sonek öntanımlı olarak ~ yapılır ve önek öntanımlı olarak boştur.
- Yerel dosyalar
Kaydederken, yerel dosyaların yedeğinin alınmasını istiyorsanız bunu işaretleyin.
- Uzak dosyalar
Kaydederken, uzak dosyaların yedeğinin alınmasını istiyorsanız bunu işaretleyin.
- Yedek dosyaları için önek
Yedek dosyası adlarına iliştirilecek öneki girin.
- Yedek dosyaları için sonek
Yedek dosyası adlarına iliştirilecek soneki girin.
- Takas dosyası kipi
KatePart, bir kilitlenme veya elektrik kesintisi durumunda (çoğu) kaydedilmemiş çalışmayı kurtarabilir. Bir belge düzenlendiğinde bir takas dosyası (.<dosyaadı>.kate-swp) oluşturulur. KatePart çöker ve kullanıcı değişikliklerini kaydetmemişse takas dosyası diskte kalır. KatePart, bir dosyayı açarken belge için bir takas dosyası olup olmadığını denetler ve varsa kullanıcıya kaybolan verileri kurtarmak isteyip istemediğini sorar. Kullanıcı, özgün dosya ile kurtarılan dosya arasındaki farkları da görüntüleme olanağına sahiptir. Takas dosyası, her kaydetme sonrasında ve normal çıkışta silinir.
KatePart, diskteki takas dosyalarını her 15 saniyede bir eşzamanlar; ancak yalnızca son eşzamanlamadan bu yana değiştiyse bu işlemi yapar. Kullanıcı isterse Devre dışı'yı seçerek takas dosyalarının eşzamanlamasını devre dışı bırakabilir; ancak bu daha çok veri kaybına neden olur.
Takas dosyası etkinleştirildiğinde, Etkin, Öntanımlı Dizinde Depola ve Etkin, Özel Dizinde Depola adındaki iki kip arasından seçim yapılabilir.
- Takas dosyalarını şurada depola
Öntanımlı olarak takas dosyaları, dosyayla aynı klasöre kaydedilir. Takas dosyası kipi için Etkin, Özel Dizinde Depola seçildiğinde, takas dosyaları belirtilen klasörde oluşturulur. Bu, gereksiz ağ trafiğini önlemek amacıyla ağ dosya sistemleri için kullanışlıdır.
- Takas dosyası kaydetme aralığı
KatePart, diskteki takas dosyalarını her 15 saniyede bir eşzamanlar; ancak yalnızca son eşzamanlamadan bu yana değiştiyse bu işlemi yapar. Eşzamanlama aralığını istediğiniz gibi değiştirebilirsiniz.
Bu sayfa, belirtilen MIME türlerindeki belgeler için öntanımlı yapılandırmayı geçersiz kılmanıza olanak tanır. Düzenleyici bir belge yüklediğinde, bunun tanımlanmış dosya türlerinden biri için dosya maskeleri veya MIME türleriyle eşleşip eşleşmediğini deneyecek ve eğer öyleyse tanımlanan değişkenleri uygulayacaktır. Daha fazla dosya türü eşleşirse en yüksek önceliğe sahip olan kullanılır.
- Dosya türü:
En yüksek önceliğe sahip dosya türü, ilk açılan kutuda görüntülenen dosya türüdür. Daha fazla dosya türü bulunursa onlar da listelenir.
- Yeni
Yeni bir dosya türü oluşturmak için kullanılır. Bu düğmeye tıkladıktan sonra aşağıdaki alanlar boşalır ve yeni dosya türü için istediğiniz özellikleri doldurabilirsiniz.
- Sil
Var olan bir dosya türünü kaldırmak için açılır kutudan onu seçin ve Sil düğmesine basın.
Geçerli dosya türüözellikleriEn yüksek önceliğe sahip dosya türü, ilk açılan kutuda görüntülenen dosya türüdür. Daha fazla dosya türü bulunursa onlar da listelenir.
- Ad:
Dosya türünün adı ilgili menü ögesinin metni olacaktır. Bu ad → menüsünde görüntülenir.
- Bölüm:
Bölüm adı menülerdeki dosya türlerini düzenlemek için kullanılır. Bu aynı zamanda → menüsünde de kullanılır.
- Değişkenler:
Bu dizi, KatePart değişkenlerini kullanarak bu MIME türü tarafından seçili dosyalar için KatePart ayarlarını yapılandırmanıza olanak tanır. Vurgulama, girinti kipi vb. gibi neredeyse tüm yapılandırma seçeneklerini ayarlayabilirsiniz.
Kullanılabilir tüm değişkenlerin ve bunların açıklamalarının bir listesini görmek için 'ye basın. Belirli bir değişkeni etkinleştirmek için soldaki onay kutusunu seçin ve ardından sağdaki değişkenin değerini ayarlayın. Bazı değişkenler olası değerleri seçebileceğiniz bir açılır kutu sağlarken, diğerleri ise elle geçerli bir değer girmenizi gerektirir.
Bu değişkenler hakkındaki tam bilgi için Belge Değişkenleriyle Yapılandırmak bölümüne bakın.
- Vurgulama:
Yeni bir dosya türü oluşturursanız bu açılır kutu, vurgulama için bir dosya türü seçmenize olanak tanır.
- Girintileme kipi:
Açılır kutu, yeni belgeler için girintileme kipini belirtir.
- Dosya uzantıları:
Joker maskeleri, dosyaları dosya adına göre seçmenize olanak tanır. Tipik bir maske, bir yıldız işareti ve dosya uzantısını kullanır; örneğin,
*.txt; *.text. Dizi, noktalı virgülle ayrılan bir maske listesidir.- MIME türleri:
MIME türlerini kolayca seçmenize yardımcı olan bir sihirbaz görüntüler.
- Öncelik:
Bu dosya türü için bir öncelik ayarlar. Birden fazla dosya türü aynı dosyayı seçerse en yüksek önceliğe sahip olan kullanılacaktır.
KatePart değişkenleri, Emacs ve Vi kip satırlarına benzer biçimde KatePart’in belge değişkenlerini uygulamasıdır. Katepart’ta satırlar aşağıdaki biçime sahiptir: kate: DEĞİŞKEN-ADI DEĞER; [ DEĞİŞKEN-ADI DEĞER; ... ]. Satırlar dosya yorum içeren bir biçimdeyse elbette yorumda yer almalıdır. Değişken adları tek sözcüklerden oluşur (boşluk yoktur) ve sonraki noktalı virgülden sonraki her şey değerdir. Noktalı virgül gereklidir.
İşte bir C++, Java™ veya JavaScript dosyası için girintileme ayarlarını zorlayan örnek bir değişken satırı:
// kate: replace-tabs on; indent-width 4; indent-mode cstyle;
Not
Değişken satırları için yalnızca ilk ve son on satır aranır.
Ek olarak, belge değişkenleri herhangi bir dizindeki .kateconfig adlı bir dosyaya yerleştirilebilir ve yapılandırılan ayarlar, dizindeki ve alt dizinlerindeki her dosyaya kip satırları girilmiş gibi uygulanacaktır. Belge değişkenleri, .kateconfig dosyasındaki kip satırları ile aynı sözdizimini kullanır; ancak genişletilmiş seçeneklerle.
KatePart'de hemen hemen tüm yapılandırmaları destekleyecek değişkenler vardır ve ayrıca eklentiler değişkenleri kullanabilir, bu durumda eklentinin belgelerinde belgelenmesi gerekir.
KatePart'de, editorconfig kurulu olduğu zaman .editorconfig dosyalarından yapılandırmaları okuma desteği vardır. KatePart, bir dosya açtığınızda kendiliğinden bir .editorconfig dosyası arar. Yine de .kateconfig dosyalarına öncelik tanır.
Yapılandırma okurken, katepart aşağıdaki yerlere bakar (sırasıyla):
Global yapılandırma.
İsteğe bağlı oturum verisi.
"Dosya Türü" yapılandırması.
.kateconfigdosyasındaki belge değişkenleri.Belgenin içindeki belge değişkenleri.
Komut satırından veya uygulama menüsünden ayarlanan ayarlar.
Gördüğünüz üzere, belge değişkenleri yalnzca çalışma zamanında yapılan değişikliklerle geçersiz kılınabilirler. Bir belge kaydedildiğinde, belge değişkenleri yeniden okunur ve komut satırından veya menü ögelerinden yapılan değişikliklerin üzerine yazılır.
Aşağıda listelenmeyen herhangi bir değişken belgede depolanır ve bunları kendi amaçları doğrultusunda kullanabilen eklentiler gibi diğer nesneler tarafından sorgulanabilirler. Örneğin, değişken girinti kipi, yapılandırması için belge değişkenlerini kullanır.
Burada listelenen değişkenler, KatePart 5.38 sürümünü belgelemektedir. Gelecekte daha fazla değişken eklenebilir. Değişkenler için aşağıdaki geçerli ifadelerle birlikte 3 olası değer türü vardır:
BOOL - on|off|true|false|1|0
INTEGER - herhangi bir tamsayı
STRING - başka herhangi bir şey
auto-brackets [BOOL]
Ayraçların kendiliğinden eklenmesini etkinleştirin.
auto-center-lines [INT]
Kendiliğinden hizalama satırlarının sayısını ayarlayın.
background-color [STRING]
Belge arka plan rengini ayarlayın. Değer, geçerli bir renge dönüştürülebilir olmalıdır; örneğin,
#ff0000.backspace-indents [BOOL]
Geri Sil düğmesine basıldığında girintinin geri alınmasını etkinleştirin veya devre dışı bırakın.
block-selection [BOOL]
Blok seçimini açın veya kapatın.
bom | byte-order-mark | byte-order-marker [BOOL]
Dosyaları Unicode (utf8, utf16, utf32) biçiminde kaydederken, bayt sırası imini etkinleştirin veya devre dışı bırakın.
Kate 3.4 (KDE 4.4) sürümünden beri
bracket-highlight-color [STRING]
Ayraç vurgusunun rengini ayarlayın. Değer, geçerli bir renk için değerlendirilebilecek bir şey olmalıdır; örneğin;
#ff0000.current-line-color [STRING]
Geçerli satırın rengini ayarlayın. Değer, geçerli bir renk için değerlendirilebilecek bir şey olmalıdır; örneğin,
#ff0000.default-dictionary [STRING]
Yazım denetimi için kullanılan öntanımlı sözlüğü ayarlar.
Kate 3.4 (KDE 4.4) sürümünden beri
dynamic-word-wrap [BOOL]
Devingen sözcük kaydırmayı açar veya kapatır.
eol | end-of-line [STRING]
Satır sonu kipini ayarlayın. Geçerli ayarlar
unix,macvedosolarak üçe ayrılır.folding-markers [BOOL]
Katlama imleyicilerinin görüntülenmesini açar veya kapatır.
folding-preview [BOOL]
Düzenleyici kenarlığında katlama önizlemesini etkinleştirin.
font-size [INT]
Belgenin yazıtipi boyutunu punto türünden ayarlayın.
font [STRING]
Belgenin yazıtipini ayarlayın. Değer, geçerli bir yazıtipi adı olmalıdır; örneğin,
courier.hl | syntax [STRING]
Sözdizimi vurgulamasını ayarlayın. Geçerli diziler, menüde kullanılabilir olan tüm adlardır. Örneğin, C++ için yalnızca
C++yazın.icon-bar-color [STRING]
Simge çubuğunun rengini ayarlayın. Değer, geçerli bir renk olmalıdır; örneğin,
#ff0000.icon-border [BOOL]
Simge kenarlığının görüntülenmesini açın veya kapatın.
indent-mode [STRING]
Kendiliğinden girintileme kipini ayarlayın. Şu seçenekler desteklenir:
none,normal,cstyle,haskell,lilypond,lisp,python,rubyvexml. Ayrıntılar için “Kendiliğinden Girintilemeyi Kullanmak” bölümüne bakın.indent-pasted-text [BOOL]
Panodan yapıştırılan metnin girintileme ayarlamasını etkinleştirin/devre dışı bırakın.
Kate 3.11 (KDE 4.11) sürümünden beri
indent-width [INT]
Girintileme genişliğini ayarlayın.
keep-extra-spaces [BOOL]
Girintileme genişliği hesaplanırken, fazladan boşlukların tutulup tutulmayacağını ayarlayın.
line-numbers [BOOL]
Satır numaralarının görüntülenmesini açın veya kapatın.
newline-at-eof [BOOL]
Belgeyi kaydederken, dosyanın sonuna (EOF) boş bir satır ekleyin.
Kate 3.9 (KDE 4.9) sürümünden beri
overwrite-mode [BOOL]
Üzerine yazma kipini açın veya kapatın.
persistent-selection [BOOL]
Kalıcı seçimi açın veya kapatın.
replace-tabs-save [BOOL]
Kaydetme sırasında sekmeden boşluğa dönüşümü açın veya kapatın.
replace-tabs [BOOL]
Devingen sekmeden boşluğa dönüşümü açın veya kapatın.
remove-trailing-spaces [STRING]
Belgeyi kaydederken satır sonlarındaki boşlukları kaldırır. Geçerli seçenekler:
none,-veya0: Asla satır sonu boşluklarını kaldırmayın.modified,mod,+veya1: Yalnızca değiştirilen satırlardaki sondaki boşlukları kaldırın. Değiştirilen çizgiler, satır değişiklik sistemi tarafından işaretlenir.all,*veya2: Tüm belgedeki satır sonu boşluklarını kaldırın.
scrollbar-minimap [BOOL]
Sarma çubuğu mini haritasını gösterin.
scrollbar-preview [BOOL]
Sarma çubuğu önizlemesini gösterin.
scheme [STRING]
Renk şemasını ayarlayın. Herhangi bir etki yaratabilmesi için dizinin, yapılandırmanızda bulunan renk şemasının adı olması gerekir.
selection-color [STRING]
Seçim rengini ayarlayın. Değer, geçerli bir renkle değerlendirilebilecek bir şey olmalıdır; örneğin,
# ff0000.show-tabs [BOOL]
Görsel sekme karakterini açın veya kapatın.
smart-home [BOOL]
Akıllı ana klasör dolaşımını açın veya kapatın.
tab-indents [BOOL]
Sekme düğmesi girintilemesini açın veya kapatın.
tab-width [INT]
Sekme karakterinin genişliğini ayarlayın.
undo-steps [INT]
Anımsanacak geri alma eylemi sayısını ayarlayın.
Not: KDE4 üzerindeki Kate 3 sürümünden beri kullanılmıyor. Bu değer yok sayılır. Geri alma eyleminin en yüksek sayısı sınırsızdır.
word-wrap-column [INT]
Durağan sözcük kaydırma genişliğini ayarlayın.
word-wrap-marker-color [STRING]
Sözcük kaydırma imleyicisinin rengini ayarlayın. Değer, geçerli bir renkle değerlendirilebilecek bir şey olmalıdır; örneğin,
#ff0000.word-wrap [BOOL]
Durağan sözcük kaydırmayı açın veya kapatın.
KatePart, her zaman yerel dosyalar için bir .kateconfig dosyası arar (uzak dosyalarda aramaz). Ek olarak, aşağıdaki biçimde özel karakter araması için seçenekler ayarlamak da olanaklıdır (dosya uzantıları):
kate: tab-width 4; indent-width 4; replace-tabs on; kate-wildcard(*.xml): indent-width 2; kate-wildcard(Makefile): replace-tabs off;
Bu örnekte, tüm dosyalar 4 boşluktan oluşan sekme genişliği kullanır, girinti genişliği 4 boşluktur ve sekmeler genişletilerek boşluklarla değiştirilir. Ancak tüm *.xml dosyaları için girinti genişliği 2 boşluktur. Makefile dosyaları sekmeler kullanır; örneğin, sekmeler boşluklarla değiştirilmez.
Joker karakterleri noktalı virgülle ayrılır; ayrıca birden fazla dosya uzantısını aşağıdaki gibi de belirtebilirsiniz:
kate-wildcard(*.json;*.xml): indent-width 2;
Ayrıca, belirli dosyaları eşleştirmek için MIME türünü de kullanabilirsiniz; örneğin, tüm C++ kaynak dosyalarını 4 boşlukla girintilemek için şunu yazabilirsiniz:
kate-mimetype(text/x-c++src): indent-width 4;
Not
.kateconfig dosyalarındaki desteğin yanı sıra, joker karakterlerine ve MIME türüne bağlı belge değişkenleri de dosyaların kendisinde yorumlar olarak desteklenir.
KatePart ve KWrite Telif hakkı 2001-2014 Kate takımı.
Özgün KWrite temellidir, Telif hakkı 2000 Jochen Wilhelmy (digisnap AT cs.tu-berlin.de)
Katkılar:
Christoph Cullmann
(cullmann AT kde.org)Michael Bartl
(michael.bartl1 AT chello.at)Phlip
(phlip_cpp AT my-deja.com)Anders Lund
(anders AT alweb.dk)Matt Newell
(newellm AT proaxis.com)Joseph Wenninger
(kde AT jowenn.at)Jochen Wilhelmy
(digisnap AT cs.tu-berlin.de)Michael Koch
(koch AT kde.org)Christian Gebauer
(gebauer AT kde.org)Simon Hausmann
(hausmann AT kde.org)Glen Parker
(glenebob AT nwlink.com)Scott Manson
(sdmanson AT altel.net)John Firebaugh
(jfirebaugh AT kde.org)Nibaldo González
(nibgonz AT gmail.com)
KatePart belgelendirmesi, özgün KWrite belgelendirmesi temellidir ve KatePart ile alakalı olacak şekilde değiştirilmiştir.
Özgün KWrite belgelendirmesi, Thad McGinnis (ctmcginnis AT compuserve.com) tarafından yazılmış, Christian Tibirna (tibirna AT kde.org) tarafından birçok düzeltme almıştır. Lauri Watts (lauri AT kde.org) tarafından docbook biçimine dönüştürülmüş, Anne-Marie Mahfouf (annma AT kde.org) ve Anders Lund (anders AT alweb.dk) tarafından güncellenmiştir
Geçerli KatePart belgelendirmesi bakımı T.C. Hollingsworth (tchollingsworth AT gmail.com) tarafından yapılmaktadır. Yorumlarınızı ve önerilerinizi lütfen KatePart geliştirme posta listesine ((kwrite-devel AT kde.org)) gönderin veya KDE Hata İzleme Sistemi'nde bir hata kaydı açın.
Çeviri: Kaan Özdinçer (kaanozdincer AT gmail.com)
Çeviri: Emir SARI (emir_sari AT icloud.com)
Bu belgelendirme, GNU Serbest Belge Lisansı (GFDL) altında dağıtılmaktadır.
Bu program, GNU Genel Kamu Lisansı altında dağıtılmaktadır.
Vi kipinin amacı, Vim’in tam yerini almak ve Vim’in tüm özelliklerini desteklemek değildir. Amacı, metin düzenlemenin “Vim yöntemini” - ve öğrenilen Vim alışkanlıklarını - içsel düzenleyici olarak KatePart metin düzenleyicisini kullanan programlar için kullanılabilir hale getirmektir.
Vi kipi, programla güzel bir şekilde bütünleşmeyi ve Vim’in davranışından mantıklı olduğu yerde sapmayı amaçlamaktadır. Örneğin, :w, KatePart’in Vi kipinde bir kaydetme iletişim kutusu açacaktır.
Vi Giriş Kipi’ni tüm yeni görünümler için etkinleştirmek üzere → + → bölümüne gidin. Bu sekmede Vi Giriş Kipi için seçenekler koyabilir ve düğme eşlemlerini düzenleyebilirsiniz. Vi Giriş Kipi, aynı zamanda menüsündeki ögesinden de açılabilir/kapatılabilir. (Öntanımlı kısayol düğmesi: Meta+Kontrol+V - Meta, genelde Windows düğmesidir).
Not
Birçok Vi Kipi klavye kısayolu, çoğu KDE uygulamasını aksine BÜYÜK/küçük harf duyarlıdır. Bu; örneğin, y ve Y girişlerinin farklı komutlara karşılık geldiği anlamına gelir. y (yank-kopyala) komutunu girmek için Büyük Harf düğmesinin kapalı olduğundan emin olun ve Y düğmesine basın. Y (tüm satırı kopyala) komutunu girmek içinse Üst Karakter+Y düğmelerine basın.
Bu, Büyük Harf ve Üst Karakter düğmelerinin durumundan bağımsız olarak girilebilen Kontrol düğmesini kullanan komutlar için geçerli değildir. Ancak bazı komutlar, Kontrol düğmesinin yanı sıra BÜYÜK/küçük harf duyarlı başka bir düğmenin kullanımını gerektiren bir düğme kombinasyonu gerektirebilir. Örneğin, “Kontrol+W, h” (sağdaki bölünmüş görünüme geç) kısayolunu kullanmak için Büyük Harf düğmesinin kapalı olduğundan emin olun, Kontrol+W düğmelerine basın, bırakın ve sonrasında H düğmesine basın.
KatePart'in Vi kipinin Vim ile uyumsuz olan yalnızca birkaç özelliği vardır (eksik şeyleri saymazsak). Aşağıda nedenleri ile birlikte sıralanmışlardır.
KatePart:
Uve Kontrol+R, yinele komutudur.Vim: Kontrol+R normal yinele komutudur; U, bir satırdaki tüm güncel değişiklikleri geri almak için kullanılır.
KatePart’in Vi kipinde U düğmesini yinele olarak kullanmanın nedeni, Kontrol+R kısayolu öntanımlı olarak KatePart’in değiştir işlevi için ayrılmıştır (ara ve değiştir). Öntanımlı olarak Vi kipi, KatePart’in kısayollarını geçersiz kılmaz (bu, → + → bölümünde yapılandırılabilir), bundan dolayı bir yinele eyleminin “düzenli” bir düğme basımı olarak kullanılabilir olması gereklidir. Ek olarak, Vim’deki
Ukomutu, KatePart’in içsel geri al sistemiyle düzgün bir biçimde tümleşmez, o yüzden desteklemek kolay değildir.KatePart:
print, Yazdır iletişim kutusunu gösterir.Vim:
print, verilen erimdeki satırları yazdırır, tıpkı dedesi ed gibi.:printgibi komutlar yalnızca Vi kipinde değil “düzenli” KatePart kullanıcıları için de kullanılabilirdir; bu demektir ki:printkomutu Vim’in davranışını taklit etmek yerine yazdırma iletişim kutusunu açar.KatePart:
Y, satırın sonuna kadar kopyalar.Vim:
Ytüm satırı kopyalar, tıpkıyygibi.Vi’nin
Ykomutu davranışı aslında bir hatadır. Değiştir ve sil komutları içincc/ddgirişleri eylemini geçerli satırda yapar veC/Dgeçerli imleç sütunundan satırın sonuna kadar çalışır. Ancak hemyyveY, geçerli satırı kopyalar. KatePart’in Vi Kipi’ndeY, satırın sonuna kadar kopyalar. Bu, Vim belgelendirmesinde “daha mantıklı bir davranış” olarak açıklanmıştır.KatePart:
Oveo, yeni satırlar [sayı] açar ve sizi ekle kipine koyar.Vim:
Oveoyeni bir satır açar ve ekle kipinden çıkarken [sayı] kadar metin koyar.Bu çoğunlukla, Vim IRC kanalında (Libera Chat üzerinde #vim) bu davranış nedeniyle birçok kişinin kafasının karışmasına tanık olmanın bir sonucu olarak yapılmıştır.
Normal Kip, bir belgede gezinmek veya belgeyi düzenlemek için komutlar girmenize olanak tanır ve öntanımlı kiptir. Vazgeç düğmesine basarak başka herhangi bir kipten bu kipe geri dönebilirsiniz.
Görsel Kip, bir belgedeki metni vurgulamanıza olanak tanır. Normal Kip komutlarının çoğu bu kipte de geçerlidir. Karakterleri seçmek için
vdüğmesine veya satırları seçmek içinVdüğmesine basabilirsiniz.Ekle Kipi, belgeyi doğrudan düzenlemenize olanak tanır.
idüğmesine veya aşağıda listelenen diğer birkaç komuttan birine basarak girebilirsiniz.Komut Kipi, KatePart'in komut satırını çağırarak, Vi uygulamalarında bulunan birçok komutun yanı sıra KatePart'e özgü bazı komutları çalıştırmanıza olanak tanır. Bu komutlar hakkında daha fazla bilgi için “Düzenleyici Bileşeni Komut Satırı” bölümüne bakın. Kullanmak için : düğmesine basın, komutu girin ve Giriş ile sürdürün.
Fare ile metin seçildiğinde Görsel Kip’e kendiliğinden girilir. Ayrıca Tümünü Seç gibi metni seçen Kate işlevleri kullanılırken de girilebilir (menüden veya Kontrol+A aracılığıyla.)
Vi imleri ve Kate yer imleri birbirleriyle tümleşiktir. Vi Kipi’nde bir im oluşturulduğunda, onunla eşleşen bir Kate yer imi de oluşturulur ve menüsünde görünür. Tam tersi olarak bir Kate yer imi de oluşturulduğunda eşleşen bir Vi imi, 0. sütünda yerini alır.
| Ekle Kipi’ne gir, imleçten sonra iliştir |
| Ekle Kipi’ne gir, satırdan sonra iliştir |
| Ekle Kipi’ne gir, imleçten önce ekle |
Ekle | Ekle Kipi’ne gir, imleçten önce ekle |
| Ekle Kipi’ne gir, satırdaki ilk boş olmayan karakterden önce ekle |
| Ekle Kipi’ne gir, son Ekle Kipi’nden çıkış sırasında bırakılan yerden önce ekle |
| Görsel Kip’e gir, karakterler seç |
| Görsel Kip’e gir, satırlar seç |
Kontrol+v | Görsel Kip’e gir, bloklar seç |
| Görsel Kip’e gir, son seçimi yeniden seç |
| Geçerli satırın altında yeni bir satır aç |
| Geçerli satırın üstünde yeni bir satır aç |
| Satırları birbirlerine kat |
| Değiştir: Ardına bir hareket ekle ve Ekle Kipi’ne gir |
| Satır sonuna kadar değiştir: Satırın sonuna kadar sil ve Ekle Kipi’ne gir |
| Satırı değiştir: Satırı sil ve Ekle Kipi’ne gir |
| Karakteri başkasıyla değiştir |
| Satırı başkasıyla değiştir |
| Satırı sil |
| Silmek için ardına bir hareket ekle |
| Satır sonuna kadar sil |
| İmlecin sağındaki karakteri sil |
Sil | İmlecin sağındaki karakteri sil |
| İmlecin solundaki karakteri sil |
| Küçük harf yapmak için ardına bir hareket ekle |
| Geçerli satırı küçük harf yap |
| BÜYÜK harf yapmak için ardına bir hareket ekle |
| Geçerli satırı büyük harf yap |
| “Kopyalamak” için ardına bir hareket ekle |
| Satırı kopyala |
| Satırı kopyala |
| İmleçten sonra yapıştır |
| İmleçten önce yapıştır |
| İmleç girintilendikten sonra yapıştır |
| İmleç girintilendikten önce yapıştır |
| İmleçten sonraki karakteri değiştirmek için ardına bir karakter ekle |
| Değiştir Kipi’ne gir |
| Komut Kipi’ne gir |
| Ara |
| Geri al |
Kontrol+R | Yinele |
| Yinele |
| İm koy (sonrasında hareketler tarafından kullanılabilir) |
| Sonrakini bul |
| Öncekini bul |
| Satırı girintile |
| Satır girintisini kaldır |
| Satırları girintile |
| Satır girintilerini kaldır |
Kontrol+F | Sayfa aşağı |
Kontrol+F | Sayfa yukarı |
| Karakterin ASCII değerini yazdır |
| Son değişikliği yinele |
| Satırı hizala |
| Satırları hizala |
| Geçerli karakterin BÜYÜK/küçük harf durumunu değiştir |
Kontrol+S | Görünümü yatay böl |
Kontrol+V | Görünümü dikey böl |
Kontrol+W, | Sonraki bölünmüş pencereye geç |
Kontrol+W, Kontrol+W Sol Ok | Soldaki bölünmüş pencereye geç |
Kontrol+W, Kontrol+W Sağ Ok | Sağdaki bölünmüş pencereye geç |
Kontrol+W, Kontrol+W Yukarı Ok | Yukarıdaki bölünmüş pencereye geç |
Kontrol+W, Kontrol+W Aşağı Ok | Aşağıdaki bölünmüş pencereye geç |
Bunlar, Normal veya Görsel kipte bir belgede gezinmek için veya yukarıdaki komutlardan biriyle birlikte kullanılabilir. Bunların önüne, uygun hareketlerden kaç tanesinin yapılacağını gösteren bir sayı gelebilir.
| Sol |
Sol Ok | Sol |
Geri Sil | Sol |
| Aşağı |
Aşağı Ok | Aşağı |
| Yukarı |
Yukarı Ok | Yukarı |
| Sağ |
Sağ Ok | Sağ |
Boşluk | Sağ |
| Satır sonu |
Son | Satır sonu |
| Satırın ilk karakteri (0. sütun) |
Baş | Satırın ilk karakteri |
| Satırın ilk boşluk olmayan karakteri |
| İmlecin sağına gitmek için ardına bir karakter ekle |
| İmlecin soluna gitmek için ardına bir karakter ekle |
| İmleci önceki karaktere yerleştirerek imlecin sağına gitmek için ardına bir karakter ekle |
| İmleci önceki karaktere yerleştirerek imlecin soluna gitmek için ardına bir karakter ekle |
| İlk satır |
| Son satır |
| Sonraki sözcük |
| Boşlukla ayrılan sonraki sözcük |
| Önceki sözcük |
| Boşlukla ayrılan önceki sözcük |
| Sözcüğün sonu |
| Boşlukla ayrılan sözcük sonu |
| Önceki sözcüğün sonu |
| Boşlukla ayrılan önceki sözcüğün sonu |
| Bu sütuna gitmek için ardına bir sütun numarası ekle |
| O ögeye gitmek için ardına bir öge ekle |
| İm |
| İmin bulunduğu satırın boşluk olmayan ilk karakteri |
| Önceki açılış ayracı |
| Sonraki açılış braketi |
| Önceki kapanış ayracı |
| Sonraki kapanış ayracı |
Kontrol+I | Sonraki konuma atla |
Kontrol+O | Önceki konuma atla |
| Ekranın ilk satırına git |
| Ekranın orta satırına git |
| Ekranın son satırına git |
| Belgenin belirtilen yüzdesine git |
| Görsel olarak bir satır yukarı git (devingen sözcük kaydırma kullanılırken) |
| Görsel olarak bir satır aşağı git (devingen sözcük kaydırma kullanılırken) |
Kontrol+Sol Ok | Bir sözcük sola git |
Kontrol+Sağ Ok | Bir sözcük sağa git |
Bunlar, bir belgenin belirli bölümlerini seçmek için kullanılabilir.
| İçteki sözcük: Boşlukla birlikte sözcük |
| Bir sözcük: Boşluk içermeyen sözcük |
| Önceki çift tırnaktan ( |
| Önceki çift tırnaktan ( |
| Önceki tek tırnaktan ( |
| Önceki tek tırnaktan ( |
| Önceki açılış parantezinden [ |
| Önceki açılış parantezinden [ |
| Önceki açılış köşeli ayracından ( |
| Önceki açılış köşeli ayracından ( |
| Önceki açılış süslü ayracından ( |
| Önceki açılış süslü ayracından ( |
| Önceki açılış açılı ayracından ( |
| Önceki açılış açılı ayracından ( |
| Önceki ters tırnaktan ( |
| Önceki ters tırnaktan ( |
Kontrol+D | Girintilemeyi kaldır |
Kontrol+T | Girintile |
Kontrol+E | Aşağıdan ekle |
Kontrol+Y | Sözcük sil |
Kontrol+W | Sözcük sil |
Kontrol+U | Satırı sil |
Kontrol+J | Yeni satır |
Kontrol+H | Karakteri geriye doğru sil |
Kontrol+Baş | Belgedeki ilk karaktere git |
Kontrol+R | n yazmacının içeriğini ekle |
Kontrol+O, | Yalnızca bir komut için Normal Kip’e gir |
Kontrol+A | Geçerli seçili sayıyı artır |
Kontrol+X | Geçerli seçili sayıyı azalt |
Bu nesne Vim’de yoktur. Virgül Metin Nesnesi, C benzeri dillerdeki ve diğer virgülle ayrılmış listelerdeki parametre listelerini değiştirmeyi kolaylaştırır. Temel olarak iki virgül veya virgül ile parantez arasındaki alandır. Çizimde gösterilen satırda, bu metin nesnesinin yayılabileceği üç erim vurgulanmıştır.
İçindekiler
Bu Ek, düzenli ifadeler dünyasına kısa; ancak umarım yeterli ve kapsamlı bir giriş içerir. Bu belgede, KatePart içinde kullanılabilir olan düzenli ifadeler anlatılır. Bu düzenli ifade biçimi, ne perl düzenli ifadeleriyle ne de grep ile kullanılabilir düzenli ifadelerle doğrudan uyumlu değildir.
Düzenli İfadeler, bize bir metin dizisinin kimi olası içeriğini küçük bir yazılım parçası tarafından anlaşılacak şekilde tanımlamanın bir yolunu sağlar, böylece bir metnin eşleşip eşleşmediğini görebilir ve bazı gelişmiş durumlarda belirli parçaları veya eşleşen metni kaydedebiliriz.
Örnek: Bir metni, içinde “Henrik” veya “Pernille” adlarından biriyle başlayan ve sonrasında “say” gelen paragraflar için aramak istiyoruz.
Normal bir aramada, öncelikle adla aramaya başlardık; “Henrik”, belki sonrasında “sa” getirirdik: Henrik sa; eşleşmeleri ararken paragraf başı olmayan varyantları ve “sa” ile başlayan sözcükleri yok saymamız gerekirdi; örneğin “says”, “said” vb. Sonrasında bunların hepsini diğer adla da yinelememiz gerekecekti...
Düzenli İfadeler sayesinde bu görev tek bir aramayla ve daha büyük bir doğrulukla gerçekleştirilebilir.
Bunu başarmak için, Düzenli İfadeler, eşleşecek bir dizinin genelleştirilmesini ayrıntılı olarak ifade etmeye yönelik kuralları tanımlar. Sözcüğü tam anlamıyla şu şekilde ifade edebiliriz: “Ya ‘Henrik’ ya da ‘Pernille’ ile başlayan bir satır (büyük olasılıkla öncesinde bir sekme karakteri veya 4 adet boşluk olabilir), sonrasında bir boşluk ve ‘sa’ ve sonrasında ya ‘ys’ veya ‘id’” şu düzenli ifadeyle gösterilebilirdi:
^[ \t]{0,4}(Henrik|Pernille) sa(ys|id)
Yukarıdaki örnek, çağdaş Düzenli İfadelerin dört ana konseptinin tümünü göstermektedir:
Dizgiler
Savlar
Niceleyiciler
Geriye başvurular
İfadeyi başlatan şapka (^) bir savdır ve yalnızca aşağıdaki eşleşen dizi bir satırın başındaysa doğrudur.
[ \t] ve (Henrik|Pernille) sa(ys|id) dizgilerdir. İlki, ya bir boş ya da (yatay) sekme karakteriyle eşleşen bir karakter sınıfıdır; diğer dizgi ise ya Henrik ya da Pernille ile eşleşen bir alt dizgi ve sa dizisiyle tam olarak eşleşen bir parçadır ve son olarak ya ys ya da id ile eşleşen bir alt dizgidir
{0,4} dizisi, “öncekinin 0’dan 4’e kadar herhangi bir yer” olan bir niceleyicidir.
Geriye başvurular kavramını destekleyen düzenli ifade yazılımı, dizinin eşleşen kısmının tümünü ve parantez içine alınmış alt dizgileri kaydettiği için bu başvurulara bazı erişim araçları verildiğinde, ya eşleşmenin tümünü (düzenli bir ifadeyle bir düzenleyicide bir metin belgesi aranırken, bu genellikle seçilmiş olarak işaretlenir) ya da bulunan ad ya da yüklemin son kısmını ele alabiliriz.
Tümü birlikte, ifade nerede eşleşmesini istiyorsak yalnızca orada eşleşir.
Aşağıdaki bölümlerde dizgilerin, karakter sınıflarının, savların, niceleyicilerin ve geriye başvuruların nasıl oluşturulacağı ve kullanılacağı ayrıntılı olarak açıklanacak ve son bölümde birkaç yararlı örnek verilecektir.
Dizgiler, değişmez dizilerden ve karakter sınıflarından oluşur. Dizgiler, parantez içine alınmış dizgiler olan alt dizgiler içerebilir.
Dizgilerde olduğu gibi karakter sınıflarında da bazı karakterlerin özel bir anlamı vardır. Bu karakterlerden herhangi birini tam anlamıyla eşleştirmek için düzenli ifade yazılımının bu tür karakterleri gerçek anlamlarında yorumlaması gerektiğini bilmesini sağlamak amacıyla bunların imlenmesi veya kaçırılması gerekir.
Bu, karakterin başına ters eğik çizgi (\) getirilerek yapılır.
Düzenli ifade yazılımı, bağlamda herhangi bir özel anlamı olmayan bir karakterden kaçmayı sessizce yok sayar; bu nedenle, örneğin bir “j” (\j) karakterinden kaçmak güvenlidir. Bir karakterin özel bir anlamı olup olmadığından kuşkunuz varsa onu güvenle kaçırabilirsiniz.
Kaçış, elbette ters eğik çizgi karakterinin kendisini de içerir, böyle bir dizinin tam anlamıyla eşleşmesi için \\ yazarsınız.
Bir karakter sınıfı, tanımlanmış bir karakter kümesinden biriyle eşleşen bir ifadedir. Düzenli ifadelerde karakter sınıfları, sınıfın yasal karakterlerini [] köşeli parantez içine alarak veya aşağıda açıklanan kısaltılmış sınıflardan birini kullanarak tanımlanır.
Basit karakter sınıfları yalnızca bir veya daha çok düz karakter içerir; örneğin, [abc] (“a”, “b” veya “c” harflerinden biriyle eşleşir) veya [0123456789] (herhangi bir rakamla eşleşir).
Harfler ve rakamlar mantıksal bir sıraya sahip olduğundan, erimlerini belirterek bunları kısaltabilirsiniz: [a-c], [abc]'ye ve [0-9] ise [0123456789]'a eşittir. Bu yapıları birleştirerek; örneğin [a-fynot1-38] gibi tümüyle geçerli bir yapı oluşturabilirsiniz (sonuncusu, elbette “a”,“b”,“c”,“d”, “e”,“f”,“y”,“n”,“o”,“t”, “1”,“2”,“3” veya “8” ögelerinden biriyle eşleşecektir).
BÜYÜK harfler, BÜYÜK harf olmayan karşılıklarından farklı karakterler olduğundan, “a” veya “b” ile eşleşen ve BÜYÜK/küçük harf duyarsız bir karakter sınıfı oluşturmak için her durumda, onu [aAbB] olarak yazmanız gerekir.
Elbette “herhangi bir şeyin dışındaki her şeyle” eşleşen bir “negatif” sınıf oluşturmak olanaklıdır. Bunu yapmak için sınıfın başına bir şapka (^) koyun:
[^abc], “a”, “b” veya “c” dışındaki herhangi bir karakterler eşleşir.
Gerçek karakterlerin yanı sıra bazı kısaltmalar da tanımlanmış olup bu da işimizi biraz daha kolaylaştırmaktadır:
\aBu, ASCII zil karakteriyle (BEL, 0x07) eşleşir.
\fBu, ASCII form besleme karakteriyle (FF, 0x0C) eşleşir.
\nBu, ASCII satır besleme karakteriyle (LF, 0x0A, Unix yenisatır) eşleşir.
\rBu, ASCII satır başı karakteriyle (CR, 0x0D) eşleşir.
\tBu, ASCII yatay sekme karakteriyle (HT, 0x09) eşleşir.
\vBu, ASCII dikey sekme karakteriyle (VT, 0x0B) eşleşir.
\xhhhhBu, onaltılık hhhh Unicode karakteriyle eşleşir (0x0000 ve 0xFFFF arasında). \0ooo (başka bir deyişle, \zero ooo), ooo sekizlik ASCII/Latin-1 karakteriyle eşleşir (0 ve 0377).
.(nokta)Bu, herhangi bir karakterle eşleşir (yenisatır içerilir).
\dBu, bir rakamla eşleşir.
[0-9]ile aynıdır\DBu, rakam olmayan bir şeyle eşleşir.
[^0-9]veya[^\d]ile aynıdır\sBu, boşluk karakteriyle eşleşir.
[ \t\n\r]ile aynı şeydir\SBu, boşluk olmayan bir karakterle eşleşir.
[^ \t\r\n]ve[^\s]ile aynıdır\wHerhangi bir “sözcük karakteriyle” eşleşir; bu durumda bu bir harf, rakam veya alt çizgi olabilir.
[a-zA-Z0-9_]ile aynıdır\WBu, sözcük karakteri olmayan herhangi bir karakterler eşleşir; bu durumda bu harfler, sayılar ve alt çizgi dışındaki her şey olabilir.
[^a-zA-Z0-9_]veya[^\w]ile aynıdır
Sınıfların POSIX biçimine simgelemi, [:<class name>:] de ayrıca desteklenir. Örneğin, [:digit:], \d'e ve [:space:] de \s'e eşittir. POSIX karakter sınıflarının tam listesine buradan bakabilirsiniz.
Kısaltılmış sınıflar özel bir sınıfın içine yerleştirilebilir; örneğin bir sözcük karakteriyle, bir boşlukla veya bir noktayla eşleştirmek için [\w \.] yazabilirsiniz
Aşağıdaki karakterlerin “[]” karakter sınıfı yapısında özel bir anlamı vardır ve bir sınıfa sözcüğün tam anlamıyla içerilebilmesi için kaçış karakterlerinin kullanılması gerekir:
]Karakter sınıfını sonlandırır. Sınıftaki ilk karakter olmadığı sürece kaçırılmalıdır (kaçırılmamış bir şapka işaretinden sonra gelebilir).
^(şapka)İlk karakter ise negatif sınıfı belirtir. Sınıfın ilk karakteri ise sözcüğün tam anlamıyla eşleşecek biçimde kaçırılmalıdır.
-(tire)Mantıksal bir erimi belirtir. Bir karakter sınıfı içinde her zaman kaçırılmalıdır.
\(ters eğik çizgi)Kaçış karakteri. Her zaman kaçırılmalıdır.
Bir dizi alternatif dizgiden birini eşleştirmek istiyorsanız bunları | (dikey çubuk karakteri) ile ayırabilirsiniz.
Örneğin “John” veya “Harry” bulmak istediğinizde John|Harry düzenli ifadesini kullanırsınız.
Alt dizgiler, parantez içine alınmış dizgilerdir ve düzenli ifadeler dünyasında çeşitli kullanımları vardır.
Bir dizi alternatifi daha büyük bir dizgi içinde gruplandırmak için bir alt dizgi kullanabilirsiniz. Alternatifler “|” (dikey çubuk) karakteriyle ayrılır.
Örneğin, “int”, “float” veya “double” sözcüklerinden biriyle eşleşmek için int|float|double dizgisini kullanabilirsiniz. Yalnızca bir boşluk ve ardından birkaç harf gelen bir tanesini bulmak istiyorsanız alternatifleri bir alt dizginin içine yerleştirin: (int|float|double)\s+\w+.
Geriye başvuru kullanmak istiyorsanız dizginin istenilen kısmının anımsanması için (DİZGİ) alt dizgisini kullanın. Alt dizginin anımsanmasını önlemek için yakalamayan bir (?:DİZGİ) grubu kullanın.
Örneğin, aynı sözcüğün virgülle ve büyük olasılıkla bir miktar boşlukla ayrılmış iki örneğini bulmak istiyorsanız (\w+),\s*\1 yazabilirsiniz. \w+ alt dizgisi bir sözcük karakterleri parçası bulur ve ifadenin tümü onlardan sonra bir virgül, 0 veya birden çok boşluk ve aynı miktarda sözcük karakteri geliyorsa eşleşir. (\1 dizisi, paranteze alınmış ilk alt dizgiye başvurur.)
Not
\1 kullanımı ile ilgili anlatım bozukluklarını önlemek için ardına birkaç rakam koyun (örneğin \12, 12. alt dizgi veya 2 içeren ilk alt dizgi olabilir); birden çok rakamlı alt dizgiler için biz \{12} kullanıyoruz.
Örnekler:
\{12}1, “12 alt dizgisini kullan” anlamına gelir\123, “yakalama 1’i kullan, sonrasında 23’ü normal metin olarak kullan” anlamına gelir
Bir ileri sav, ya ?= ya da ?! ile başlayan bir alt dizgidir.
“Bill” dizisi ile yalnızca ardından “ Gates” gelmiyorsa eşleşmek istiyorsanız şu ifadeyi kullanabilirsiniz: Bill(?! Gates). (Bu, hem “Bill Clinton”'u hem de “Billy the kid”'i bulur; ancak diğer eşleşmeleri sessizce yok sayar.)
Savlar için kullanılan alt dizgiler yakalanmaz.
Ayrıca Savlar bölümüne bakın.
Bir arkaya sav, ya ?<= ya da ?<! ile başlayan bir alt dizgidir.
Arka sav, ileri sav ile aynı etkiye sahiptir; ancak geriye doğru çalışır. Örneğin, “fruit” gerçek dizisiyle yalnızca önünde “grape” yoksa eşleşmek istiyorsanız (?<!grape)fruit ifadesini kullanabilirsiniz.
Savlar için kullanılan alt dizgiler yakalanmaz.
Ayrıca Savlar bölümüne bakın
Aşağıdaki karakterlerin bir dizgi içinde anlamı vardır ve bunları tam anlamıyla eşleştirmek istiyorsanız kaçış karakterlerinin kullanılması gerekir:
\(ters eğik çizgi)Kaçış karakteri.
^(şapka)Dizinin başını bildirir.
$Dizinin sonunu bildirir.
()(sol ve sağ parantez)Alt dizgileri bildirir.
{}(sol ve sağ süslü ayraçlar)Sayısal niceleyicileri bildirir.
[](sol ve sağ köşeli ayraçlar)Karakter sınıflarını bildirir.
|(dikey çubuk)Mantıksal OR. Alternatifleri ayırır.
+(artı işareti)Niceleyici, 1 veya daha çok.
*(yıldız işareti)Niceleyici, 0 veya daha çok.
?(soru işareti)İsteğe bağlı bir karakter. Bir niceleyici olarak yorumlanabilir, 0 veya 1.
Niceleyiciler, düzenli bir ifadenin bir karakterin, karakter sınıfının veya alt dizginin belirli bir sayısı veya sayı erimiyle eşleşmesine olanak tanır.
Niceleyiciler süslü ayraçlar içine alınır ({ ve }) ve genellikle {[en-az-oluş][,[en-çok-oluş]]} biçimindedirler
Kullanımları en iyi örnekle açıklanabilir:
{1}Tam 1 oluş
{0,1}Sıfır veya 1 oluş
{,1}Aynısı, daha kısası ;)
{5,10}En az 5; ancak en çok 10 oluş.
{5,}En az 5 oluş, sınırsız.
Ek olarak, bazı kısaltmalar vardır:
*(yıldız işareti){0,}gibi, herhangi bir sayıda oluş bul.+(artı işareti){1,}gibi, en az 1 oluş.?(soru işareti){0,1}gibi, sıfır veya 1 oluş.
En çok değere sahip olmayan niceleyiciler kullanılırken, düzenli ifadeler aranan dizinin olabildiğince büyük bölümüyle eşleşmeye öntanımlıdır, buna genellikle açgözlü davranış denir.
Çağdaş düzenli ifade yazılımları, “açgözlülüğü kapatmanın” yollarını sağlar; ancak grafiksel bir ortamda bu özelliğe erişmenizi sağlamak arayüzün sorumluluğundadır. Örneğin, düzenli ifade araması sağlayan bir arama iletişim kutusunda “En az eşleşme” etiketli bir onay kutusu bulunabilir ve ayrıca açgözlülüğün öntanımlı davranış olup olmadığının belirtilmesi gerekir.
Niceleyicilerin kullanımına ilişkin birkaç örnek:
^\d{4,5}\s“1234 go” ve “12345 now” içindeki rakamlarla eşleşir; ancak “567 eleven” veya “223459 somewhere” içindekilerle eşleşmez.
\s+Bir veya daha çok boşluk karakteriyle eşleşir.
(bla){1,}“blablabla” dizisinin tümüyle ve “blackbird” veya “tabla” içindeki “bla” ile eşleşir.
/?>“<closeditem/>” içindeki “/>” ile ve “<openitem>” içindeki “>” ile eşleşir.
Savlar, düzenli bir ifadenin yalnızca belirli denetimli koşullar altında eşleşmesine olanak tanır.
Bir savın eşleşecek bir karaktere gereksinimi yoktur; olası bir eşleşmeyi onaylamadan önce çevreyi araştırır. Örneğin, sözcük sınırı savı, konumunda bir sözcüğün karşısında sözcük olmayan bir karakter bulmaya çalışmaz, bunun yerine bir sözcük karakterinin bulunmadığından emin olur. Bu, hiçbir karakterin olmadığı durumda iddianın eşleşebileceği anlamına gelir; örneğin aranan bir dizinin sonunda.
Bazı savların aslında eşleşecek bir dizgisi vardır; ancak dizi eşleşmesinin parçası, tam ifade eşleşmesinin sonucunun bir parçası olmayacaktır.
Burada belgelenen düzenli ifadeler aşağıdaki savları destekler:
^(şapka: dizinin başı)Aranan dizinin başlangıcıyla eşleşir.
^Peterifadesi, “Peter, hey!” dizisindeki “Peter” ile eşleşir; ancak “Hey, Peter!” ile eşleşmez$(dizi sonu)Aranan dizinin sonuyla eşleşir.
you\?$ifadesi, “You didn’t do that, did you?” dizisindeki son you ile eşleşir; ancak “You didn’t do that, right?” ile eşleşmez\b(sözcük sınırı)Bir tarafta sözcük karakteri varken diğer tarafta yoksa eşleşir.
Bu, sözcük sonlarını bulmak için kullanışlıdır; örneğin, bir sözcüğün tamamını bulmak için her iki uç da kullanılabilir.
\bin\bifadesi, “He came in through the window” dizisindeki “in” ile eşleşir; ancak “window” içindeki “in” ile eşleşmez.\B(sözcük sınırı olmayan)“\b” ifadesinin eşleşmediği her yerde eşleşir.
Bu, örneğin sözcüğün içinde eşleşeceği anlamına gelir:
\Bin\Bifadesi, “window” ile eşleşir; ancak “integer” veya “I’m in love” ile eşleşmez.(?=DİZGİ)(pozitif ileri bakış)İleriye bakan bir sav, dizinin olası bir eşleşmeyi takip eden kısmına bakar. Olası eşleşmeyi takip eden metin savın DİZGİ'siyle eşleşmezse pozitif bakış dizinin eşleşmesini engeller; ancak bununla eşleşen metin sonuçta içerilmez.
handy(?=\w)ifadesi “handyman” içindeki “handy” ile eşleşir; ancak “That came in handy!” içindekiyle eşleşmez(?!DİZGİ)(negatif ileri bakış)Negatif bakış, aranan dizinin aşağıdaki bölümünün DİZGİ ile eşleşmesi durumunda olası bir eşleşmenin onaylanmasını önler.
const \w+\b(?!\s*&)ifadesi, “const char* foo” içindeki “const char” ile eşleşir; ancak “const QString& bar” içindeki “const QString” ile eşleşmez; çünkü “&” negatif ileriye bakan sav dizgisi ile eşleşir.(?<=DİZGİ)(pozitif geri bakış)Arkaya bakma, ileriye bakmayla aynı etkiye sahiptir; ancak geriye doğru çalışır. Geriye doğru bir bakış, dizinin olası bir eşleşmeden önceki kısmına bakar. Pozitif geriye bakış, yalnızca savın DİZGİ'sinden önce geliyorsa bir diziyle eşleşir; ancak bununla eşleşen metin sonuçta içerilmez.
(?<=cup)cakeifadesi,“cake” ile yalnızca önünde “cup” geliyorsa eşleşir (“cupcake” gibi; ancak “cheesecake” veya tek başına “cake” değilse).(?<!DİZGİ)(negatif geri bakış)Negatif geriye bakış, aranan dizinin önceki kısmı DİZGİ ile eşleşmiyorsa olası bir eşleşmenin onaylanmasını önler.
(?<![\w\.])[0-9]+ifadesi, “=123” ve “-123” dizilerindeki “123” ile eşleşir; ancak “.123” veya “word123” içindeki “123” ile eşleşemez.(DİZGİ)(yakalayan grup)Parantez içindeki alt dizgi yakalanır ve anımsanır; böylece geriye başvurularda kullanılabilir. Örneğin,
("+)[^"]*\1ifadesi,""""text""""ve"text"ile eşleşir.Daha fazla bilgi için Eşleşen metni yakalamak (geriye başvurular) bölümüne bakın.
(?:DİZGİ)(yakalamayan grup)Parantez içindeki alt dizgi yakalanmaz ve anımsanmaz. Yakalamalar kullanılmayacaksa her zaman yakalamayan grupların kullanılması tercih edilir.
