KatePart El Kitabı

KatePart El Kitabı

Thad McGinnis

Anne-Marie Mahfouf

Anders Lund

T.C. Hollingsworth

developer: Christoph Cullmann
reviewer: Lauri Watts
Çeviri: Kaan Özdinçer
Çeviri: Emir SARI
Baskı Frameworks
5.94 (2022-05-02)

KatePart, KDE için tam özellikli bir düzenleyici bileşenidir.


İçindekiler

1. Giriş
2. Bazı Temel Bilgiler
Sürükle ve Bırak
Kısayollar
3. KatePart düzenleyicisiyle çalışmak
Genel Görünüm
Metinde Dolaşmak
Seçimle Çalışmak
Blok Seçimi Kullanmak
Seçimin Üzerine Yazmayı Kullanmak
Kalıcı Seçimi Kullanmak
Metin Kopyalamak ve Yapıştırmak
Metin Bul ve Değiştir
Ara ve Değiştir Çubukları
Metin Bulmak
Metni Değiştirmek
Yer İmlerini Kullanmak
Metni Kendiliğinden Kaydırmak
Kendiliğinden Girintilemeyi Kullanmak
Satır Değişiklik Göstergeleri
Sarma Çubuğu Mini Haritası
Çoklu İmleçler
Birden çok imleç oluşturmak
Birden çok imleçle çalışmak
4. Menü Girdileri
Dosya Menüsü
Düzen Menüsü
Seçim Menüsü
Görünüm Menüsü
Git Menüsü
Araçlar Menüsü
Ayarlar ve Yardım Menüsü
5. Gelişmiş Düzenleme Araçları
Yorum/Yorumları Kaldır
Düzenleyici Bileşeni Komut Satırı
Standart Komut Satırı Komutları
Kod Katlamayı Kullanmak
6. KatePart'ı genişletmek
Giriş
Sözdizim Vurgulama ile çalışmak
Genel Bakış
KatePart Sözdizim Vurgulama Sistemi
XML Vurgu Tanımı Biçimi
Vurgu Algılama Kuralları
Renk Temalarıyla Çalışmak
Genel Bakış
KSyntaxHighlighting Renk Temaları
Renk Temaları JSON Biçimi
Ayrıntılarla Renkler
Renk Temaları Grafik Arayüzü
İpuçları ve Kolaylıklar
JavaScript ile betik yazımı
Girintileme Betikleri
Komut Satırı Betikleri
Betik Yazımı API’si
7. KatePart Yapılandırması
Düzenleyici Bileşeni Yapılandırması
Görünüş
Renk Temaları
Düzenleme
Aç/Kaydet
Belge Değişkenleriyle Yapılandırmak
KatePart değişkenleri nasıl kullanır
Kullanılabilir Değişkenler
.kateconfig dosyalarındaki genişletilmiş seçenekler
8. Emeği Geçenler ve Lisans
9. Vi Giriş Kipi
Vi Giriş Kipi
Vim ile uyumsuzluklar
Kip Değiştirmek
Kate özellikleriyle tümleştirme
Desteklenen normal/görsel kip komutları
Desteklenen hareketler
Desteklenen metin nesneleri
Desteklenen Ekle Kipi komutları
Virgül Metin Nesnesi
Eksik Özellikler
A. Düzenli İfadeler
Giriş
Dizgiler
Karakterleri kaçırmak
Karakter sınıfları ve kısaltmalar
Alternatifler: Bunlardan biriyle eşleştirmek
Alt Dizgiler
Dizgiler içinde özel anlam taşıyan karakterler
Niceleyiciler
Açgözlülük
Bağlamsal örnekler
Savlar
Bölüm 1. Giriş

Bölüm 1. Giriş

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.

Bölüm 2. Bazı Temel Bilgiler

Bölüm 2. Bazı Temel Bilgiler

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.

Sürükle ve Bırak

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

Kısayollar

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

Bir şeyler bulun.

F3

Sonrakini bulun.

Üst Karakter+F3

Öncekini bulun.

Kontrol+H

Seçiliyi bulun.

Kontrol+Üst Karakter+H

Seçiliyi geriye doğru bulun.

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

Bir şeyler yazdırın.

Kontrol+R

Bir şeyleri başkasıyla değiştirin.

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

Yineleyin.

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

Yeniden yükleyin.

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.

Bölüm 3. KatePart düzenleyicisiyle çalışmak

Bölüm 3. KatePart düzenleyicisiyle çalışmak

Anders Lund

Dominik Haumann

Çeviri: Emir SARI

Genel Görünüm

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 Sol Fare Düğmesi ile tıklayarak ayarlayabilir veya kaldırabilirsiniz.

Simge kenarlığının görüntülenmesi GörünümSimge Kenarlığını Göster 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, GörünümSatır Numaralarını Göster 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.

Metinde Dolaşmak

Metinde Dolaşmak

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.

Seçimle Çalışmak

Seçimle Çalışmak

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 Sol 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 DüzenKopyala menü ögesini veya klavye kısayolunu kullanın (öntanımlı olarak Kontrol+C).

Geçerli seçimi kaldırmak için SeçimSeçimi Kaldır menü ögesini veya klavye kısayolunu kullanın (öntanımlı olarak Kontrol+Üst Karakter+A) veya düzenleyicide Sol Fare Düğmesi ile tıklayın.

Blok Seçimi Kullanmak

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 SeçimBlok Seçim Kipi menü ögesiyle açılıp kapatılabilir. Öntanımlı klavye kısayolu: Kontrol+Üst Karakter+B.

Seçimin Üzerine Yazmayı Kullanmak

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çimi Kullanmak

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 ve Yapıştırmak

Metin Kopyalamak ve Yapıştırmak

Metin kopyalamak için metni seçin ve DüzenKopyala 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 DüzenYapıştır menü ögesini kullanın.

Ayrıca fareyle seçilen metin, Orta 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.

Metin Bul ve Değiştir

Metin Bul ve Değiştir

Ara ve Değiştir Çubukları

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 Ekle 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 Ekle 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

Metin bulmak için Kontrol+F klavye kısayoluyla veya DüzenBul... 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 DüzenSonrakini Bul (F3) veya DüzenÖncekini Bul (Üst Karakter+F3) ögelerini kullanın.

Metni Değiştirmek

Metni değiştirmek için DüzenDeğiştir 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 Ekle... 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 Değiştir düğmesini veya tüm belgedeki arama metnini değiştirmek için Tümünü Değiştir 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 İmlerini Kullanmak

Yer İmlerini Kullanmak

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 Yer İmleriYer İmi Koy (Kontrol+B) komutunu kullanın.

  • Satırın yanındaki simge kenarlığına tıklayın.

Yer imleri, Yer İmleri 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 Yer İmleriSonraki (Seçenek+Sayfa Aşağı) veya Yer İmleriÖnceki (Seçenek+Sayfa Yukarı) komutlarını kullanın.

Metni Kendiliğinden Kaydırmak

Metni Kendiliğinden Kaydırmak

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 Durağan Sözcük Kaydırma 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 Sözcükleri şurada kaydır 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.

Kendiliğinden Girintilemeyi Kullanmak

Kendiliğinden Girintilemeyi Kullanmak

KatePart'in düzenleyici bileşeni, çeşitli metin biçimleri için tasarlanan birçok kendiliğinden girintileme aracını destekler. AraçlarGirintileme 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 AraçlarGirintilemeyi Biçimlendir 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.

Satır Değişiklik Göstergeleri

Satır Değişiklik Göstergeleri

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.

Sarma Çubuğu Mini Haritası

Sarma Çubuğu Mini Haritası

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.

GörünümSarma Çubuğu Mini Haritası 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 İmleçler

Çoklu İmleçler

Çoklu imleç desteği, katepart 5.93 sürümünde eklendi.

Birden çok imleç oluşturmak

  • Onları oluşturmak için Seçenek + Sol 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.

Birden çok imleçle çalışmak

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+Sol 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 Boş satırlardan imleçleri kaldır ögesini arayın ve Giriş’a basın. Ayrıca bu eylem için bir kısayol da yapılandırabilirsiniz.

Bölüm 4. Menü Girdileri

Bölüm 4. Menü Girdileri

Dosya Menüsü

DosyaYeni (Kontrol+N)

Bu, yeni ve bağımsız bir düzenleyici penceresinde yeni bir belge başlatır.

DosyaYeni Pencere

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.

DosyaAç... (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.

DosyaSon Kullanılanı Aç

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.

DosyaKaydet (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.

DosyaFarklı Kaydet... (Kontrol+Üst Karakter+S)

Bu, belgenin yeni bir dosya adıyla kaydedilmesine olanak tanır. Bu, yukarıda bu yardım dosyasının bölümünde açıklanan dosya iletişim kutusu aracılığıyla yapılır.

DosyaKodlamayla Farklı Kaydet

Belgeyi yeni bir dosya adıyla farklı bir kodlamayla kaydedin.

DosyaKopyayı Farklı Kaydet

Belgenin bir kopyasını yeni bir dosya adıyla kaydedin ve özgün belgeyi düzenlemeyi sürdürün.

DosyaYeniden Yükle (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.

DosyaYazdı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.

DosyaHTML Olarak Dışa Aktar

Şu anda açık olan belgeyi, geçerli sözdizim vurgulama ve renk şeması ayarları kullanılarak biçimlendirilecek bir HTML dosyası olarak kaydedin.

DosyaKapat (Kontrol+W)

Etkin dosyayı bu komutla kapatın. Kaydedilmemiş değişiklikler yaptıysanız KatePart dosyayı kapatmadan önce dosyayı kaydetmeniz istenecektir.

DosyaÇık (Kontrol+Q)

Bu, düzenleyici penceresini kapatacaktır; Yeni veya Yeni Pencere menü ögeleri aracılığıyla birden fazla KatePart örneği açılmışsa bu örnekler olduğu gibi bırakılır.

Düzen Menüsü

Düzen Menüsü

DüzenGeri Al (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.

DüzenYinele (Kontrol+Üst Karakter+Z)

Bu, Geri Al kullanılarak yapılan en son değişikliği (varsa) tersine çevirecektir.

DüzenKes (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.

DüzenKopyala (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.

DüzenHTML Olarak Kopyala

Seçimi, geçerli sözdizim vurgulama ve renk şeması ayarları kullanılarak biçimlendirilmiş HTML olarak kopyalayın.

DüzenYapıştır (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.

DüzenSeçimi Yapıştı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.

DüzenPano İçeriği ile Değiştir

Bu, seçili metni pano içeriğiyle değiştirecektir.

DüzenPano Geçmişini Yapıştır

Bu, pano geçmişinden bir girdiyi seçip yapıştırmak için bir iletişim kutusu açacaktır.

DüzenGiriş Kipleri

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.

DüzenÜzerine Yazma Kipi (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.

DüzenSaltokunur Kip

Geçerli belgeyi saltokunur kipe ayarlayın. Bu, herhangi bir metin eklenmesini ve belge biçimindeki herhangi bir değişikliği önler.

DüzenBul... (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.

DüzenBenzerlerini BulSonrakini Bul (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.

DüzenBenzerlerini BulÖncekini Bul (Ü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.

DüzenBenzerlerini BulSeçiliyi Bul (Kontrol+H)

Seçili metnin bir sonraki oluşunu bulur.

DüzenBenzerlerini BulSeçiliyi Geriye Doğru Bul (Kontrol+Üst Karakter+H)

Seçili metnin bir önceki oluşunu bulur.

DüzenDeğiştir... (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 Ekle... 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 Değiştir düğmesini veya tüm belgedeki arama metnini değiştirmek için Tümünü Değiştir 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.

Seçim Menüsü

Seçim Menüsü

SeçimTümünü Seç (Kontrol+A)

Bu, belgenin tamamını seçer. Bu, dosyanın tümünü başka bir uygulamaya kopyalamak için çok yararlı olabilir.

SeçimSeçimi Kaldır (Kontrol+Üst Karakter+A)

Varsa düzenleyicide seçili metnin seçimini kaldırır.

SeçimBlok Seçim Kipi (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.

SeçimYorum (Kontrol+D)

Bu imlecin konumlandığı satırın veya seçili satırların bir satır üstüne bir boşluk ekler.

SeçimYorumları Kaldır (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.

SeçimSatırları Birbirine Kat (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.

SeçimBüyük Harfe Çevir (Kontrol+Seçenek+U)

Seçili metni veya geçerli sözcüğü BÜYÜK harfle yazın.

SeçimBüyük Harf (Kontrol+U)

Seçili metni veya imleçten sonraki harfi BÜYÜK harf yapın.

SeçimKüçük Harf (Kontrol+Üst Karakter+U)

Seçili metni veya imleçten sonraki harfi küçük harf yapın.

SeçimGirintilemeyi Temizle

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.

SeçimGirintilemeyi Biçimlendir

Belgedeki girintileme kipini ve girintileme ayarlarını kullanarak geçerli satırın veya seçili satırların yeniden hizalanmasını sağlar.

SeçimŞuna Göre Hizala...

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.

SeçimSözcük Kaydırmayı Uygula

Tüm belgeye durağan sözcük kaydırma uygulayın. Bu, geçerli satır AyarlarDüzenleyiciyi Yapılandı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.

Seçimİmlecin Üstüne Ek İmleç Ekle (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.

Seçimİmlecin Altına Ek İmleç Ekle (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çimSatır Sonlarına İmleçler Ekle (Seçenek+Üst Karakter+I)

Seçili olan her satıra bir imleç ekler.

SeçimSonraki Oluşu Bul ve Seç (Seçenek+J)

İmlecin altında bulunan sözcüğün bir sonraki oluşunu bulur, onu seçer ve bir imleç ekler.

SeçimTüm Oluşları Bul ve Seç (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.

Görünüm Menüsü

Görünüm Menüsü

GörünümYazıtipini Büyüt (Kontrol++)

Bu, görüntü yazıtipi boyutunu artırır.

GörünümYazıtipini Küçült (Kontrol+-)

Bu, görüntü yazıtipi boyutunu azaltır.

GörünümSözcük KaydırmaDevingen Sözcük Kaydırma (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.

GörünümSözcük KaydırmaDevingen Sözcük Kaydırma Göstergeleri

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.

GörünümSözcük KaydırmaDurağan Sözcük Kaydırma İmleyicisini Göster

Bu seçenek işaretlenirse AyarlarDüzenleyiciyi Yapılandır... 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.

GörünümKenarlıklarSimge Kenarlığını Göster (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.

GörünümKenarlıklarSatır Numaralarını Göster (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).

GörünümKenarlıklarSarma Çubuğu İmlerini Göster

Bu seçenek işaretlenirse görünüm dikey sarma çubuğunda imler gösterilir. İmler, Simge Kenarlığı üzerindeki imlerle eşdeğerdir.

GörünümKenarlıklarSarma Çubuğu Mini Haritasını Göster

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.

GörünümKod Katlama

Bu seçenekler, kod katlamayla ilgilidir:

GörünümKenarlıklarKod KatlamaKatlama İmlerini Göster

Görünümün sol tarafındaki katlama imleyicileri bölmesinin görüntülenmesini açar/kapatır.

GörünümKod KatlamaGeçerli Düğümü Katla

İmleci içeren bölgeyi daraltın.

GörünümKod KatlamaGeçerli Düğümü Aç

İmleci içeren bölgeyi genişletin.

GörünümKod KatlamaEn Üst Düzey Düğümleri Katla (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.

GörünümKod KatlamaEn Üst Düzey Düğümleri Aç (Kontrol+Üst Karakter++)

Belgedeki tüm üst düzey bölgeleri genişletin.

Yazdırılmayacak Boşlukları Göster

Yazdırılamayacak alanların çevresindeki sınırlayıcı kutuyu gösterin/gizleyin.

Git Menüsü

Git Menüsü

GitSatıra Git... (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.

GitÖnceki Düzenleme Konumuna Git (Kontrol+E)

Bu eylem, çoklu imleç yapılandırmasındaki bir önceki düzenleme satırına atlar.

GitSonraki Düzenleme Konumuna Git (Kontrol+Üst Karakter+E)

Bu eylem, çoklu imleç yapılandırmasındaki bir sonraki düzenleme satırına atlar.

GitÖnceki Değiştirilen Satıra Git

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.

GitSonraki Değiştirilen Satıra Git

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.

GitAyracın Eşine Git (Kontrol+6)

İmleci ilgili açılış veya kapanış ayracına taşıyın.

GitAyracın Eşine Kadar Seç (Kontrol+Üst Karakter+6)

İlgili açılış ve kapanış ayraçları arasındaki metni seçer.

GitYer İmleri (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.

GitYer İmleriYer İmi Koy (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.)

GitYer İmleriTüm Yer İmlerini Temizle

Bu komut, belgedeki tüm imleyicilerin yanı sıra bu menü ögesinin altına eklenen imleyiciler listesini de kaldıracaktır.

GitYer İmleriÖnceki (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.

GitYer İmleriSonraki (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.

Araçlar Menüsü

Araçlar Menüsü

AraçlarKip

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 AyarlarDüzenleyiciyi Yapılandır... bölümünde ayarlanan global dosya türü kipinin üzerine yazar.

AraçlarVurgulama

Etkin belge için tercih ettiğiniz vurgulama şemasını seçin. Bu, yalnızca geçerli belgeniz için AyarlarDüzenleyiciyi Yapılandır... iletişim kutusunda ayarlanan global vurgulama kipinin üzerine yazar.

AraçlarGirintileme

Etkin belge için tercih ettiğiniz girintileme biçemini seçin. Bu, yalnızca geçerli belgeniz için AyarlarDüzenleyiciyi Yapılandır... iletişim kutusunda ayarlanan global girintileme kipinin üzerine yazar.

AraçlarKodlama

AyarlarDüzenleyiciyi Yapılandır... 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.

AraçlarBayt Sırası İmi (BOM) Ekle

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.

AraçlarSatır Sonu

Etkin belgeniz için tercih ettiğiniz satır sonu kipini seçin. Bu, AyarlarDüzenleyiciyi Yapılandır... bölümünden ayarlanan global satır sonu kipini yalnızca geçerli belgeniz için geçersiz kılar.

AraçlarBetikler

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.

AraçlarBetiklerDolaşım
AraçlarBetiklerDolaşımİmleci Önceki Eşleşen Girintiye Taşı (Seçenek+Üst Karakter+Yukarı Ok)

İmleci geçerli satırın üzerindeki, geçerli satırla aynı düzeyde girintili olan ilk satıra taşır.

AraçlarBetiklerDolaşımİmleci Sonraki Eşleşen Girintiye Taşı (Seçenek+Üst Karakter+Yukarı Ok)

İmleci geçerli satırın altındaki, geçerli satırla aynı düzeyde girintili olan ilk satıra taşır.

AraçlarBetiklerDüzenleme
AraçlarBetiklerEditingSeçili Metni Sırala

Seçili metni veya tüm belgeyi artan sırada sıralar.

AraçlarBetiklerDüzenlemeSatırları Aşağı Taşı (Kontrol+Üst Karakter+Aşağı Ok)

Seçili satırları aşağı taşıyın.

AraçlarBetiklerDüzenlemeSatırları Yukarı Taşı (Kontrol+Üst Karakter+Aşağı Ok)

Seçili satırları yukarı taşıyın.

AraçlarBetiklerDüzenlemeSeçili Satırları Aşağıya Çoğalt (Kontrol+Seçenek+Aşağı Ok)

Seçili satırları aşağısında çoğaltır.

AraçlarBetiklerDüzenlemeSeçili Satırları Yukarıya Çoğalt (Kontrol+Seçenek+Aşağı Ok)

Seçili satırları yukarısında çoğaltır.

AraçlarBetiklerDüzenlemeSeçili Metnin URI Kodlamasını Yap

Seçili metni, seçimi kodlanmış metinle değiştirerek, bir URL'deki sorgu dizisinin parçası olarak kullanılabilecek şekilde kodlar.

AraçlarBetiklerDüzenlemeSeçili Metnin URI Kodunu Çöz

Bir URL'nin sorgu dizisinin bir kısmı seçilirse bu, onun kodunu çözer ve seçimi özgün ham metinle değiştirir.

AraçlarBetiklerEmmet
AraçlarBetiklerEmmetKısaltmayı Genişlet

Seçili metni bir çift açılış ve kapanış HTML veya XML etiketlerine dönüştürür. Örneğin, div seçiliyse bu öge onu <div></div> ile değiştirir.

AraçlarBetiklerEmmetEtiketle Sar

Seçili metni komut satırında sağlanan etiketle çevreler.

AraçlarBetiklerEmmetİmleci Eşleşen Etikete Taşı

İ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.

AraçlarBetiklerEmmetHTML/XML Etiket İçeriğini İçe Doğru Seç

İ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.

AraçlarBetiklerEmmetHTML/XML Etiket İçeriğini Dışa Doğru Seç

İ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.

AraçlarBetiklerEmmetYorum/Yorumları Kaldır

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.

AraçlarBetiklerEmmetİmleç Altındaki Etiketi Sil

İmleç bir HTML/XML etiketi içindeyse bu öge tüm etiketi siler.

AraçlarBetiklerEmmetSayıyı 1 Azalt

Bu öge bir sayıysa o anda seçili olan metinden 1 çıkarır. Örneğin, 5 seçiliyse 4 olur.

AraçlarBetiklerEmmetSayıyı 10 Azalt

Bu öge bir sayıysa o anda seçili olan metinden 10 çıkarır. Örneğin, 15 seçiliyse 5 olur.

AraçlarBetiklerEmmetSayıyı 0,1 Azalt

Bu öge bir sayıysa o anda seçili olan metinden 0,1 çıkarır. Örneğin, 4,5 seçiliyse 4,4 olur.

AraçlarBetiklerEmmetSayıyı 1 Artır

Bu öge bir sayıysa o anda seçili olan metne 1 ekler. Örneğin, 5 seçiliyse 6 olur.

AraçlarBetiklerEmmetSayıyı 10 Artır

Bu öge bir sayıysa o anda seçili olan metne 10 ekler. Örneğin, 5 seçiliyse 15 olur.

AraçlarBetiklerEmmetSayıyı 0,1 Artır

Bu öge bir sayıysa o anda seçili olan metne 0,1 ekler. Örneğin, 4,5 seçiliyse 4,6 olur.

AraçlarKomut Satırına Geç (F7)

Pencerenin altında KatePart komut satırını görüntüler. Yardım almak için help ve komutların bir listesini almak için help list komutları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.

AraçlarKod Tamamlamayı Başlat (Kontrol+Boşluk)

Genellikle bu eyleme bağlı bir kısayol kullanarak komut tamamlamayı elle çağırın.

AraçlarSözcük Tamamlama

Aşağıdaki Sözcüğü Yeniden Kullan (Kontrol+9) ve Yukarıdaki Sözcüğü Yeniden Kullan (Kontrol+8) şu anda girilen sözcüğü, imlecin önünden veya arkasından benzer sözcükleri arayarak tamamlamaya çalışır. Kabuk Tamamlama, eşleşen girdilerle bir tamamlama kutusu açar.

AraçlarYazım DenetimiKendiliğinden Yazım Denetimi (Kontrol+Üst Karakter+O)

Kendiliğinden Yazım Denetimi etkinleştirildiğinde, yanlış yazılan sözcüklerin altı anında çizilir.

AraçlarYazım DenetimiYazım Denetimi...

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:

Sözlüğe Ekle

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.

Değiştir

Bu düğme, denetleyicinin belgede incelenen sözcüğü Şununla değiştir kutusundaki sözcükle değiştirmesini sağlar.

Tümünü Değiştir

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.

Yok Say

Bu düğmeyi etkinleştirmek, denetçinin herhangi bir değişiklik yapmadan sürdürmesini sağlar.

Tümünü Yok Say

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:

Yardım

Bu, bu iletişim kutusunun yardım sayfasıyla birlikte KDE yardım sistemini çağırır.

Bitti

Bu düğme, yazım denetim sürecini bitirerek belgeye geri döner.

İptal

Bu düğme, yazım denetim sürecini iptal eder, tüm değişiklikler geri alınır ve belgeye geri dönersiniz.

AraçlarYazım DenetimiYazım Denetimi (İmleçten Sonra)...

Bu, yazım denetimi programını belgenin başlangıcı yerine imlecinizin bulunduğu yerden başlatır.

AraçlarYazım DenetimiSeçimin Yazımını Denetle...

Geçerli seçimin yazımını denetler.

AraçlarYazım DenetimiSözlüğü Değiştir

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.

Ayarlar ve Yardım Menüsü

Ayarlar ve Yardım Menüsü

AyarlarDüzenleyici Renk Teması

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 Ayarlar ve Yardım menü ögelerine sahiptir; daha fazla bilgi için KDE Temelleri’nin Ayarlar Menüsü ve Yardım Menüsü bölümlerini okuyun.

Bölüm 5. Gelişmiş Düzenleme Araçları

Bölüm 5. Gelişmiş Düzenleme Araçları

Anders Lund

Dominik Haumann

Çeviri: İşbaran Akçayır
Çeviri: Emir SARI

Yorum/Yorumları Kaldır

Araçlar menüsünde bulunan Yorum ve Yorumları Kaldır 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 AraçlarYorum menü ögesini veya ilgili klavye kısayolu dizisini kullanın; öntanımlı kısayol: Kontrol+D.

Yorum imleyicilerini kaldırmak için AraçlarYorumları Kaldır menü ögesini veya ilgili klavye kısayolu dizisini kullanın; öntanımlı kısayol: Kontrol+Üst Karakter+D.

Düzenleyici Bileşeni Komut Satırı

Düzenleyici Bileşeni Komut Satırı

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 GörünümKomut Satırına Geç ö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.

Standart Komut Satırı Komutları

Argüman türleri

BOOLE

Bir şeyleri açıp kapatan komutlarla kullanılır. Kullanılabilir değerler şunlardır: on, off, true, false, 1 or 0.

TAMSAYI

Bir tamsayı.

DİZİ

Boşluk içerdiğinde tek tırnak (') veya çift tırnak (") ile çevrelenen bir dizi.

Düzenleyiciyi Yapılandırmak için Komutlar

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ğini ayarlar.

set-indent-width {TAMSAYI genişlik}

Girintileme genişliğini ayarlar. 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ğini ayarlar. 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-width kadar 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-width geniş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-width değerinin yarısına ayarlanır.

set-word-wrap {BOOLE etkinleştir}

enable değ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 ad olarak ayarlar. ad bilinmiyorsa 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, AraçlarVurgulama 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ün düğme sıralamasını eşlemlenen sıralamasına eşlemler.

Düzenleme için komutlar

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}

dizgi ile eşleşen metni değişim ile değiştirir. dizgi'de boşlukları içermek isterseniz hem dizgi hem değişim değişkenlerini tek veya çift tırnak içine almalısınız. Argümanlar tırnak içinde değilse ilk sözcük dizgi ve geri kalanı değişim olarak kullanılır. Eğer değişim boşsa her bir dizgi oluş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şim formunu vererek bayrakları ayarlayabilirsiniz. Kullanılabilir seçenekler şunlardır:

b

Geriye doğru arayın.

c

İmleç konumundan itibaren arayın.

e

Yalnızca seçimde arayın.

r

Düzenli ifade araması yapın. Ayarlıysa N değiştirme dizisindeki yakalamaları temsil etmek üzere bir numara olması için \N kullanabilirsiniz.

s

BÜYÜK/küçük harf duyarlı arama yapın.

p

Sonraki oluşu değiştirmek için izin isteyin.

w

Yalnızca tam sözcüklerle eşleştirin.

date {DİZİ biçim}

Tanımlı biçim veya yoksa yyyy-MM-dd hh:mm:ss biçimi ile bir tarih/zaman dizisi ekler. biçim yorumlanı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 Tamam'a basın.

Örnek 5.1. char örnekleri

Girdi: char:234

Çıktı: ê

Girdi: char:0x1234

Çıktı:


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 \2 olarak 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 i koyarsanız eşleştirme BÜYÜK/küçük harfe duyarlı olmayacaktır. Eğer sona bir g koyarsanı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ım sınıfının tanımlanmadığını söyleyerek durdu.

"Tüh!", tabii ki Sınıfım olması gerek diye düşündünüz. 3902. satıra gittiniz ve metinde sözcüğü bulmak yerine Düzenleme Komutu iletişim kutusunu açarak s/sınıfım/Sınıfım/i yazdınız ve Tamam 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 const anahtar 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/g yazarak Tamam düğmesine tıklayın. İfadenin sonundaki g geriye 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 \w karakter 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, a2 sonucunu verir

natsort(a10, a1, a2), a1, a2, a10 sonucunu verir


moveLinesDown

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.

Dolaşım için komutlar

goto {TAMSAYI satır}

Bu komut, belirtilen satıra gider.

grep {DİZİ dizgi}

Belgeyi, dizgi dü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, DüzenSonrakini Bul 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 dizgi biçimindedir. Aşağıdaki seçenekler desteklenir:

b

Geriye doğru arayın.

c

İmleç konumundan itibaren arayın.

e

Yalnızca seçimde arayın.

r

Düzenli ifade araması yapın. Ayarlıysa N değiştirme dizisindeki yakalamaları temsil etmek üzere bir numara olması için \N kullanabilirsiniz.

s

BÜYÜK/küçük harf duyarlı arama yapın.

w

Yalnı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:

b

Geriye doğru arayın.

r

Düzenli ifade araması yapın.

s

BÜYÜK/küçük harf duyarlı arama yapın.

c

İmleç konumundan itibaren arayın.

Temel Düzenleyici İşlevleri için Komutlar (Bunlar düzenleyici bileşenin kullanıldığı uygulamaya göre değişir)

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 Katlamayı Kullanmak

Kod Katlamayı Kullanmak

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 GörünümKatlama İmleyicilerini Göster 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.

Bölüm 6. KatePart'ı genişletmek

Bölüm 6. KatePart'ı genişletmek

T.C. Hollingsworth

Çeviri: Emir SARI

Giriş

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 ile çalışmak

Sözdizim Vurgulama ile çalışmak

Genel Bakış

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.

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

Aynı C++ işlevi, vurgulama olmadan.

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 AraçlarVurgulama 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.

KatePart Sözdizim Vurgulama Sistemi

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.

Nasıl Çalışır

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.

Kurallar

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.

Bağlam Biçemleri ve Anahtar Sözcükler

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.

Öntanımlı Biçemler

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.

XML Vurgu Tanımı Biçimi

Genel Bakış

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 $HOME/.local/share/ ve /usr/share/ olan qtpaths --paths GenericDataLocation ile org.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 $HOME/.var/app/flatpak-package-name/data/org.kde.syntax-highlighting/syntax/ olup Snap uygulamalarında ise $HOME/snap/snap-package-name/current/.local/share/org.kde.syntax-highlighting/syntax/ olur.

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$HOME/.local/share/org.kde.syntax-highlighting/syntax/
Tüm kullanıcılar için/usr/share/org.kde.syntax-highlighting/syntax/
Flatpak paketleri için$HOME/.var/app/flatpak-package-name/data/org.kde.syntax-highlighting/syntax/
Snap paketleri için$HOME/snap/snap-package-name/current/.local/share/org.kde.syntax-highlighting/syntax/
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" gibi

version, 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 ve required-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 zorunlu contexts ve itemDatas ö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. IncludeRules kuralı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, itemData Normal 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="&quot;" />
      </context>
      <context attribute="String" lineEndContext="#stay" name="string" >
        <DetectChar attribute="String" context="#pop" char="&quot;" />
      </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 general bölümüdür. Anahtar sözcükler, kod katlama, yorumlar, girintileme, boş satırlar ve yazım denetim üzerine bilgiler içerir.

comment bö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.

keywords bö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, emptyLines ve spellchecking bö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>

Ayrıntılı Olarak Bölümler

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, contexts grubuna 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 #stay veya bağlamdan çıkış yapmak için #pop olabilir. Örneğin, üç kez #pop#pop#pop yapmak veya hatta iki kez #pop#pop!OtherContext ve OtherContext adlı 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, IncludeRules kuralları 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 sistemin fallthroughContext içinde belirtilen geçiş yapacağı bağlamı belirtir. KDE Frameworks 5.62 sürümünden bu yana bu özniteliğin fallthroughContext namına kullanımdan kaldırıldığını aklınızdan çıkarmayın. Özellikle, fallthroughContext özniteliği varsa örtük olarak fallthrough değ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, itemDatas grubundadı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.

italic true ise metin yatık olur.

bold true ise metin kalın olur.

underline true ise metnin altı çizili olur.

strikeOut true ise metnin üzeri çizili olur.

spellChecking true ise metnin yazımı denetlenir.

general grubundaki keywords ö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. list iç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').

comments grubundaki comment ögesi; AraçlarYorum, AraçlarYorumu Kapat ve AraçlarYorumu Aç/Kapat 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.

general grubundaki folding ögesi, kod katlama özelliklerini tanımlar. Kullanılabilir öznitelikler şunlardır:

indentationsensitive true 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.

emptyLines grubundaki emptyLine ö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.

spellchecking grubundaki encoding ö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.

Kullanılabilir Öntanımlı Biçemler

Ö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.

Vurgu Algılama Kuralları

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 #stay ile eşdeğerdir.

    Daha çok adım geri gitmek için #pop anahtar sözcüğü yinelenebilir: #pop#pop#pop

  • Bir ü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, IncludeRules kuralları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 gruplar kullanı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ı, %N yerine \N kullanı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, &quot;+ 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:]])(&quot;+)"/>
</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-]*)(?:&lt;[\w\-\s]*&gt;)?(\()"/>
</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.

Ayrıntılı Olarak Kurallar

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, char1 ise ikincisini tanımlar.

Bu kural tarihsel nedenlerden dolayı buradadır; okunabilirlik açısından StringDetect kullanı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>\b gibi düşünün; ancak RegExpr kuralı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, char1 ise 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="\"] />

char isteğ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.

İpuçları ve Kolaylıklar

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ğiyle DetectChar kullanabilirsiniz. column özniteliği karakterleri sayar, bu nedenle, sekme karakteri yalnızca bir karakter olarak geçer.

  • RegExpr kurallarında, ^PATTERN dizgisi satırın başındaki metni eşleştirmek için kullanılacaksa column="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 ve lookAhead ö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 DetectSpaces kullanın.

  • '[a-zA-Z_]\w*' düzenli ifadesi yerine DetectIdentifier kullanı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.sh dosyası, her ikisi de Sözdizim Vurgulaması deposunda bulunabilen language.xsd dosyaları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ümlerde kate-syntax-highlighter) adlı komut satırı izlencesini kullanabilirsiniz.

    ksyntaxhighlighter6 --output-format=ansi --syntax-trace=format test.cpp sonucu.

    ksyntaxhighlighter6 --output-format=ansi --syntax-trace=format test.cpp sonucu.

    Daha çok seçenek için ksyntaxhighlighter6 -h kullanın.

Renk Temalarıyla Çalışmak

Renk Temalarıyla Çalışmak

Genel Bakış

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ında tanımlıdır. Bu alana, Sistem Ayarları içindeki Renkler modülünde veya uygulamanın kendisinde AyarlarRenk Şeması ögesinden ulaşılabilir.

“C++” sözdizim vurgulamasında “Esinti Açık” ve “Esinti Koyu” renk temaları.

C++ sözdizim vurgulamasında Esinti Açık ve Esinti Koyu renk temaları.

KSyntaxHighlighting 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ı.

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 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çimi

Genel Bakış

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 --paths GenericDataLocation komutuyla bulabilirsiniz ve genellikle $HOME/.local/share/ ve /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 $HOME/.var/app/flatpak-paketi-adı/data/org.kde.syntax-highlighting/themes/ ve bir Snap uygulamasında ise $HOME/snap/snap-paketi-adı/current/.local/share/org.kde.syntax-highlighting/themes/ olarak kullanılır.

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$HOME/.local/share/org.kde.syntax-highlighting/themes/
Tüm kullanıcılar için/usr/share/org.kde.syntax-highlighting/themes/
Flatpak paketleri için$HOME/.var/app/flatpak-paketi-adı/data/org.kde.syntax-highlighting/themes/
Snap paketleri için$HOME/snap/snap-paketi-adı/current/.local/share/org.kde.syntax-highlighting/themes/
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.

JSON Yapısı

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 Ana Bölümleri

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, Python veya Markdown vurgulama tanımlarında, text-styles iç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"
            }
        }
    }
}

Üst Veri

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ınan SPDX-License-Identifier tanı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ınan SPDX-License-Identifier tanı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"
}

Ayrıntılarla Renkler

Bu bölüm, tüm kullanılabilir renk özniteliklerini ve ayarlarını ayrıntılandırır.

Düzenleyici Renkleri

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

Ö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ğer false'tur.

italic: Metnin yatık olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değer false'tur.

underline: Metnin altı çizili olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değer false'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ğer false'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ı $foo dizgisine 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 @override veya 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 belgelerindeki r'\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çindeki foobar gibi.

RegionMarker (Bölge İmleyicisi): Genellikle yorumlarda //BEGIN ve //END ile tanımlanan bölge imleyicilerine yönelik metin biçemi.

Information: Bilgi, notlar ve ipuçları için metin biçemi; örneğin, Doxygen @note anahtar sözcüğü gibi.

Warning: Uyarılar için metin biçemi; örneğin, Doxygen’deki @warning anahtar sözcüğü gibi.

Alert: Yorumlardaki özel sözcükler için metin biçemi; örneğin, TODO, FIXME, XXXX ve WARNING.

Ç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.

Özel Vurgulama Metin Biçemleri

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ı Grafik Arayüzü

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 AyarlarUygulama Uygulamasını Yapılandır... 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.

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 Uygula veya Tamam 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 AyarlarRenk Teması menüsünden bireysel olarak değiştirebilirsiniz.

Yeni bir tema oluştur

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 Kopyala'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.

JSON tema dosyalarını içe/dışa aktar

Seçili bir temayı (yerleşik olanları da) bir JSON dosyasına .theme uzantısıyla Dışa Aktar 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 İçe Aktar 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 .theme dosyası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.

Renk temalarını düzenlemek

Renkler

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

Ö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.

Metin Vurgulama Biçemleri

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.

İpuçları ve Kolaylıklar

Metin Renklerinin Karşıtlığı

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).

Sözdizim Vurgulamada Tutarlılık Önerileri

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.

JavaScript ile betik yazımı

JavaScript ile betik yazımı

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

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 $XDG_DATA_HOME/katepart5/script/indentation klasöründe yeni bir *.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\\user olarak genişleyen %USERPROFILE%\AppData\Local\katepart5\script\indentation. %USERPROFILE% konumundadır.

Girintileme Betiği Üstbilgisi

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, AraçlarGirintileme 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 belirtilen biçem ile 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.js ve ruby.xml dosyaları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.

Girintileyici Kaynak Kodu

Ü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. AraçlarGirintilemeyi Biçimlendir, 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ır

  • indentWidth: Boşluk türünden girintileme genişliği

  • ch: Ya bir yenisatır karakteri (ch == ’\n’) ya triggerCharacters içinde belirtilen tetikleyici karakter ya da kullanıcı AraçlarGirintilemeyi Biçimlendir 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 yapma

  • return 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 $XDG_DATA_DIRS/katepart5/script/indentation konumunda bulunabilir.

Windows®'ta bu dosyalar genelde C:\\Users\\user olarak genişleyen %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.

Komut Satırı Betikleri

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 $XDG_DATA_HOME/katepart5/script/commands klasöründe yeni bir *.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\\user olarak genişleyen %USERPROFILE%\AppData\Local\katepart5\script\commands. %USERPROFILE% konumundadır.

Komut Satırı Betik Üstbilgisi

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.

Betik Kaynak Kodu

Ü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.

Kısayolları Bağıntılamak

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]: AraçlarBetikler 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, true olarak ayarlayın.

Yararlı betikler geliştiriyorsanız KatePart uygulamasına katkıda bulunmayı düşünün. Geliştirmelerinizi posta listesine gönderin.

Betik Yazımı API’si

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ı, $XDG_DATA_DIRS/katepart5/libraries içindeki kitaplık dosyaları tarafından sağlanırlar. Document 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 $XDG_DATA_HOME/katepart5/libraries içinde yeni bir dosya oluşturun ve onu betiğinizde şunu kullanarak içerin:

require ("benimbetiğiminadıburaya.js");

Windows®'ta bu dosyalar genelde C:\\Users\\user olarak genişleyen %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.

İmleçler ve Erimler

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.

İmleç Prototipi
Cursor();

Yapıcı. (0, 0) konumunda bir imleç döndürür.

Örnek: var cursor = new Cursor();

Cursor(int satır, int sütun);

Yapıcı. Belirli bir konumda (satır, sütun) bir imleç döndürür.

Örnek: var cursor = new Cursor(3, 42);

Cursor(Cursor diğer);

Yapıcıyı kopyala. diğer imlecinin 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ır, int sütun);

İmleç konumunu satır ve sütun olarak 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 -1 olarak 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ğer);

Bu imleci diğer imleç ile karşılaştırır. İmleç,

  • diğer imlecinden önce konumlandırılmışsa -1,

  • her iki imleç de eşitse 0 ve

  • bu imleç other imlecinden önce geliyorsa +1 döndürür.

bool Cursor.equals(Cursor diğer);

Bu imleç ve diğer imleç eşitse true, aksi takdirde false döndürür.

String Cursor.toString();

İmleci, Cursor(satır, sütun) biçiminde bir dizi olarak döndürür.

Erim Prototipi
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(başlangıç, bitiş) çağırmak, (başlangıç, bitiş) erimini döndürür.

Range(int başlangıçSatırı, int başlangıçSütunu, int bitişSatırı, int bitişSütunu);

Yapıcı. new Range(başlangıçSatırı, başlangıçSütunu, bitişSatırı, bitişSütunu) çağırmak, (başlangıçSatırı, başlangıçSütunu) değerlerini (bitişSatırı, bitişSütunu) olarak döndürür.

Range(Range diğer);

Yapıcıyı kopyala. diğer eriminin 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 true dö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 takdirde false dö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 takdirde false döndürür.

bool Range.contains(Range diğer);

Eğer bu erim diğer erimini içeriyorsa true, aksi takdirde false döndürür.

bool Range.containsColumn(int sütun);

sütun, yarı açık [başlangıç.sütun, bitiş.sütun) aralığındaysa true, aksi takdirde false döndürür.

bool Range.containsLine(int satır);

satır, yarı açık [başlangıç.satır, bitiş.satır) aralığındaysa true, aksi takdirde false döndürür.

bool Range.overlaps(Range diğer);

Bu erim ve diğer erimi ortak bir bölge paylaşıyorlarsa true, aksi takdirde false döndürür.

bool Range.overlapsLine(int satır);

satır, [başlangıç.satır, bitiş.satır) aralığındaysa true, aksi takdirde false döndürür.

bool Range.overlapsColumn(int sütun);

sütun, [başlangıç.sütun, bitiş.sütun) aralığındaysa true, aksi takdirde false döndürür.

bool Range.onSingleLine();

Erim aynı satırda başlıyor ve bitiyorsa true döndürür; başka bir deyişle, Range.start.line == Range.end.line ise.

Eklendiği sürüm: KDE 4.9

bool Range.equals(Range diğer);

Eğer bu erim ve diğer erimi eşitse true, aksi takdirde false döndürür.

String Range.toString();

Erimi, Cursor(satır, sütun) biçiminde bir dizi olarak döndürür.

Global İşlevler

Bu bölüm, tüm global işlevleri listeler.

Dosyaları Okumak ve İçermek
String read(String dosya);

Verilen dosya'yı katepart5/script/files dizinine göreceli olarak arar ve içeriğini bir dizi olarak döndürür.

void require(String dosya);

Verilen dosya'yı katepart5/script/libraries dizinine 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

Hata Ayıklama
void debug(String metin);

metin'i, uygulamayı başlatan konsolda stdout'a yazdırır.

Çeviri

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 metin, arg1, ...);

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ğlam, String metin, arg1, ...);

metin'i, uygulama tarafından kullanılan dile çevirir. Ek olarak, bağlam metni ç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 tekil, String çoğul, int sayı, arg1, ...);

tekil veya çoğul varyantları, verilen sayı'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ğlam, String tekil, String çoğul, int sayı, arg1, ...);

tekil veya çoğul varyantları, verilen sayı'ya bağlı olarak uygulama tarafından kullanılan dile çevirir. Ek olarak, bağlam metni ç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.

Görünüm API’si

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/kopyala ayarlı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/kopyala ayarlı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ır, int sütun);
void view.setCursorPosition(Cursor 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ır, int sütun);
void view.setVirtualCursorPosition(Cursor 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 true değerini, aksi takdirde false değ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 erim);

Seç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 takdirde false döndürür.

void view.align(Range erim);

Geçerli girintileme ayarlarına göre erim'i düzgünce yeniden girintile.

void view.alignOn(Range erim, String dizgi = "");

Düzenli ifade dizgi verdiği sütundaki erim'deki satırları hizalar. Boş bir dizgi ile ö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 komut,
                           String argümanlar,
                           Range erim);

komut komut satırı komutunu isteğe bağlı argümanlar ve erim ile yürütür. Döndürülen nesne'nin komut yürütmesinin başarılı olup olmadığını söyleyen bir object.ok Boole değeri vardır. Bir hata durumunda, object.status bir hata iletisi içerir.

Eklendiği sürüm: KDE Frameworks 5.50

Range view.searchText(Range erim,
                      String dizgi,
                      bool backwards = false);

erim'de dizgi'nin ilk oluşunu ara ve eşleşen erimi döndür. İsteğe bağlı Boole değeri backwards true olarak 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

Belge API’si

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-stream MIME 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 konum);

Belgedeki 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 takdirde false dö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ırdan, int sütundan, int satıra, int sütuna);
String document.text(Cursor şuradan, Cursor şuraya);
String document.text(Range erim);

Verilen 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ır);

Verilen metin satırını dizi olarak döndürür. İstenen satır erim dışıysa dizi boştur.

String document.wordAt(int satır, int sütun);
String document.wordAt(Cursor imleç);

Verilen imleç konumundaki sözcüğü döndürür.

Range document.wordRangeAt(int satır, int sütun);
Range document.wordRangeAt(Cursor 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ır, int sütun);
String document.charAt(Cursor imleç);

Verilen imleç konumundaki karakteri döndürür.

String document.firstChar(int satır);

Verilen satırdaki boş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ır);

Verilen satırdaki boş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ır, int sütun);
bool document.isSpace(Cursor imleç);

Verilen imleç konumundaki karakter boşluksa true, aksi takdirde false döndürür.

bool document.matchesAt(int satır, int sütun, String metin);
bool document.matchesAt(Cursor imleç, String metin);

Verilen metin ilgili imleç konumunda eşleşiyorsa true, aksi takdirde false döndürür.

bool document.startsWith(int satır, String metin, bool skipWhiteSpaces);

Satır metin ile başlıyorsa true, aksi takdirde false döndürür. skipWhiteSpaces argümanı, baştaki boşlukların yok sayılıp sayılmayacağını denetler.

bool document.endsWith(int satır, String metin, bool skipWhiteSpaces);

Satır metin ile bitiyorsa true, aksi takdirde false döndürür. skipWhiteSpaces argümanı, sondaki boşlukların yok sayılıp sayılmayacağını denetler.

bool document.setText(String metin);

Tüm belge metnini ayarlar.

bool document.clear();

Belgedeki tüm metni kaldırır.

bool document.truncate(int satır, int sütun);
bool document.truncate(Cursor 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ğilse false döndürür.

bool document.insertText(int satır, int sütun, String metin);
bool document.insertText(Cursor imleç, String metin);

Verilen imleç konumunda metin metnini ekler. Başarı durumunda true, belge saltokunur kipteyse false döndürür.

bool document.removeText(int satırdan, int sütundan, int satıra, int sütuna);
bool document.removeText(Cursor şuradan, Cursor şuraya);
bool document.removeText(Range erim);

Verilen erimdeki metni kaldırır. Başarı durumunda true, belge saltokunur kipteyse false döndürür.

bool document.insertLine(int satır, String metin);

Verilen satırda metin ekler. Başarı durumunda true, belge saltokunur kipteyse veya satır belge eriminde değilse false döndürür.

bool document.removeLine(int satır);

Verilen metin satırını kaldırır. Başarı durumunda true, belge saltokunur kipteyse veya satır belge eriminde değilse false döndürür.

bool document.wrapLine(int satır, int sütun);
bool document.wrapLine(Cursor imleç);

Verilen imleç konumunda satırı kaydırır. Başarı durumunda true, aksi takdirde; örneğin, satır < 0 ise false dö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ı konumundan bitiş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ır);

satır şu anda kaydedilmemiş veri içeriyorsa true döndürür.

Eklendiği sürüm: KDE 5.0

bool document.isLineSaved(int satır);

line değiştirildi ve belge kaydedildiyse true dö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ır);

line içinde şu anda kaydedilmemiş veri varsa veya daha önce değiştirildiyse true döndürür.

Eklendiği sürüm: KDE 5.0

bool document.findTouchedLine(int başlangıçSatırı, bool aşağı);

line konumundan başlayan sonraki dokunulmuş satırı arar. Arama, down iç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ır);

satı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 de editBegin() 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şle editBegin() işlevinin ilk çağrısı için olan) düzenleme adımını bitirir.

int document.firstColumn(int satır);

Verilen satır'daki ilk boşluk olmayan sütunu döndürür. Satırda yalnızca boşluklar varsa -1 döndürülür.

int document.lastColumn(int satır);

Verilen satır'daki son boşluk olmayan sütunu döndürür. Satırda yalnızca boşluklar varsa -1 döndürülür.

int document.prevNonSpaceColumn(int satır, int sütun);
int document.prevNonSpaceColumn(Cursor 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ır, int sütun);
int document.nextNonSpaceColumn(Cursor 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ır);

Verilen imleç konumundan başlayıp geriye doğru arama yaparak sonraki boş olmayan satırı döndürür.

int document.nextNonEmptyLine(int satır);

Verilen imleç konumundan başlayıp ileriye doğru arama yaparak sonraki boş olmayan satırı döndürür.

bool document.isInWord(String karakter, int öznitelik);

Verilen öznitelik'i içeren karakter bir sözcüğün parçası olabiliyorsa true, aksi takdirde false döndürür.

bool document.canBreakAt(String karakter, int öznitelik);

Verilen öznitelik'i içeren karakter bir satırı kaydırmak için uygunsa true, aksi takdirde false döndürür.

bool document.canComment(int başlangıçÖzniteliği, int bitişÖzniteliği);

Verilen özniteliklerle başlayan ve biten bir erim, yorum olarak imlenebiliyorsa true, aksi takdirde false döndürür.

String document.commentMarker(int öznitelik);

Verilen bir öznitelik için tek satırlık yorumlar için olan yorum imleyicisini döndürür.

String document.commentStart(int öznitelik);

Verilen bir öznitelik için çok satırlık yorum başlangıçı için olan yorum imleyicisini döndürür.

String document.commentEnd(int öznitelik);

Verilen bir öznitelik iç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ır, int sütun);
bool isValidTextPosition(Cursor imleç);

Verilen imleç konumu geçerli bir metin konumundaysa true değ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ır, int sütun);
int document.attribute(Cursor imleç);

Verilen imleç konumundaki özniteliği döndürür.

bool document.isAttribute(int satır, int sütun, int öznitelik);
bool document.isAttribute(Cursor imleç, int öznitelik);

Verilen imleç konumundaki öznitelik attribute ile eşitse true, aksi takdirde false döndürür.

String document.attributeName(int satır, int sütun);
String document.attributeName(Cursor imleç);

Öznitelik adını insanlar tarafından okunabilir metin olarak döndürür. Bu, sözdizim vurgulama dosyalarındaki itemData adına eşittir.

bool document.isAttributeName(int satır, int sütun, String ad);
bool document.isAttributeName(Cursor imleç, String ad);

Belirli bir imleç konumundaki öznitelik adı verilen ad ile eşleşiyorsa true, aksi takdirde false dö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 anahtar, String 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ır);

Verilen satırdaki boşluk olmayan ilk karakterin sanal sütununu veya satır boşsa veya yalnızca boşluk karakterleri içeriyorsa -1 döndürür.

int document.lastVirtualColumn(int satır);

Verilen satırdaki boşluk olmayan son karakterin sanal sütununu veya satır boşsa veya yalnızca boşluk karakterleri içeriyorsa -1 döndürür.

int document.toVirtualColumn(int satır, int sütun);
int document.toVirtualColumn(Cursor imleç);
Cursor document.toVirtualCursor(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ır, int sanalSütun);
int document.fromVirtualColumn(Cursor sanalİmleç);
Cursor document.fromVirtualCursor(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ır, int sütun, Char karakter);
Cursor document.anchor(Cursor imleç, Char karakter);

Verilen 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ır, int sütun, String metin, int öznitelik = -1);
Cursor document.rfind(Cursor imleç, String metin, int öznitelik = -1);

Verilen metni uygun öznitelik ile geriye doğru arayarak bulun. Argüman özniteliği, -1 olarak ayarlanmışsa yok sayılır. Metin bulunamadığında döndürülen imleç geçersizdir.

int document.defStyleNum(int satır, int sütun);
int document.defStyleNum(Cursor imleç);

Verilen imleç konumunda kullanılan öntanımlı biçemi döndürür.

bool document.isCode(int satır, int sütun);
bool document.isCode(Cursor imleç);

Verilen imleç konumundaki öznitelik aşağıdaki biçemlerin tümüne eşit değilse true değerini döndürür: dsComment, dsString, dsRegionMarker, dsChar, dsOthers.

bool document.isComment(int satır, int sütun);
bool document.isComment(Cursor imleç);

İmleç konumundaki karakterin özniteliği dsComment ise true, aksi takdirde false döndürür.

bool document.isString(int satır, int sütun);
bool document.isString(Cursor imleç);

İmleç konumundaki karakterin özniteliği dsString ise true, aksi takdirde false döndürür.

bool document.isRegionMarker(int satır, int sütun);
bool document.isRegionMarker(Cursor imleç);

İmleç konumundaki karakterin özniteliği dsRegionMarker ise true, aksi takdirde false döndürür.

bool document.isChar(int satır, int sütun);
bool document.isChar(Cursor imleç);

İmleç konumundaki karakterin özniteliği dsChar ise true, aksi takdirde false döndürür.

bool document.isOthers(int satır, int sütun);
bool document.isOthers(Cursor imleç);

İmleç konumundaki karakterin özniteliği dsOthers ise true, aksi takdirde false döndürür.

void document.indent(Range erim, int değişiklik);

erim'deki tüm satırları değişiklik sekme kadar veya değişiklik kez girintiler. tabSize boşlukları kullanıcı tercihlerine bağlıdır. değişiklik parametresi negatif olabilir.

Düzenleyici API’si

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 metin);

Panonun içeriğini metin olarak ayarlar. metin, pano geçmişine eklenir.

Eklendiği sürüm: KDE Frameworks 5.50

Bölüm 7. KatePart Yapılandırması

Bölüm 7. KatePart Yapılandırması

Menüden AyarlarUygulama Uygulamasını Yapılandır... 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, Tamam düğmesine basarak geçerli ayarları kabul edip iletişim kutusunu kapatabilir veya işlemi İptal edebilirsiniz. Görünüş, Yazıtipleri ve Renkler, Düzenleme, Aç/Kaydet ve Uzantılar kategorileri aşağıda açıklanmıştır.

Düzenleyici Bileşeni Yapılandırması

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.

Görünüş

Genel

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.

Kenarlıklar

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ü Üzerine gelindiğinde göster ve Her zaman göster 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 Sol Fare Düğmesi ile tıklayın. Belgede kendiliğinden kaydırma yapmak için Sol 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.

Renk Temaları

İ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. Kopyala ve Sil 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.

Düzenleme

Genel

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 AyarlarDüzenleyiciyi Yapılandır... 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. Düzen 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 Orta Fare Düğmesi ile düzenleyici penceresine bir metin yapıştırırsanız KatePart metin imlecini tıklanan konuma taşımayacaktır.

Metinde Dolaşma

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, Sol 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 Sol 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.

Girintileme

Öntanımlı girintileme kipi:

Öntanımlı olarak kullanmak istediğiniz girintileme kipini seçin. Burada, Yok veya Normal kullanmanı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-width ayarı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. Geri Al 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 Girintilemeyi Biçimlendir 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.

Kendiliğinden Tamamlama

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.

Yazım Denetimi

Bu yapılandırma seçenekleri, Yazım Denetleyicisi Sistem Ayarları modülünde açıklanmıştır.

Vi Giriş Kipi

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.

Aç/Kaydet

Genel

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 0 olarak 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.

Gelişmiş

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.

Kipler ve Dosya Türleri

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ü özellikleri

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.

Ad:

Dosya türünün adı ilgili menü ögesinin metni olacaktır. Bu ad AraçlarDosya Türleri 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 AraçlarDosya Türleri 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 Düzenle'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.

Belge Değişkenleriyle Yapılandırmak

Belge Değişkenleriyle Yapılandırmak

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.

KatePart değişkenleri nasıl kullanı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ı.

  • .kateconfig dosyası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

Kullanılabilir Değişkenler

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, mac ve dos olarak üç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, ruby ve xml. 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, - veya 0: Asla satır sonu boşluklarını kaldırmayın.

  • modified, mod, + veya 1: 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, * veya 2: 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.

.kateconfig dosyalarındaki genişletilmiş seçenekler

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.

Bölüm 8. Emeği Geçenler ve Lisans

Bölüm 8. Emeği Geçenler ve Lisans

KatePart ve KWrite Telif hakkı 2001-2014 Kate takımı.

Özgün KWrite temellidir, Telif hakkı 2000 Jochen Wilhelmy

Katkılar:

  • Christoph Cullmann

  • Michael Bartl

  • Phlip

  • Anders Lund

  • Matt Newell

  • Joseph Wenninger

  • Jochen Wilhelmy

  • Michael Koch

  • Christian Gebauer

  • Simon Hausmann

  • Glen Parker

  • Scott Manson

  • John Firebaugh

  • Nibaldo González

KatePart belgelendirmesi, özgün KWrite belgelendirmesi temellidir ve KatePart ile alakalı olacak şekilde değiştirilmiştir.

Özgün KWrite belgelendirmesi, Thad McGinnis tarafından yazılmış, Christian Tibirna tarafından birçok düzeltme almıştır. Lauri Watts tarafından docbook biçimine dönüştürülmüş, Anne-Marie Mahfouf ve Anders Lund tarafından güncellenmiştir

Geçerli KatePart belgelendirmesi bakımı T.C. Hollingsworth tarafından yapılmaktadır. Yorumlarınızı ve önerilerinizi lütfen KatePart geliştirme posta listesine () gönderin veya KDE Hata İzleme Sistemi'nde bir hata kaydı açın.

Çeviri: Kaan Özdinçer

Çeviri: Emir SARI

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.

Bölüm 9. Vi Giriş Kipi

Bölüm 9. Vi Giriş Kipi

Erlend Hamberg

Çeviri: Emir SARI

Vi Giriş Kipi

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 AyarlarKatePart Uygulamasını Yapılandır...+DüzenlemeVi Giriş Kipi 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 Edit menüsündeki Vi Giriş Kipi ö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.

Vim ile uyumsuzluklar

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: U ve 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, AyarlarKatePart Uygulamasını Yapılandır...+DüzenlemeVi Giriş Kipi 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 U komutu, 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.

    :print gibi komutlar yalnızca Vi kipinde değil düzenli KatePart kullanıcıları için de kullanılabilirdir; bu demektir ki :print komutu Vim’in davranışını taklit etmek yerine yazdırma iletişim kutusunu açar.

  • KatePart: Y, satırın sonuna kadar kopyalar.

    Vim: Y tüm satırı kopyalar, tıpkı yy gibi.

    Vi’nin Y komutu davranışı aslında bir hatadır. Değiştir ve sil komutları için cc/ dd girişleri eylemini geçerli satırda yapar ve C/D geçerli imleç sütunundan satırın sonuna kadar çalışır. Ancak hem yy ve Y, geçerli satırı kopyalar. KatePart’in Vi Kipi’nde Y, satırın sonuna kadar kopyalar. Bu, Vim belgelendirmesinde daha mantıklı bir davranış olarak açıklanmıştır.

  • KatePart: O ve o, yeni satırlar [sayı] açar ve sizi ekle kipine koyar.

    Vim: O ve o yeni 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.

Kip Değiştirmek

  • 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 v düğmesine veya satırları seçmek için V düğmesine basabilirsiniz.

  • Ekle Kipi, belgeyi doğrudan düzenlemenize olanak tanır. i düğ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.

Kate özellikleriyle tümleştirme

  • 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 Yer İmleri 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.

Desteklenen normal/görsel kip komutları

a

Ekle Kipi’ne gir, imleçten sonra iliştir

A

Ekle Kipi’ne gir, satırdan sonra iliştir

i

Ekle Kipi’ne gir, imleçten önce ekle

Ekle

Ekle Kipi’ne gir, imleçten önce ekle

I

Ekle Kipi’ne gir, satırdaki ilk boş olmayan karakterden önce ekle

gi

Ekle Kipi’ne gir, son Ekle Kipi’nden çıkış sırasında bırakılan yerden önce ekle

v

Görsel Kip’e gir, karakterler seç

V

Görsel Kip’e gir, satırlar seç

Kontrol+v

Görsel Kip’e gir, bloklar seç

gb

Görsel Kip’e gir, son seçimi yeniden seç

o

Geçerli satırın altında yeni bir satır aç

O

Geçerli satırın üstünde yeni bir satır aç

J

Satırları birbirlerine kat

c

Değiştir: Ardına bir hareket ekle ve Ekle Kipi’ne gir

C

Satır sonuna kadar değiştir: Satırın sonuna kadar sil ve Ekle Kipi’ne gir

cc

Satırı değiştir: Satırı sil ve Ekle Kipi’ne gir

s

Karakteri başkasıyla değiştir

S

Satırı başkasıyla değiştir

dd

Satırı sil

d

Silmek için ardına bir hareket ekle

D

Satır sonuna kadar sil

x

İmlecin sağındaki karakteri sil

Sil

İmlecin sağındaki karakteri sil

X

İmlecin solundaki karakteri sil

gu

Küçük harf yapmak için ardına bir hareket ekle

guu

Geçerli satırı küçük harf yap

gU

BÜYÜK harf yapmak için ardına bir hareket ekle

gUU

Geçerli satırı büyük harf yap

y

Kopyalamak için ardına bir hareket ekle

yy

Satırı kopyala

Y

Satırı kopyala

p

İmleçten sonra yapıştır

P

İmleçten önce yapıştır

]p

İmleç girintilendikten sonra yapıştır

[p

İmleç girintilendikten önce yapıştır

r

İmleçten sonraki karakteri değiştirmek için ardına bir karakter ekle

R

Değiştir Kipi’ne gir

:

Komut Kipi’ne gir

/

Ara

u

Geri al

Kontrol+R

Yinele

U

Yinele

m

İm koy (sonrasında hareketler tarafından kullanılabilir)

n

Sonrakini bul

N

Ö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ı

ga

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, w

Sonraki bölünmüş pencereye geç

Kontrol+W, h

Kontrol+W Sol Ok

Soldaki bölünmüş pencereye geç

Kontrol+W, l

Kontrol+W Sağ Ok

Sağdaki bölünmüş pencereye geç

Kontrol+W, k

Kontrol+W Yukarı Ok

Yukarıdaki bölünmüş pencereye geç

Kontrol+W, j

Kontrol+W Aşağı Ok

Aşağıdaki bölünmüş pencereye geç

Desteklenen hareketler

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.

h

Sol

Sol Ok

Sol

Geri Sil

Sol

j

Aşağı

Aşağı Ok

Aşağı

k

Yukarı

Yukarı Ok

Yukarı

l

Sağ

Sağ Ok

Sağ

Boşluk

Sağ

$

Satır sonu

Son

Satır sonu

0

Satırın ilk karakteri (0. sütun)

Baş

Satırın ilk karakteri

^

Satırın ilk boşluk olmayan karakteri

f

İmlecin sağına gitmek için ardına bir karakter ekle

F

İmlecin soluna gitmek için ardına bir karakter ekle

t

İmleci önceki karaktere yerleştirerek imlecin sağına gitmek için ardına bir karakter ekle

T

İmleci önceki karaktere yerleştirerek imlecin soluna gitmek için ardına bir karakter ekle

gg

İlk satır

G

Son satır

w

Sonraki sözcük

W

Boşlukla ayrılan sonraki sözcük

b

Önceki sözcük

B

Boşlukla ayrılan önceki sözcük

e

Sözcüğün sonu

E

Boşlukla ayrılan sözcük sonu

ge

Önceki sözcüğün sonu

gE

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

H

Ekranın ilk satırına git

M

Ekranın orta satırına git

L

Ekranın son satırına git

%yüzde

Belgenin belirtilen yüzdesine git

gk

Görsel olarak bir satır yukarı git (devingen sözcük kaydırma kullanılırken)

gj

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

Desteklenen metin nesneleri

Bunlar, bir belgenin belirli bölümlerini seçmek için kullanılabilir.

iw

İçteki sözcük: Boşlukla birlikte sözcük

aw

Bir sözcük: Boşluk içermeyen sözcük

i"

Önceki çift tırnaktan (") sonraki çift tırnağa, tırnak işaretleri içerilir

a”

Önceki çift tırnaktan (") sonraki çift tırnağa, tırnak işaretleri içerilmez

i'

Önceki tek tırnaktan (") sonraki tek tırnağa, tırnak işaretleri içerilir

a'

Önceki tek tırnaktan (") sonraki tek tırnağa, tırnak işaretleri içerilmez

i(

Önceki açılış parantezinden [(] sonraki kapanış parantezine [)], parantez içerilir

a(

Önceki açılış parantezinden [(] sonraki kapanış parantezine [)], parantez içerilmez

i[

Önceki açılış köşeli ayracından ([) sonraki kapanış köşeli ayracına (]), ayraçlar içerilir

a[

Önceki açılış köşeli ayracından ([) sonraki kapanış köşeli ayracına (]), ayraçlar içerilmez

i{

Önceki açılış süslü ayracından ({) sonraki kapanış süslü ayracına (}), ayraçlar içerilir

a{

Önceki açılış süslü ayracından ({) sonraki kapanış süslü ayracına (}), ayraçlar içerilmez

i<

Önceki açılış açılı ayracından (<) sonraki kapanış açılı ayracına (>), ayraçlar içerilir

a<

Önceki açılış açılı ayracından (<) sonraki kapanış açılı ayracına (>), ayraçlar içerilmez

i`

Önceki ters tırnaktan (`) sonraki ters tırnağa, tırnaklar içerilir

a`

Önceki ters tırnaktan (`) sonraki ters tırnağa, tırnaklar içerilmez

Desteklenen Ekle Kipi komutları

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

n yazmacının içeriğini ekle

Kontrol+O, komut

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

Virgül Metin Nesnesi

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.

Bir Virgül Metin Nesnesi örneği

Virgül metin nesnesi erimleri. Örneğin, imleç arg2 üzerindeyse ci komutunu girmek (içteki virgülü değiştir), double arg2 ögesini siler ve imleci iki virgülün arasına yerleştirir ve Ekle Kipi’ne geçer. Bir işlevin parametrelerini değiştirmenin pek kolay bir yoludur.

Eksik Özellikler

Daha önce de belirtildiği üzere, KatePart Vi Kipi’nin amacı Vim’in özelliklerinin %​100’ünü desteklemek değildir.

Ek A. Düzenli İfadeler

Ek A. Düzenli İfadeler

Anders Lund

-: İşbaran Akçayır
-: Emir SARI
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.

Giriş

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

Dizgiler

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.

Karakterleri kaçırmak

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.

Karakter sınıfları ve kısaltmalar

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:

\a

Bu, ASCII zil karakteriyle (BEL, 0x07) eşleşir.

\f

Bu, ASCII form besleme karakteriyle (FF, 0x0C) eşleşir.

\n

Bu, ASCII satır besleme karakteriyle (LF, 0x0A, Unix yenisatır) eşleşir.

\r

Bu, ASCII satır başı karakteriyle (CR, 0x0D) eşleşir.

\t

Bu, ASCII yatay sekme karakteriyle (HT, 0x09) eşleşir.

\v

Bu, ASCII dikey sekme karakteriyle (VT, 0x0B) eşleşir.

\xhhhh

Bu, 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).

\d

Bu, bir rakamla eşleşir. [0-9] ile aynıdır

\D

Bu, rakam olmayan bir şeyle eşleşir. [^0-9] veya [^\d] ile aynıdır

\s

Bu, boşluk karakteriyle eşleşir. [ \t\n\r] ile aynı şeydir

\S

Bu, boşluk olmayan bir karakterle eşleşir. [^ \t\r\n] ve [^\s] ile aynıdır

\w

Herhangi 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

\W

Bu, 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

Karakter sınıflarındaki özel anlamlara sahip karakterler

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.

Alternatifler: Bunlardan biriyle eşleştirmek

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

Alt dizgiler, parantez içine alınmış dizgilerdir ve düzenli ifadeler dünyasında çeşitli kullanımları vardır.

Alternatifleri belirtmek

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+.

Eşleşen metni yakalamak (geriye başvurular)

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

İleri Savlar

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.

Arkaya Savlar

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

Dizgiler içinde özel anlam taşıyan karakterler

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

Niceleyiciler

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ş.

Açgözlülük

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.

Bağlamsal örnekler

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

Savlar

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.

^Peter ifadesi, 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\b ifadesi, 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\B ifadesi, 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)cake ifadesi,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, (&quot;+)[^&quot;]*\1 ifadesi, """"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.