Autoriõigus © 2000, 2001 Seth Rothberg
Autoriõigus © 2002, 2003, 2005 Anders Lund
Autoriõigus © 2005 Dominik Haumann
Käesolevat dokumenti võib kopeerida, edasi levitada ja/või muuta vastavalt GNU Vaba Dokumentatsiooni Litsentsi tingimustele, nagu need on avaldanud Vaba Tarkvara Fond; kas Litsentsi versioon 1.1 või ükskõik milline hilisem versioon; kaasa arvatud mittemuudetavad sektsioonid (puudub), esikaane tekstid (puudub), ja tagakaane tekstid (puudub). Litsentsi koopiaga võimaldab tutvuda sektsioon "GNU Vaba Dokumentatsiooni Litsents".
Kate on programmeerija tekstiredaktor KDE 2.2 ja uuemate versioonide jaoks.
Käsiraamat kirjeldab Kate versiooni 2.5.0
Sisukord
Näidete nimekiri
Tere tulemast kasutama Katet, programmeerija tekstiredaktorit KDE versiooni 2.2 ja uuema jaoks. Mõningad Kate paljudest omadustest: seadistatav süntaksi esiletõstmine keelte puhul alates C- ja C++-keelest kuni HMTL-keele ja bash'i skriptideni välja, oskus luua ja hallata projekte, mitmedokumendiline töökeskkond (MDI) ning sisseehitatud terminaliemulaator.
Kuid Kate on enam kui pelgalt programmeerija redaktor. Ta suudab ka avada mitu dokumenti korraga, olles nii ideaalne vahend UNIX® paljude seadistustefailide redigeerimiseks. Ka see dokument on kirjutatud Kate abil.
Käsiraamatu redigeerimine...
Kui sa oled kunagi tekstiredaktorit kasutanud, ei tohiks Kate kasutamine mingeid raskusi valmistada. Kahes järgmises sektsioonis Kate käivitamine ja Töö Katega) selgitatakse kõike, mida läheb tarvis Kate kiireks ja muretuks käivitamiseks ja kasutamiseks.
Kate on võimalik käivitada st või käsurealt.
Ava KDE programmimenüü klõpsuga ekraani all vasakul servas asuval ikoonil, millel on kujutatud suur K. See toob esile . Liigu hiirega menüükirjele ->. Seal avaneb kättesaadavate redaktorite nimekiri, kust saab valida ka .
Kui sa ei ole Katet teisiti seadistanud, avab see käivitamisel viimased redigeeritud failid. Vaata peatükki Kate seadistamine, et saada lähemalt teada, kuidas seda võimalust lubada või keelata.
Kate on võimalik käivitada lihtsalt seda käsureale kirjutades. Kui lisad ka failinime, nagu seda on tehtud allpool toodud näites, avatakse või luuakse nimetatud fail.
%
kate
minufail.txt.
Kui sul on aktiivne internetiühendus ja vastavad õigused, võid kasutada KDE suurepäraseid võrguomadusi ning avada ka faile võrgust.
%
kate
ftp://ftp.kde.org/pub/kde/README_FIRST
Kate tunnustab järgmisi käsurea võtmeid:
kate --help
Näitab peamisi võtmeid, mida käsurea puhul saab kasutada.
kate --help-qt
Näitab võtmeid, mida saab kasutada Kate ja Qt™ suhtlemise muutmiseks.
kate --help-kde
Näitab võtmeid, mida saab kasutada Kate ja KDE suhtlemise muutmiseks.
kate -s
--start
nimi
Käivitab Kate seansiga nimi
. Kui seanssi ei ole, see luuakse. Kui määratud seansiga Kate eksemplar on olemas, laaditakse sellesse määratud failid. Kasutamisel võtmega --use
saab kasutada ka antud seansi eksemplari.
kate -u
--use
URL
Sunnib Kate kasutama olemasolevat protsessi, kui see on olemas. Kui soovid avada kõik dokumendid ühe Kate protsessiga, võid lisada selle võtme oma KDE rakenduste seadistuste vaikekäsule või ka luua shellialiase enda käskude interpretaatoris, kui see seda toetab.
kate -p
--pid
PID
Võtab uuesti kasutusele ainult määratud PID-iga (protsessi ID) protsessi. Seda kasutatakse koos võtmega --use
.
kate --encoding
kodeering
URL
Kasutab dokumendi jaoks määratud kodeeringut.
kate --line
rida
URL
Liigub dokumendi avamise järel määratud reale.
kate --column
veerg
URL
Liigub dokumendi avamise järel määratud veergu.
kate --stdin
Loeb dokumendi sisu standardsisendist (stdin). See on samasugune mitmes käsureaprogrammis kasutatava võtmega -
ning lubab saata näiteks käsu väljundi toru kaudu Katele.
kate --tempfile
See KDE standardvalik on toetatud alates Kate versioonist 2.5.1. Kasutamise korral koheldakse määratud faile ajutiste failidena, mis kustutatakse (kui tegemist on kohalike failidega ja sul on vastavad õigused) pärast sulgemist, kui neid just ei ole pärast avamist muudetud.
kate --help-all
Näitab kõiki käsurea võtmeid.
kate --author
Näitab terminalis Kate autoreid.
kate -v
--version
Näitab Qt™, KDE ja Kate versiooniinfot.
kate --license
Näitab infot litsentsi kohta.
Kiirstart selgitab, kuidas kasutada nelja lihtsat võimalust, mis lubavad sul seadistada kiiresti ja hõlpsalt mõned Kate kõige võimsamad võimalused. Klahvikäsud toovad ära mõned vaikimisi kiirklahvid ja klahvikombinatsioonid neile, kes ei saa või ei taha kasutada hiirt.
See sektsioon kirjeldab mõningaid elemente menüüs , mis võimaldab sul kiiresti kohandada Kate just selliseks, nagu soovid.
Kui käivitad Kate esimest korda, näed valgel taustal kaht akent. Nende kohal asub tööriistariba tavapäraselt pealdistatud ikoonidega ja omakorda selle kohal menüüriba.
Vasakpoolne aken on külgriba, mis ühendab endas dokumentide nimekirja ja failisüsteemi sirvija aknad. Nende kahe vahel saab liikuda klõpsuga akna vasakus servas paiknevatel sakkidel.
Kui käivitasid Kate faili avades, näitab parempoolne aken redigeeritavat faili ning dokumentide nimekiri külgribal failinime. Failide avamiseks saab kasutada failisüsteemi sirvijat.
Dokumentide ja failisüsteemi sirvija näitamise saab lubada või keelata menüüs +. See menüü pakub ka esimese pilguheidu Kate võimsuse ja paindlikkuse kohta. Praeguses sektsioonis vaatleme kolme elementi:
Lülitab dokumentide nimekirja näitamise sisse ja välja. Kui dokumentide nimekirja/failisüsteemi sirvija aken ei ole avatud, käivitab Kate külgriba eraldi, dokkimata aknas. Selle dokkimiseks napsa kahest peenest paralleelsest joonest sakkide kohal, klõpsates neil hiire nuppga ja hoides nuppu all. Lohista aken Kate redigeerimisaknasse ja vabasta hiire nupp, kui oled asetanud dokumentide nimekirja/failisüsteemi sirvija akna sinna, kuhu soovisid.
Kui oled edukalt napsanud paralleeljoontest, muutub hiirekursor lohistamise ajal kaheks ristamisi nooleks.
Lülitab failisüsteemi sirvija näitamise sisse ja välja. See on muidu samasuguse toimega nagu , ainult et selle lülitamine käivitab akna, kus on avatud failisüsteemi sirvija.
Lülitab sisse ja välja terminaliemulaatori näitamise Kate akna alaosas. Teisisõnu annab see sulle võimaluse kasutada rakenduse sees käsurida.
Paljud Kate klahvikäsud (kiirklahvid) on seadistatavad menüüst Seadistused. Vaikimisi tunnustab Kate järgmisi klahvikäske.
Insert | Vahetab lisamis- ja ülekirjutamisrežiimi. Lisamisrežiimis lisab redaktor iga kirjutatud märgi tekstile, nihutades varem sisestatud teksti kursorist paremale. Ülekirjutamisrežiimis põhjustab iga märgi sisestamine kursorist vahetult paremale jääva märgi ülekirjutamise. |
Nool vasakule | Liigutab kursorit ühe märgi võrra vasakule |
Nool paremale | Liigutab kursorit ühe märgi võrra paremale |
Nool üles | Liigutab kursorit ühe rea võrra ülespoole |
Nool alla | Liigutab kursorit ühe rea võrra allapoole |
Page Up | Liigutab kursorit ühe lehekülje võrra ülespoole |
Page Down | Liigutab kursorit ühe lehekülje võrra allapoole |
Backspace | Kustutab kursorist vasakule jääva märgi |
Home | Liigutab kursori rea algusesse |
End | Liigutab kursori rea lõppu |
Delete | Hävitab kursorist paremale jääva märgi (või suvalise valitud teksti) |
Shift+Nool vasakule | Märgib teksti ühe märgi võrra vasakule |
Shift+Nool paremale | Märgib teksti ühe märgi võrra paremale |
F1 | Abi |
Shift+F1 | |
Ctrl+F | |
F3 | |
Ctrl+B | Seab järjehoidja |
Ctrl+C | Kopeerib märgitud teksti lõikepuhvrisse. |
Ctrl+N | Uus dokument |
Ctrl+P | |
Ctrl+Q | Väljub - sulgeb redaktori aktiivse koopia |
Ctrl+R | |
Ctrl+S | Salvestab faili. |
Ctrl+V | Asetab. |
Ctrl+X | Kustutab märgitud teksti ja kopeerib selle lõikepuhvrisse. |
Ctrl+Z | |
Ctrl+Shift+Z |
Seanssidega saab Kate talletada enam kui ühe failide nimekirja ja kasutajaliidese seadistuste komplekti. Sa võid luua nii palju seansse, kui vähegi soovid, andes neile nime, aga võid kasutada ka nimetuid ehk anonüümseid seansse failide korral, mida ainult korra tahadki avada. Praegu võib Kate salvestada seansi tarbeks avatud failide nimekirja ja akna üldise seadistuss. Tulevikus võib Kate seanssides salvestada ehk isegi rohkem infot. Seansid lubavad Katel avada ka suvalise arvu rakenduse protsesse erinevalt varasemast, mil oli võimalik kasutada ainult üht protsessi.
Seansse saab kasutada kolmel moel:
käsureavõtmed lubavad valida ja käivitada seansse Kate avamisel käsurealt.
menüü Seansid lubab seansside vahel lülituda, neid salvestada, käivitada ja hallata.
seadistusvalikud lubavad kindlaks määrata seansside üldise käitumise.
Uue seansi avamisel laaditakse vaikimisi seanss vastava graafilise kasutajaliidesega. Vaikeseansi akna seadistuste salvestamiseks tuleb vastav valik seansiseadistuste kaardil sisse lülitada, avada seejärel vaikimisi seanss, anda aknale vajalik ilme ja salvestada seejärel seanss.
Nimega seansi avamisel näitab Kate seansi nime akna tiitli alguses, nii et sellel on kuju "Seansi nimi
: dokumendi nimi või URL
- Kate"
Failide avamisel käsurealt võtmega --start
või seansivalijast seansi valimisel laaditakse määratud seanss enne käsureal valitud failide avamist. Failide avamiseks käsurealt uues nimetus seansis seadista Kate käivitama vaikimisi uut seanssi seadistustedialoogi seansside kaardil või kasuta käsureal võtit nimi
--start
tühja stringiga ''
.
Alates Kate versioonist 2.5.1 eksporditakse aktiivse eksemplari PID keskkonnamuutujasse KATE_PID
. Failide avamisel Kate sisemisest terminalist valitakse automaatselt aktiivne eksemplar, kui käsureal pole teisiti määratud.
Kui harjud veidi seanssidega, näed usutavasti, et need annavad sinu käsutusse väga lihtsa, ent väga tõhusa vahendi oma töö korraldamiseks. Kui sulle peaks aga olema südamelähedasem Kate varasem käitumine (üks protsess kõigi failide avamiseks), saab seda samuti hõlpsasti teha:
Käivita Kate alati parameetriga --use
, lisades selle rakenduste seadistustes käsule või ka vastavat shellialiast kasutades.
Seadista Kate käivitamisel avama viimati kasutatud seanssi.
Seadista Kate seansi sulgemisel salvestama failide nimekieja.
Laadi üks kord vaikeseanss
Pakub üksikasjalikku infot kõigi menüükäskude, seadistusvõimaluste, tööriistade, dialoogide, pluginate jne kohta, samuti kirjeldab Kate akent, redaktorit ning mitmesuguseid rakenduses kasutatud põhimõtteid.
Käsiraamatu uurimiseks vajuta F1 või kasuta menüükäsku .
See võimalus pakub vahetut abi graafilise akna elementide, näiteks nuppude või ka muude elementide kohta.
Me oleme püüdnud pakkuda seda abivõimalust iga elemendi kohta, mille puhul see vähegi mõttekas tundub. See on kättesaadav kõikjal seadistustedialoogis ning ka paljudes dialoogides.
Kasutamaks abivõimalust "Mis see on?", vajuta Shift-F1 või kasuta menüükäsku ->. Seejärel muutub hiirekursor küsimärgiga nooleks ning sa võid klõpsata suvalisel aknaelemendil, et lugeda, mis see siis ikkagi on, seda muidugi juhul, kui abivõimalus on selle elemendi puhul kasutusel.
Mõnel dialoogil on olemas nupp . Sellele vajutamine käivitab KDE abikeskuse ning avab vastava dokumendi.
Kate ei paku (veel!) mingeid võimalusi lugeda dokumendiga seotud dokumentatsiooni. Sõltuvalt redigeeritavast failist võib sisseehitatud konsool olla päris kasulik UNIX®i manuaalilehekülgede või infodokumentide lugemisel, samuti saab kasutada Konquerori.
Aken, vaade, dokument, paneel, redaktor... Mida küll kõik need mõisted Kate puhul tähendavad ja kuidas neid kõige tõhusamalt kasutada? See peatükk seda seletabki - ja veel palju muudki.
Kate peaaken on standardne KDE rakenduse aken, millel on lisaks tööriistavaateid sisaldavad külgribad. Peaaknal on menüüriba kõigi tavapäraste menüüdega ja mõne lisamenüüga ning tööriistariba, mis pakub võimaluse kiiresti kasutada kõige levinumaid käske.
Akna kõige tähtsam osa on redigeerimisala, mis vaikimisi näitab ühtainsat tekstiredaktori komponenti, milles sul on võimalik oma dokumendiga töötada.
Akna dokkimisvõimalusi kasutatakse tööriistaakende puhul:
Ja muud võimalikud tööriistavaated, näiteks need, mida pakuvad pluginad.
Tööriistavaateid võib seada igale külgribale, eemaldamiseks aga klõpsa vastaval külgriba nupul hiire
nuppga ja vali menüüstTööriistavaate võib muuta püsivaks hiire nuppga klõpsamisel ilmuvast menüüst vastavat käsku valides. Külgriba võib sisaldada mitmeid tööriistu, nii et kui mõni tööriist muuta püsivaks, näeb samal ajal ka teisi tööriistu.
Kate suudab üheaegselt avada rohkem kui ühe dokumendi, samuti poolitada redigeerimisala mitmeks osaks sarnaselt sellele, kuidas toimib näiteks Konqueror või populaarne tekstiredaktor emacs. Sel moel saad näha mitut dokumenti korraga või ühe ja sama dokumendi mitut vaadet, mis võib olla kasulik, kui näiteks dokumendi alguses on definitsioone, mida soovid mitmel korral kasutada. Muidugi saab ka ühes vaates hoida lahti rakenduse lähteteksti päist, samal ajal teises aknas rakendusfaili redigeerides.
Kui üks ja sama dokument on avatud mitmes vaates, kajastuvad ühes vaates tehtud muudatused kohe ka teistes. See hõlmab nii teksti muutmist kui selle valimist. Otsinguoperatsioonid või kursori liikumine aga kajastuvad ainult aktiivses vaates.
Praegu ei ole võimalik hoida üht ja sama dokumenti avatuna mitmes vaates selleks, et ühes vaates redigeerida, samas aga teistes vaadetes muutusi ei toimuks.
Redaktori jagamisel kaheks vaateks jagatakse see võrdse suurusega paneelideks, mis mõlemad näitavad aktiivset dokumenti. Uus vaade asub all (horisontaalse poolitamise korral) või paremal (vertikaalse poolitamise korral). Aktiivseks muutub uus aken, millele osutab väike roheline tuluke aktiivses vaates.
Failinimekiri näitab kõiki parajasti Kates avatud dokumente. Muudetud failidel on vasakul pool olekunäitajana väike flopiketta ikoon.
Kui avatud on kaks või enam samanimelist (eri kataloogides asuvat) faili, lisandub teise faili nimele “<2>” jne. Vihjemull faili juures näitab selle täisnime koos asukohaga, mis võimaldab valida just soovitu.
Dokumendi näitamiseks parajasti aktiivses vaates klõpsa nimekirjas soovitud dokumendi nimel.
Nimekirja saab sortida mitme kriteeriumi alusel. Selleks tee nimekirjal klõps hiire parema nupuga ja vali menüü . Valikud on järgmised
Dokumente näidatakse nende avamise järjekorras.
Dokumente näidatakse tähestikulises järjekorras nende nime järgi.
Dokumente näidatakse tähestikulises järjekorras nende URL-i järgi.
Dokumentide nimekiri näitab vaikimisi ka ajalugu, andes hiljuti avatud dokumentide kirjetele spetsiaalse taustavärvi. Kui dokumenti on redigeeritud, saab see taas uue värvi. Kõige viimasel dokumendil on värv kõige intensiivsem, mis võimaldab kiiresti leida dokumendid, mille kallal parajasti töötad. Selle võimaluse saab välja lülitada seadistustedialoogi dokumentide nimekirja kaardil.
Vaikeasukoht Kate aknas on vasakul pool redigeerimisala.
Failisüsteemi sirvija on katalooginäitaja, mis võimaldab avada näidatava kataloogi faile aktiivses vaates.
Ülalt alla koosneb failisüsteemi sirvija järgmistest elementidest:
See sisaldab tavapäraseid liikumisnuppe:
Sellele vajutamine põhjustab katalooginäitajal käsuga cd liikumise sinu kodukataloogi.
See põhjustab katalooginäitajal käsuga cd liikumise parajasti näidatava kataloogi ülemkataloogi, kui see on võimalik.
See põhjustab katalooginäitajal käsuga cd liikumise eelmisesse näidatud kataloogi. See nupp ei toimi, kui varem pole ühtegi kataloogi näidatud.
See põhjustab katalooginäitajal käsuga cd liikumise ajaloos järgmisena näidatud kataloogi. Nupp ei toimi, kui ajalugu ei tunne ühtegi järgmisena näidatud kataloogi.
See nupp põhjustab katalooginäitajal käsuga cd liikumise parajati aktiivse dokumendi kataloogi, kui see on võimalik. Nupp ei toimi, kui aktiivne dokument on uus ja salvestamata dokument või kui pole võimalik otsustada, millises kataloogis see asub.
Siia saab kirjutada näidatava kataloogi asukoha. URL-i kirje säilitab varem kasutatud asukohtade nimekirja, mis võimaldab valida neist mõne paremal pool kirjet asuva noolenupu abil.
URL-i kirje suudab sisestatava kataloogi nime ka ise lõpetada. Millisel viisil see toimub, saab valida hiire nuppga tekstikirjel klõpsates avanevast hüpikmenüüst.
See on tavapärane KDE kataloogivaade.
Filtrikirje võimaldab sisestada filtri katalooginäitajas näidatavatele failidele. Filter kasutab tavapäraseid kirjeid, erinevaid mustreid peab eraldama tühik. Näide: *.cpp *.h *.moc
Kõigi failide näitamiseks kasuta üht tärni *
.
Filtrikirje jätab meelde kümme seansi kestel sisestatud kirjet, nende kasutamiseks vajuta noolenuppu kirjest paremal pool ja vali sobiv.
Sisseehitatud terminaliemulaator on KDE terminalirakenduse Konsole koopia. Selle saab sisse lülitada menüükäsuga -> või kiirklahviga F7 ning see muutub sisselülitamise järel kohe aktiivseks. Kui sisse on lülitatud võimalus Konsolei sünkroniseerimine aktiivse dokumendiga, siis liigub see käsku cd kasutades automaatselt aktiivse dokumendi kataloogi, kui võimalik.
Vaikeasukoht Kate aknas on allpool redigeerimisala.
Konsole on seadistatav hiire nuppga klõpsamisel avaneva hüpikmenüü abil. Lähemat infot annab Konsole käsiraamat.
Menüüs leiad alammenüü . Need tööriistad kutsuvad välja välised rakendused aktiivse dokumendiga seotud andmeid kasutades, milleks võib olla näiteks selle URL, kataloog, tekst või valik.
Väliseid tööriistu saab kasutaja ise lisada, muuta või eemaldada seadistustedialoogi väliste tööriistade kaardil.
Kate redaktor kujutab endast Kate akna redigeerimisala. Sama redaktorit kasutab ka KWrite ning seda võib kasutada ka Konqueroris tekstifailide näitamiseks, asugu need sinu arvutis või kuskil võrgus.
Redaktor koosneb järgmistest komponentidest:
See on koht, kus asub dokumendi tekst.
Kerimisribad osutavad dokumendi teksti nähtava osa asukohale ning neid saab kasutada dokumendis liikumiseks. Kerimisriba kasutamine ei põhjusta siiski automaatselt kursori asukoha muutust.
Kerimisribasid võib soovikohaselt näidata või varjata.
Ikoonipiire on väike riba redaktorist vasakul, mis näitab märgitud ridade kõrval väikest ikooni.
Nähtava rea järjehoidja saab paigaldada või eemaldada hiire vasaku nupu klõpsuga rea kõrval asuval ikoonipiirdel.
Ikooniriba saab näidata või varjata menüükäsuga ->.
Reanumbrite paneel osutab dokumendi kõigi nähtavate ridade numbreid.
Reanumbrite paneeli saab näidata või varjata menüükäsuga ->.
Voltimispaneel võimaldab avada või sulgeda volditavaid tekstiridu. Volditavate piirkondade tuvastamine käib vastavalt dokumendi süntaksi esiletõstmise definitsioonis leiduvatele reeglitele.
Tekstis liikumisel käitub Kate nagu iga teine graafiline tekstiredaktor. Kursorit saab liigutada nooleklahvidega ning klahvidega Page Up, Page Down, Home ja End, millele võivad lisanduda muuteklahvid Ctrl ja Shift. Klahviga Shift saab alati teksti valida, klahvil Ctrl on aga erinevatele klahvidele mõnevõrra erinev tähendus:
Klahvide Nool üles ja Nool alla puhul tähendab see kursori liigutamise asemel kerimist.
Klahvide Nool vasakule ja Nool paremale puhul tähendab see märkide asemel sõnakaupa liikumist.
Klahvide Page Up ja Page Down puhul tähendab see leheküljekaupa liikumise asemel liikumist nähtava ala vastavasse serva.
Klahvide Home ja End puhul tähendab see liikumise asemel rea algusse või lõppu liikumist dokumendi algusse või lõppu.
Kate võimaldab ka kiiresti hüpata sulu paarilise juurde: vii kursor sulumärgi juurde ja vajuta Ctrl-6 ning liigudki antud sulu paarilise juurde.
Lisaks saab järjehoidjatega liikuda kiiresti enda määratud asukohta.
Kates saab teksti valida kahel viisil: hiire ja klaviatuuri abil.
Hiirt eelistades hoia all hiire vasak nupp ja libista hiirekursor kohast, kust soovid valikut alustada, kohani, kus soovid selle lõpetada. Selle operatsiooniga ongi tekst valitud.
Topeltklõps sõnal valib selle sõna.
Kolmikklõps real valib terve rea.
Kui klõpsamise ajal hoida all klahvi Shift, valib see teksti järgmiselt:
kui midagi ei olnud valitud, siis teksti sisestuskursori asukohast hiirekursori asukohani.
kui midagi oli juba valitud, siis sealt alates (kaasa arvatud valitu) hiirekursori asukohani.
Kui teksti valitakse hiirt lohistades, kopeeritakse valitud tekst lõikepuhvrisse ja seda saab asetada, klõpsates hiire keskmise klahviga redaktoris või mõnes muus rakenduses, kuhu soovid teksti asetada.
Klaviatuuri eelistades hoia alla klahvi Shift ning rakenda liikumisklahve (nooleklahvid ning klahvid Page Up, Page Down, Home ja End). Võimalik on ka kombinatsioon klahviga Ctrl, mis laiendab tekstikursori liikumist.
Vaata ka samas peatükis sektsiooni Tekstis liikumine.
Sooritamaks aktiivse valiku kopeerimine, kasuta menüükäsku -> või kiirklahvi (vaikimisi Ctrl+C).
Andmaks käsku Tühista valik, kasuta menüükäsku ->, kiirklahvi (vaikimisi Ctrl+Shift+A) või klõpsa redaktoris hiire vasaku nupuga.
Kui blokivalik on sisse lülitatud, saad sooritada tekstis “vertikaalseid valikuid”, mis tähendab teatud arvu veergude valimist mitmes reas. See võib olla kasulik näiteks tabulaatori abil eraldatud ridade puhul.
Blokivaliku saab sisse/välja lülitada menüükäsuga ->. Vaikimisi kiirklahv on F4.
Kui valiku ülekirjutamine on sisse lülitatud, põhjustab kirjutamine või teksti asetamine valitud teksti alal selle asendamise. Kui see ei ole sisse lülitatud, lisatakse uus tekst tekstikursori asukohta.
Vaikimisi on valiku ülekirjutamine sisse lülitatud.
Selle võimaluse muutmiseks kasuta seadistustedialoogi lehekülge Valimine.
Kui püsiv valik on sisse lülitatud, ei põhjusta märkide sisestamine või kursori liigutamine valiku tühistamist. See tähendab, et kursori võib liigutada valitud alalt mujale ja asuda teksti sisestama.
Vaikimisi on püsiv valik välja lülitatud.
Püsiva valiku saab sisse lülitada seadistustedialoogi leheküljel Valimine.
Kui sisse on lülitatud nii püsiv valik kui valiku ülekirjutamine, põhjustab kirjutamine või teksti asetamine juhul, kui kursor asetseb valitud alal, nii teksti asendamist kui valiku tühistamist.
Teksti kopeerimiseks vali see ja kasuta menüükäsku ->. Teksti valimine hiirega põhjustab samuti selle kopeerimise lõikepuhvrisse.
Lõikepuhvris asetseva teksti asetamiseks kasuta menüükäsku ->.
Lisaks võib hiirega valitud teksti asetada, kui sooritada soovitud kohas klõps hiire
nupuga.Kui kasutad KDE töölauda, võid asetada suvalises rakenduses varem kopeeritud teksti, kasutades Kickeri ikooni Klipper.
Teksti otsimise ja asendamise dialoogid on Kates üsna sarnased, neid eristab see, et teksti asendamise dialoog pakub võimalust sisestada asendatav tekst koos mõne lisavalikuga.
Dialoogid pakuvad järgmisi tavapäraseid võimalusi:
Siia saab sisestada otsimisstringi. Selle tõlgendamine sõltub mõningatest edaspidi kirjeldatavatest võimalustest.
Kui see on märgitud, tõlgendatakse otsimisstringi regulaaravaldisena ning lülitatakse sisse nupp avaldise loomise või muutmise graafilise tööriista kasutamiseks.
Vaata lähemalt peatükki Regulaaravaldised.
Kui see on sees, ei tee otsing suur- ja väiketähtedel vahet.
Kui see on märgitud, otsitakse ainult selliseid vasteid, mille puhul otsimisstringile vastab mõlemalt poolt eristatav sõna, mis ei tähenda tärki - ei mingit nähtavat märki ega realõppu.
Kui see on märgitud, algab otsing kursori asukohast, vastasel juhul dokumendi esimesest reast.
Kui see on märgitud, püüab otsing leida esimest sobivust enne alguspunkti, milleks võib olla kursori asukoht või dokumendi algus, kui märgitud on ka võimalus Algusest.
Dialoog Teksti asendamine pakub mõningaid lisavõimalusi:
Siia saab sisestada stringi, millega otsitav tekst asendatakse.
See võimalus on välja lülitatud, kui teksti ei ole valitud või kui sisse on lülitatud võimalus Asendamisel küsitakse. Kui see on märgitud, asendatakse valitud tekstis kõik otsingustringiga sobivad elemendid asendusstringiga.
Kui see on märgitud, hüppab iga kord, kui leitakse sobivus, esile väike dialoog, mis pakub järgmisi võimalusi:
Sellele vajutamine asendab leitud sobivuse (mis on valitud redaktoris).
Sellele vajutamine jätab leitud sobivuse asendamata ja sunnib edasi otsima.
Sellele vajutamine lõpetab kinnituse küsimise ja asendab kõik sobivused.
Sellele vajutamine jätab leitud sobivuse asendamata ja lõpetab otsingu.
Praegu puudub võimalus regulaaravaldise otsingul kasutada minimaalse sobivuse võimalust. Seda võimalust pakub Kate tulevikus.
Teksti otsimiseks käivita dialoog Teksti otsimine kas kiirklahviga Ctrl+F või menüükäsuga ->, sisesta otsimisstring, määra soovitud valikud ja vajuta nuppu . Kui alustad otsingut kursori asukohast, kuid sealt edasi sobivusi ei leita, küsitakse sinu käest luba jätkata otsingut dokumendi algusest (või lõpust, kui kasutad otsingut tagasisuunas).
Kui sobivus leitakse, valitakse see ning dialoog Teksti otsimine varjatakse, aga see jääb alles, mis muudab edasiste sobivuste leidmise äärmiselt lihtsaks.
Otsingusuunas järgmise sobivuse leidmiseks kasuta menüükäsku -> või vajuta F3.
Otsingusuunale vastassuunas järgmise sobivuse leidmiseks kasuta menüükäsku -> või kiirklahvikombinatsiooni Shift+F3.
Kui sobivust ei leitud enne dokumendi piirini (algusse või lõppu) jõudmist, küsitakse sinu käest luba see ületada.
Teksti asendamiseks käivita dialoog Teksti asendamine kas menüükäsuga -> või kiirklahviga Ctrl+R, sisesta otsimisstring ja asendusstring (kui viimane jäetakse tühjaks, siis eemaldatakse kõik sobivused), määra soovitud valikud ning klõpsa nupule .
Kui kasutad asendamisel teksti otsimiseks regulaaravaldisi, on sul võimalus tarvitada ka tagasiviitu avaldise sulgudes oleva alammustriga haaratud teksti taaskasutamiseks.
Nende kohta vaata lähemalt Lisa B, Regulaaravaldised.
Kirjeldatuga toimetulevaid käske find (otsimine), replace (asendamine) ja ifind (täpsustav otsing) saab kasutada ka käsureal.
Järjehoidjad võimaldavad märkida teatud ridu, et neid hiljem vajaduse korral hõlpsasti leida.
Järjehoidjaid võib reaga siduda või eemaldada kahel viisil:
liigutades tekstikursori soovitud reale ja kasutades kas menüükäsku -> või kiirklahvikombinatsiooni Ctrl+B.
klõpsates rea kõrval asuval ikoonipiirdel.
Järjehoidjaid näeb menüüs . Iga järjehoidja on seal kättesaadav menüüelemendina, teda märgib reanumber ja selle rea mõned esimesed märgid. Tekstikursori liigutamiseks järjehoidjaga tähistatud rea algusesse ava menüü ja vali vajalik järjehoidja.
Järjehoidjate vahel liikumiseks või suundumiseks järgmisele/eelmisele järjehoidjale kasuta käske -> (Ctrl+Page Down) ja -> (Ctrl+Page Up).
See võimalus lubab teksti vormindada äärmiselt lihtsalt: read murtakse, nii et ükski rida ei ületa määratud tähtede arvu, kui ei esine just pikem ilma tühikuteta string.
Selle lubamiseks või keelamiseks tee või eemalda märge seadistustedialoogi lehekülje Redaktor kastist .
Rea maksimumpikkuse määramiseks (maksimaalne märkide arv rea kohta) kasuta seadistustedialoogi lehekülje Redaktor valikut .
Kui see on sisse lülitatud, ilmnevad järgmised mõjud:
kirjutamise ajal lisab redaktor automaatselt sunniviisilise reamurdmise märgi viimase tühiku järele enne rea maksimaalse pikkuse saavutamist.
dokumendi laadimisel murrab redaktor read samal põhimõttel, et ükski rida ei oleks pikem lubatud maksimumist, kui neis muidugi esineb reamurdmist võimaldav tühik.
Praegu puudub võimalus määrata reamurdmine erinevatele dokumenditüüpidele, seda ei saa ka dokumendi tasandil lubada või keelata. Neid võimalusi rakendab Kate tulevikus.
Kate redaktor pakub mitmeid automaatse treppimise viise vastavalt erinevatele tekstivormingutele. Sobiva režiimi saab valida menüüst ->. Automaatse treppimise moodul pakub ka võimaluse ->, mis arvutab välja valitud või aktiivse rea taande. Nii on võimalik kogu dokumendi treppimine korraga teha, valides kogu teksti ja siis selle toimingu.
Kõik treppimisrežiimid kasutavad aktiivse dokumendi treppimisseadistusi.
Treppimisele on võimalik määrata mitmesuguseid muutujaid, sealhulgas saab seda teha seadistustedialoogi leheküljel Failitüübid kirjega Muutuja.
Võimalikud automaatse treppimise režiimid
Selle valimine lülitab automaatse treppimise täielikult välja.
See režiim säilitab lihtsalt treppimise sellisena, nagu see esines eelmisel real, kui rida alustab midagi muud kui tühimärk. Seda saab kombineerida treppimise ja treppimise eemaldamise toimingutega, et anda tekstile just selline taane, nagu sulle meeldib või nagu sulle vaja.
Režiim C ja teistele sarnastele keeltele, näiteks C++, C#, Java, JavaScript ja nii edasi. See ei toimi skriptikeelte puhul (näiteks Perl või PHP).
Alternatiivne režiim C ja sarnaste keelte jaoks, ka piirangud on samasugused.
Spetsiaalselt skriptikeelele Python mõeldud režiim.
Väga vahva XML-i automaatse treppimise režiim. Kuigi sul võib tekkida selline tahtmine, ära kasuta seda muulaadse HTML-i jaoks kui ainult XHTML, sest vana stiili HTML-siltidega see lihtsalt ei tööta (avatud siltidega nagu näiteks <br>)
Muutujaga treppimine on eksperimentaalne võimalus, mis võib tulevastes versioonides üle elada suuri muudatusi või ka üldse kaduda.
Muutujaga treppimine on eriline selle poolest, et seda saab seadistada dokumendis (või failitüübi konfiguratsioonis) esinevaid muutujaid kasutades. Kasutada saab järgmisi muutujaid:
Regulaaravaldis, mis sunnib peale rea treppimise ühe ühiku võrra, kui leitakse esimene mittetühimärgist sobivus.
Regulaaravaldis, mis sunnib peale rea treppimise eemaldamise ühe ühiku võrra, kui leitakse esimene mittetühimärgist sobivus.
Sümbolite nimekiri, mis sunnivad peale treppimise ümberarvutamise kohe pärast nende sisestamist.
Käsitletavate sulupaaride nimekiri. Suvaline sulgude, nurksulgude või looksulgude kombinatsioon. Iga tüüpi käsitletakse järgnevalt: kui eelmisel real esineb vasteta alustav sulg, lisatakse üks treppimisühik, kui aga vastega lõpetav sulg, siis eemaldatakse üks treppimisühik.
var-indent-couple-attribute
Vasteta alustavate/lõpetavate sulgude otsimisel arvestatakse ainult antud atribuudiga sümboleid. Väärtus peab olema atribuudi nimi süntaksi XML-failis, näiteks "Sümbol". Kui see ei ole määratud, kasutatakse atribuuti 0 (tavaliselt "Tavaline tekst").
Kate kasutab kaht erinevat tüüpi pluginaid: Kate rakenduse pluginad ja Kate redaktorikomponendi pluginad. Viimaseid saavad kasutada kõik teised rakendused, mis tarvitavad redaktorikomponenti, näiteks KDevelop, Quanta, Kile, KWrite ja paljud muud, rakenduse pluginad on aga spetsiifilised just Katele endale.
Mõlemat tüüpi pluginate kasutamist saab sisse ja välja lülitada seadistustedialoogis, mis ühtlasi võimaldab mõningate pluginate juures üht-teist seadistada.
Mitmesuguseid üsna erinevaks otstarbeks mõeldud pluginaid pakub moodul kdeaddons ning pluginaid leiab ka veebist. Teatud pluginad on juba kaasa pandud redaktorikomponendiga, need võimaldavad sõnalõpetust, automaatseid järjehoidjaid, failide lisamist, tesauruse ja õigekirja kontrollija kasutamist ning täpsustavat otsingut.
Käsud 'Lisa kommentaar' ja 'Eemalda kommentaar', mida saab kasutada menüüst , võimaldavad lisada valitud tekstiosale või kui midagi ei ole valitud, siis parajasti aktiivsele reale kommentaarimärgid või need sealt eemaldada. Seda muidugi juhul, kui parajasti redigeeritava teksti vorming kommentaare üldse kasutada lubab.
Reeglid, mil moel kommentaar välja näeb, on määratud süntaksi definitsioonis, nii et kui süntaksi esiletõstu ei kasutata, ei ole võimalik ka kommentaarimärke lisada või eemaldada.
Mõned vormingud defineerivad ühe rea kommentaarimärgid, mõned lubavad kommenteerida mitut rida korraga ja mõned mõlemat. Kui mitme rea kommentaarimärke ei ole saadaval, siis ei ole võimalik kommenteerida valikut, mille viimane rida ei ole valitud tervikuna.
Kui saadaval on ühe rea kommentaarimärgid, on võimaluse korral mõttekas kommenteerida üksikuid ridasid - nii saab ära hoida näiteks "kommentaari kommentaari sees".
Kommentaarimärkide eemaldamisel ei tohi olla valitud kommenteerimata teksti. Valikult mitmerealise kommentaarimärgistuse eemaldamisel eiratakse iga tühikut väljaspool kommentaarimärgistust.
Kommentaarimärkide lisamiseks kasuta menüükäsku -> või vastavat kiirklahvikombinatsiooni, mis vaikimisi on Ctrl+D.
Kommentaarimärkide eemaldamiseks kasuta menüükäsku -> või vastavat kiirklahvikombinatsiooni, mis vaikimisi on Ctrl+Shift+D.
Kate redaktorikomponent kasutab seesmist käsurida, mis võimaldab minimaalse GUI-ga väga mitmesuguseid toiminguid ette võtta. Käsurida on terminal redaktori allosas, mille saab nähtavaks muuta menüükäsuga -> või kiirklahviga (vaikimisi F7). Redaktor pakub omalt poolt välja rea käske, mida tutvustatakse allpool, pluginad võivad neile veelgi lisa pakkuda.
Käsu käivitamiseks vajuta klahvi Enter. Käsurida annab märku, kas täitmine õnnestus ning näitab vajaduse korral teadet. Kui avasid käsurea klahviga F7, peidetakse see automaatselt mõne sekundi pärast. Teate eemaldamiseks ja uue käsu sisestamiseks vajuta uuesti klahvi F7.
Käsureal on omaenda abisüsteem, mille käivitamiseks anna käsk help. Kõigi võimalike käskude nägemiseks anna käsk help list, mõne konkreetse käsu abi nägemiseks käsk help käsk
.
Käsureal on ka omaenda mälu ehk ajalugu, mis võimaldab uuesti kasutada juba varem antud käske. Ajaloos saab liikuda klahvidega Nool üles ja Nool alla. Varasemate käskude näitamisel valitakse selle argument, mis võimaldab neid kergesti asendada.
Neid käske võimaldab kasutada redaktorikomponent ja need on mõeldud ainult aktiivse dokumendi ja vaate seadistamiseks. See on mugav juhul, kui sa ei soovi mingil põhjusel kasutada vaikeseadistusi (näiteks soovid teistmoodi treppida).
Argumenditüübid
Seda kasutatakse käskude puhul, millega saab midagi sisse või välja lülitada. Väärtusteks võivad olla on
('sees'), off
('väljas'), true
('tõene'), false
('väär'), 1
või 0
.
Täisarv
String
set-tab-width [TÄISARV laius]
Määrab tabelduskoha laiuseks arvu laius
set-indent-width [TÄISARV laius]
Määrab taande laiuseks arvu laius
. Ainult sel juhul, kui trepitakse tühikutega.
set-word-wrap-column [TÄISARV laius]
Määrab sõnamurdmise korral rea laiuseks arvu laius
. Ainult siis, kui teksti automaatne murdmine on sisse lülitatud.
set-icon-border [TÕEVÄÄRTUS enable]
Ikoonipiirde näitamine.
set-folding-markers [TÕEVÄÄRTUS enable]
Voltimismärkide paneeli näitamine.
set-line-numbers [TÕEVÄÄRTUS enable]
Reanumbrite paneeli näitamine.
set-replace-tabs [TÕEVÄÄRTUS enable]
Sisselülitamisel asendatakse tabeldusmärgid kirjutamise ajal tühimärkidega.
set-remove-trailing-space [TÕEVÄÄRTUS enable]
Sisselülitamisel eemaldatakse rea lõpus seisvad tühimärgid kohe pärast seda, kui kursor lahkub realt.
set-show-tabs [TÕEVÄÄRTUS enable]
Sisselülitamisel näidatakse tabeldusmärke ja rea lõpus seisvaid tühimärke väikeste punktidena.
set-indent-spaces [TÕEVÄÄRTUS enable]
Sisselülitamisel trepib redaktor igal treppimistasemel indent-width
'iga määratud tühikutega, mitte aga tabeldusmärgiga.
set-mixed-indent [TÕEVÄÄRTUS enable]
Sisselülitamisel kasutab Kate treppimisel tabeldus- ja tühimärkide segu. Iga treppimistase on laiusega indent-width
ning täiendavaid treppimistasemeid optimeeritakse nii paljude tabeldusmärkide kasutamisega kui võimalik.
Käivitamisel rakendab see käsk ka treppimise tühikumärkidega ning kui taande laius ei ole määratud, määratakse see täitmise ajal kogu dokumendile poole tab-width
väärtusele.
set-word-wrap [TÕEVÄÄRTUS enable]
Dünaamilise reamurdmise sisselülitamine vastavalt enable
väärtusele.
set-replace-tabs-save [TÕEVÄÄRTUS enable ]
Sisselülitamisel asendatakse tabeldusmärgid dokumendi salvestamisel tühimärkidega.
set-remove-trailing-space-save [TÕEVÄÄRTUS enable]
Sisselülitamisel eemaldatakse dokumendi salvestamisel ridade lõpust tühikud.
set-indent-mode [nimi]
Määrab automaatse treppimise režiimiks väärtuse nimi
. Kui nimi
pole tuntud, on režiimiks 'none' ehk 'puudub'. Sobivad režiimid on 'cstyle', 'csands', 'xml', 'python', 'varindent' ja 'none'.
set-highlight [esiletõst]
Määrab dokumendi süntaksi esiletõstmise süsteemi. Argument peab olema kehtiv esiletõstu nimi, nagu seda näeb näiteks menüüs ->. Käsk võimaldab argumendi lisamisel kasutada automaatset lõpetamist.
Nende käskudega saab muuta aktiivset dokumenti.
indent
Trepib valitud read või aktiivse rea.
unindent
Eemaldab valitud ridade või aktiivse rea treppimise.
cleanindent
Puhastab valitud ridade või aktiivse rea treppimise vastavalt dokumendi treppimisseadistustele.
comment
Lisab kommentaarimärgid, millega muuta valik või valitud read või aktiivne rida kommentaariks vastavalt tekstivormindusele, mille määrab dokumendi süntaksi esiletõstu definitsioon.
uncomment
Eemaldab kommentaarimärgid valikult või valitud ridadelt või aktiivselt realt vastavalt tekstivormindusele, mille määrab dokumendi süntaksi esiletõstu definitsioon.
kill-line
Kustutab aktiivse rea.
replace [muster] [asendus]
Asendab teksti, mille määrab muster
, tekstiga, mille määrab asendus
. Kui soovid, et muster
sisaldaks tühimärki, tuleb nii muster
kui ka asendus
muuta ühe- või kahekordsete jutumärkidega tsitaadiks. Kui argumendid pole tsiteeritud, arvab käsk, et esimene sõna on muster
ja ülejäänud asendus
. Kui asendus
andmata jätta, eemaldatakse kogu tekst, kus esineb muster
.
Otsingule võib lisada lippe, milleks kirjuta koolon ja selle järele vajalik täht või tähed, nii et käsk võtab kuju replace:võtmed muster asendus
. Kasutada saab järgmisi võtmeid:
b
Otsing tagasisuunas
c
Otsing alates kursori asukohast.
e
Otsing ainult valikus.
r
Regulaaravaldise otsing. Selle korral võid anda \N
, kus N on arv, mis tähistab asendusstringi hõivet.
s
Tõstutundlik otsing.
p
Loa küsimine iga asenduse korral.
w
Ainult täissõnade sobivus.
date [vorming]
Kuupäeva/kellaajastring lisamine kujul, nagu selle määrab vorming
või kui seda pole antud, siis kujul “yyyy-MM-dd hh:mm:ss”. Argument vorming
võib esineda järgmisel kujul:
d | Päev arvuna ilma alustava nullita (1-31). |
dd | Päev arvuna alustava nulliga (01-31). |
ddd | Lühendatud ja lokaliseeritud päevanimi (nt. 'Esm', 'Püh'). |
dddd | Pikk ja lokaliseeritud päevanimi (nt. 'Esmaspäev', 'Pühapäev'). |
M | Kuu arvuna ilma alustava nullita (1-12). |
MM | Kuu arvuna alustava nulliga (01-12). |
MMM | Lühendatud ja lokaliseeritud kuunimi (nt. 'Jaan', 'Dets'). |
yy | Aasta kahekohalise arvuna (00-99). |
yyyy | Aasta neljakohalise arvuna (1752-8000). |
h | Tunnid ilma alustava nullita (0-23 või 1-12, kui näidatakse AM/PM). |
hh | Tunnid alustava nulliga (00-23 või 01-12, kui näidatakse AM/PM). |
m | Minutid ilma alustava nullita (0-59). |
mm | Minutid alustava nulliga (00-59). |
s | Sekundid ilma alustava nullita (0-59). |
ss | Sekundid alustava nulliga (00-59). |
z | Millisekundid ilma alustava nullita (0-999). |
zzz | Millisekundid alustava nulliga (000-999). |
AP | AM/PM kasutamine. AP asemele pannakse kas "AM" või "PM". |
ap | am/pm kasutamine. ap asemele pannakse kas "am" või "pm". |
char [identifikaator]
See võimaldab sisestada tähemärke nende numbrilise koodi kaudu kümnend-, kaheksand- või kuueteistkümnendvormis. Selle kasutamiseks käivita redigeerimiskäsu dialoog, kirjuta sisendikasti char: [number]
ja klõpsa nupule .
See käsk käivitab sedi-sarnase otsi/asenda-operatsiooni aktiivsel real või kogu failis (%s///).
Nii otsitakse tekst läbi, et leida sobivused otsingumustriga, st esimese ja teise kaldkriipsu vahele jääva regulaaravaldisega. Kui sobivus leitakse, asendatakse sobiv tekstiosa avaldisega stringi keskmise ja viimase kaldkriipsu vahel. Sulud otsingumustris tekitavad tagasiviidad, see tähendab, et käsk peab meeles, milline osa sobivusest vastas sulgudes olnule; neid stringe saab otsingumustris uuesti kasutada, viidates neile esimese sulukombinatsiooni puhul kui \1
, teise puhul kui \2
jne.
Otsimaks märki (
või )
, tuleb need varjestada längkriipsu kasutades: \(\)
Kui kirjutada avaldise lõppu i
, ei arvestata sobivuse juures tõstu ehk tähesuurust. Kui kirjutada lõppu g
, asendatakse kõik mustri sobivused, muidu asendatakse ainult esimene sobivus.
Näide 6.2. Teksti asendamine aktiivses reas
Armas arvuti katkestas just äsja töö ja teatas, et lähtefaili real 3902 mainitud klass myClass
ei ole defineeritud.
"Neetud!" mõtled sina: aga muidugi peab see olema MyClass
. Lähed siis reale 3092 ja selle asemel, et püüda tekstist sõnakest üles leida, käivitad redigeerimiskäsu dialoogi, sisestad seal s/myclass/MyClass
, vajutad nupule , salvestad faili ja kompileerid selle – edukalt ja ilma vigadeta.
Näide 6.3. Teksti asendamine kogu failis
Kujuta ette, et sul on fail, kus esineb mitu korda “preili Maasikas”, ja siis tuleb keegi, kes ütleb, et too neiu äsja abiellus ja kannab nüüd nime “proua Vaarikas”. On päris mõistetav, et sind tabab võitmatu iha kirjutada kõikjal tekstis “preili Maasikas” asemele “proua Vaarikas”.
Selleks käivita käsurida, anna käsk %s/preili Maasikas/proua Vaarikas/
, vajuta klahvi Enter - ja asendused ongi tehtud.
Näide 6.4. Nõudlikum näide
See näide selgitab tagasiviidete ja märgiklasside kasutamist (kui sa ei tea, mis need on, vaata selgitusi edaspidi viidatud dokumentides).
Oletame, et sul on selline rida:
void MyClass::DoStringOps( String &foo, String &bar String *p, int &a, int &b )
Äkki taipad, et see pole mitte kõige kaunim kood, ja otsustad kasutada võtit const
kõigi “aadressiargumentide” puhul (need on need, mille puhul argumendi ees seisab operaator &). Ühtlasi tahad ühtlustada tühikute kasutamist, nii et iga sõna vahel oleks vaid üks tühik.
Käivita redigeerimiskäsu dialoog ja sisesta sinna: s/\s+(\w+)\s+(&)/ const \1 \2/g
ning vajuta nuppu . Avaldise lõpus paiknev g
annab regulaaravaldisele korralduse rekompileerida iga sobivus tagasiviidete säilitamiseks.
Väljund: void MyClass::DoStringOps( const String &foo, const String &bar String *p, const int &a, const int &b )
Ja ongi valmis! Mis siis tegelikult juhtus? Juhtus see, et me otsisime tühikut (\s+
), millele järgneks üks või enam tähte (\w+
), millele omakorda järgneks tühik (\s+
) ja sellele omakorda ja-märk. Otsingu käigus salvestasime tähekombinatsioonid ja ja-märgid edasiseks kasutamiseks asendusoperatsioonis. Seejärel asendasime sobinud kohad tühikuga, millele järgneb “const”, millele järgneb tühik, millele järgneb meelde jäetud tähekombinatsioon (\1
, millele järgneb tühik, millele järgneb meelde jäetud ja-märk (\2
). Lihtne, eks ju?
Pane tähele, et mõnel juhul oli täheühendiks “String”, mõnel juhul aga “int”, nii et märgiklassi \w
ja kvantori +
kasutamine oli väga mõistlik tegu.
goto [TÄISARV rida]
Selle käsuga saab liikuda määratud reale.
find [muster]
Selle käsuga saab liikuda sinna, kus esimest korda esineb muster
. Selle järgmisi esinemisi saab leida menüükäsuga -> (vaikimisi kiirklahv F3).
Otsimiskäsku saab täiendavalt seadistada, kui lisada koolon ja selle järele mõni võti, nii et käsk võtab kuju find:võtmed muster
. Kasutada saab järgmisi võtmeid:
b
Otsing tagasisuunas
c
Otsing alates kursori asukohast.
e
Otsing ainult valikus.
r
Regulaaravaldise otsing. Selle korral võid anda \N
, kus N on arv, mis tähistab asendusstringi hõivet.
s
Tõstutundlik otsing.
w
Ainult täissõnade sobivus.
ifind [muster]
See käsk võimaldab otsimist “lennult”, see tähendab, otse kirjutamise ajal. Selle käitumist või otsingut saab seadistada käsule koolonit ja selle järele mõnda võtit lisades, nii et käsk võtaks kuju ifind:võtmed muster
. Kasutada saab järgmisi võtmeid
b
Otsing tagasisuunas
r
Regulaaravaldise otsing.
s
Tõstutundlik otsing.
c
Otsing alates kursori asukohast.
Koodi voltimine võimaldab peita redaktoris dokumendi osi, muutes nii eriti suured dokumendid lihtsamini jälgitavaks. Kate arvutab voltimispiirkondi välja süntaksi esiletõstu definitsioonides antud reeglite põhjal, mistõttu see on kasutatav ainult teatud vormingutes - tavaliselt lähtekoodis, XML-märkekeeles ja muude selliste failide korral. Enamik koodivoltimist toetavaid esiletõstu definitsioone lubab ka kasutajal endal määrata voltimispiirkondi, mida tavaliselt tähistavad võtmesõnad BEGIN
ja END
.
Koodivoltimise kasutamiseks lülita sisse voltimismärgid käsuga ->. Voltimismärkide paneel vasakus servas näitab graafiliselt voltimispiirkondi, märgid +/- osutavad antud piirkonnas võimalikele toimingutele: - tähendab, et piirkond on avatud ning märgil - klõpsamine suleb piirkonna, kusjuures - asendub märgiga +.
Voltimispiirkondades saab kasutada nelja käsku, mida tutvustab lähemalt menüükäskude ülevaade.
Kui sa ei soovi koodivoltimist kasutada, võid eemaldada märke valiku Voltimismärkide näitamine (kui võimalik) eest redaktori seadistuste välimuse leheküljel.
Alates versioonist 2.5 toetab Kate redaktorikomponent skripte, täpsemalt ECMA skriptikeelt, mida tuntakse ka JavaScripti nime all.
Skripte saab kasutada ainult sisseehitatud käsurea vahendusel. Eelduseks on see, et skript asuks kataloogis, kust Kate oskab selle üles leida, samuti võiks selle juurde kuuluda .desktop-fail, mis defineerib skripti omadused. Sobiv kataloog on Kate andmekataloogide hulka kuuluv katepart/scripts
. Andmekataloogid leiab käsuga kde-config --path
data
. Tavaliselt on vähemalt süsteemi ja personaalne andmekataloog. Süsteemi andmekataloogi skriptid on mõistagi kättesaadavad kõigile süsteemi kasutajatele, personaalses kataloogis asuvad skriptid aga ainult vastavale kasutajale.
See võimalus on eksperimentaalne ja võib tulevikus üle elada mitmesuguseid muudatusi.
Me teame, et paljud pettuvad, kuna ei saa lisada oma skripte menüüsse ega omistada neile kiirklahve. Me vabandame ja loodame, et see saab kunagi võimalikuks.
Praegu ei ole ka võimalik edastada skriptidele mingeid argumente. Ole kannatlik ja ühel ilusal päeval saab ka see võimalikuks.
Me toome siin ära kõik funktsioonid ja omadused, mis on saadaval objektidele document ja view. Lisaks saab kasutada mõistagi kõiki standardseid objekte nagu Math, String, Regex ja nii edasi.
Skripti käivitamisel on document
objekt aktiivne dokument ja view
objekt akiivne vaade.
Argumentide tüübid ei ole loomulikult praegu JavaSrciptis kasutusel, need osutavad ainult sellele, millist laadi väärtust funktsioonid ootavad.
Globaalsed funktsioonid
debug( string
) [function]
Parameetrid
string
string väljundile
Saadab stringi standardveaväljundisse STDERR kdDebug()
vahendusel. Väljundiks kasutatakse spetsiaalset väljundipiirkonda, mille prefiks on Kate (KJS Scripts):
document
API
document.attribute( rida
, veerg
); [function]
Parameetrid
uint rida
rida, millele atribuut leitakse.
uint veerg
veerg, millele atribuut leitakse.
Tagastab atribuudi arvulise ID dokumendi asukohas [rida
,veerg
]. Atribuut tähistab visuaalset välimust või teksti stiili, seda kasutatakse ka teksti spetsiifilise osa süntaksi esiletõstu arvutamisel sellistes segavormingutes nagu HTML või PHP.
document.canBreakAt( Char c
, uint atribuut
); [function]
Parameetrid
c
testitav märk
atribuut
atribuut c
asukohas
Tagastab, kas rida on lubatud murda märgi c juures atribuudiga atribuut. Tulemus saadakse esiletõstu uurides, millele kuulub atribuut, ja selgitades, milliste märkide korral on reamurdmine lubatud.
document.canComment( uint algus_atribuut
, uint lõpp_atribuut
); [function]
Parameetrid
algus_atribuut
atribuut kommentaariks muudetava vahemiku alguses.
lõpp_atribuut
atribuut kommentaariks muudetava vahemiku lõpus.
Tagastab, kas algus_atribuut ja lõpp_atribuut kuuluvad samasse süntaksi esiletõstu süsteemi. Kui kuuluvad, on kõik korras.
document.clear(); [function]
Puhastab dokumendi.
document.commentStart( uint atribuut
); [function]
Parameetrid
atribuut
teksti atribuut, millele hangitakse commentStart string.
Tagastab stringi, mis on nõutav mitmerealise kommentaari alustamiseks antud atribuudiga tekstile või tühja stringi, kui antud teksti korral ei ole mitmerealised kommentaarid toetatud.
document.commentMarker( uint atribuut
); [function]
Parameetrid
atribuut
teksti atribuut, millele hangitakse commentMarker string.
Tagastab stringi, mida kasutatakse ülejäänud rea märkimiseks kommentaarina antud atribuudiga tekstis või tühja stringi, kui antud teksti korral ei ole üherealised kommentaarid toetatud.
document.commentEnd( uint atribuut
); [function]
Parameetrid
atribuut
eksti atribuut, millele hangitakse commentEnd string.
Tagastab stringi, mis on nõutav mitmerealise kommentaari lõpetamiseks antud atribuudiga tekstile või tühja stringi, kui antud teksti korral ei ole mitmerealised kommentaarid toetatud.
document.editBegin(); [function]
Redigeerimisgrupi algus. Kõik toimingud, mis tehakse kuni väljakutseni editEnd(), rühmitatakse ühe tagasivõtmistoimingu alla.
document.editEnd(); [function]
Redigeerimisgrupi lõpp.
document.highlightMode; [property:read only]
Dokumendi esiletõstu režiimi nimi, näiteks JavaScript või C++. Kui dokumendile pole süntaksi esiletõstu määratud, väärtus puudub (None). Pane tähele, et sul tuleb kasutada ingliskeelset nime juhul, kui see erineb tõlgitud nimest.
document.indentMode; [property:read only]
Dokumendi treppimise režiim, näiteks normal
või cstyle
. Pane tähele, et kui treppimise režiimi pole määratud, väärtus puudub (none
).
document.indentWidth; [property:read only]
Dokumendi taande laius. Seda kasutatakse siis, kui sisse on lülitatud treppimine tühikutega.
document.insertLine( uint rida
, string tekst
); [function]
Parameetrid
rida
dokumendi reanumber
tekst
lisatav tekst
Lisab uue rea tekstiga tekst
reale rida
.
document.insertText( uint rida
, uint veerg
, string tekst
); [function]
Parameetrid
rida
reanumber
veerg
veerg
tekst
lisatav tekst
Lisab teksti tekst
reale rida
ja veergu veerg
.
Tagastab dokumendi suuruse baitides.
document.lines(); [function]
Tagastab dokumendi ridade arvu.
Tõeväärtus, mis teatab, kas dokumendis on lubatud segastiilis treppimine. Kui on, siis on treppimine optimeeritud, et võimaldada tabeldusmärkide ja tühikute kasutamist segiläbi, nagu näiteks redaktor Emacs.
uint rida
); [function]Parameetrid
rida
reanumber
Kustutab dokumendis rea rida.
document.removeText( uint algusRida
, uint algusVeerg
, uint lõppRida
, uint lõppVeerg
); [function]
Parameetrid
algusRida
määrab algusrea
algusVeerg
määrab algusveeru
lõppRida
määrab lõpprea
lõppVeerg
määrab lõppveeru
Eemaldab teksti alates reast algusRida
ja veerust algusVeerg
kuni reani lõppRida
jaa veeruni lõppVeerg
.
document.setText( string tekst
); [function]
Parameetrid
tekst
dokumendi tekst
Määrab kogu dokumendi sisuks teksti tekst
.
document.spaceIndent; [property:read only]
Tõeväärtus, mis teatab, kas dokumendis on lubatud treppimine tühikutega. Kui on, trepitakse dokumendis indentWidth arvu tühikutega taseme kohta, vastasel juhul ühe tabeldusmärgiga taseme kohta.
document.textFull(); [function]
Tagastab dokumendi kogu teksti. Kui see on mitmel real, eristab ridu reavahetusmärk \n
.
document.textLine( uint rida ); [function]
Parameetrid
rida
reanumber
Tagastab teksti real rida
.
document.textRange( uint algusRida
, uint algusVeerg
, uint lõppRida
, uint lõppVeerg
); [function]
Parameetrid
algusRida
määrab algusrea
algusVeerg
määrab algusveeru
lõppRida
määrab lõpprea
lõppVeerg
määrab lõppveeru
Tagastab teksti määratud vahemikus. Kui see on mitmel real, eristab ridu reavahetusmärk \n
.
view
API
view.clearSelection(); [function]
Tühistab kogu teksti valimise.
view.cursorColumn(); [function]
Tagastab kursori asukohaveeru (tabeldusmärgid laiendatakse).
view.cursorColumnReal(); [function]
Tagastab reaalse kursori asukohaveeru (tabeldusmärgid lähevad ühe ette).
view.cursorLine(); [function]
Tagastab kursori asukoharea.
view.hasSelection(); [function]
Tagastab true
(tõene), kui vaade sisaldab valitud teksti, vastasel juhul false
(väär).
view.removeSelectedText(); [function]
Eemaldab valitud teksti, kui vaates on tekst valitud.
view.selectAll(); [function]
Valib kogu teksti.
view.selection(); [function]
Tagastab valitud teksti. Kui see on mitmel real, eristab ridu reavahetusmärk \n
.
view.selectionEndColumn; [property:read only]
Tagastab valiku lõppveeru.
view.selectionEndLine; [property:read only]
Tagastab valiku lõpprea.
view.selectionStartColumn; [property:read only]
Tagastab valiku algusveeru.
view.selectionStartLine; [property:read only]
Tagastab valiku algusrea.
view.setCursorPosition( uint rida
, uint veerg
); [function]
Parameetrid
rida
määrab kursori rea.
veerg
määrab kursori veeru.
Seab kursori vaates asukohta [rida
, veerg
]. See määrab kursori asukoha visuaalselt, mis tähendab, et tabeldusmärki arvestatakse vastavalt TAB laiusele
sõltuvalt positsioonist reas. Kursori asukoht tuuakse nähtavale. Nii rida kui veergu hakatakse lugema nullist.
view.setCursorPositionReal( uint rida
, uint veerg
); [function]
Parameetrid
rida
määrab kursori rea.
veerg
määrab kursori veeru.
Seab kursori asukohta [rida
, veerg
]. See määrab kursori asukoha stringis, mis tähendab, et tabeldusmärki arvestatakse ühe ette. Kursori asukoht tuuakse nähtavale. Nii rida kui veergu hakatakse lugema nullist.
view.setSelection( uint algusRida
, uint algusVeerg
, uint lõppRida
, uint lõppVeerg
); [function]
Parameetrid
algusRida
määrab algusrea
algusVeerg
määrab algusveeru
lõppRida
määrab lõpprea
lõppVeerg
määrab lõppveeru
Määrab valiku alates reast algusRida
ja veerust algusVeerg
kuni reani lõppRida
ja veeruni lõppVeerg
.
Näide 6.6. Näidisskript
Me loome näidisena väikese skripti, mis muudab valiku suurtäheliseks. On selge, et kõigepealt tuleb kontrollida, kas valik on olemas. Kui on, hangime teksti, muudame selle tõstu ja asendame siis uuega. Teostus näeb välja selline:
if ( view.hasSelection() ) { // uppercase selection column = view.selectionStartColumn; line = view.selectionStartLine; selection = view.selection().toUpperCase(); document.editBegin(); view.removeSelectedText(); document.insertText( line, column, selection ); document.editEnd(); }
Selle toimingu grupeerimiseks, et neid saaks tagasi võtta üheainsa käsuga , tuleb kapseldada read
view.removeSelectedText()ja
document.insertText()järgmiste ridade vahele:
document.editBegin()ja
document.editEnd().
Näide 6.7. .desktop
-faili näidis
Toome siin eeltoodud skriptiga kaasneva .desktop-faili näidise.
# Example of a .desktop file [Desktop Entry] Encoding=UTF-8 Name=Kate Part JavaScript Uppercase Comment=Script to uppercase the selection X-Kate-Command=uppercase-selection X-Kate-Help=<p>Usage: <code>uppercase-selection</code></p>
Nagu näed, saad määrata kodeeringu, nime, kommentaari, abiteksti (X-Kate-Help) ning käsureanime (X-Kate-Command). Kirjed Name, Comment ja X-Kate-Help tõlgitakse automaatselt teistesse keeltesse, kui failid on KDE SVN-hoidlas, kus tõlkemeeskonnad saavad neile tõlked luua.
Kate otsib skriptikataloogidest (vaata eespool) *.js
-faile. Iga faili korral kontrollitakse, kas sellega kaasneb .desktop
-fail: näiteks uppercase.js korral otsitakse faili uppercase.desktop.
Kui .desktop
-faili ei leita, registreerib Kate komponendi käsurida skripti failinimega ilma laiendita .js, mis meie näite korral oleks lihtsalt uppercase
. Kui selline nimi sobib ning sul pole vaja lisavõimalusi, mida pakub .desktop
-fail, siis ei ole ka vajadust .desktop
-faili luua.
Kui .desktop
-fail on olemas, loeb Kate komponent nime, mille all skript registreerida .desktop-kirjest X-Kate-Command (meie näites X-Kate-Command=uppercase-selection).
See käsk käivitab uue dokumendi redigeerimisaknas. Vasakul, paneelis kannab fail nime Nimetu.
Avab KDE failidialoogi, kus saab avada ühe või ka rohkem faili.
See käsk võimaldab avada faili alammenüüst, mis sisaldab hiljuti redigeeritud failide nimekirja.
See alammenüü näitab rakendusi, mis oskavad midagi peale hakata sinu aktiivse dokumendiga (vastavalt selle MIME tüübile). Mõne kirje valimisel avataksegi dokument valitud rakenduses.
Lisaks käivitab kirje dialoogi, kus saab valida muu rakenduse aktiivse faili avamiseks. Samas jääb see fail endiselt avatuks ka Kates.
See käsk salvestab faili. Seda on mõtet sageli kasutada. Kui fail on nimetu, siis on asemel .
Selle käsuga saab failidele nime anda ja neid ümber nimetada. See käivitab failisalvestamisdialoogi, mis on sarnane failiavamisdialoogile. Selle abil saab ka liikuda oma failisüsteemis, olemasolevaid faile eelvaadelda või filtreerida failivaade maskidega.
Kirjuta nimi, mida soovid salvestatavale failile anda, asukoha liitkasti ja vajuta nuppu .
See käsk salvestab kõik muudetud avatud failid.
Laadib aktiivse faili uuesti. See käsk võib olla vajalik, kui mingi muu rakendus või protsess on muutnud faili ajal, mil see oli avatud Kates.
Trükib aktiivse faili.
Ekspordib faili HTML-vormingusse, et seda saaks vaadata näiteks veebis.
Avab e-posti rakenduse ja lisab aktiivse faili kirjale.
Selle käsuga saab sulgeda aktiivse faili. Kui selles on salvestamata muudatusi, küsitakse sinu käest, kas salvestada need, enne kui Kate faili sulgeb.
See käsk sulgeb kõik failid, mis on avatud Kates.
See käsk sulgeb Kate ja kõik failid, mida redigeeriti. Kui neis on salvestamata muudatusi, küsitakse sinu käest, kas soovid neid salvestada.
Menüü sisaldab palju käske, mis on vahetult seotud aktiivse dokumendi redigeerimisega.
Menüükirjed
Tühistab viimase redigeerimistegevuse (kirjutatud märgi, kopeerimise, lõikamise jne).
Kui sisse on lülitatud grupeeritud tagasivõtmine, on võimalik tühistada mitu sama tüüpi redigeerimistegevust, näiteks sisestatud märki.
Tühistab viimase tagasivõtmiskäsu.
Eemaldab valitud teksti (kui on) ja asetab selle lõikepuhvrisse.
Kopeerib valitud teksti (kui on) lõikepuhvrisse.
Kopeerib valitud teksti HTML-i süntaksi esiletõstuga.
Kopeerib lõikepuhvri esimese elemendi redaktorisse kursori asukohta.
Kui sisse on lülitatud valiku ülekirjutamine, kirjutab asetatud tekst valiku üle, kui tekst on valitud.
Valib kogu teksti redaktoris.
Tühistab redaktoris teksti valiku (kui esineb).
Lülitab valikurežiimi. Kui valikurežiim on “BLOKK”, siis saab teha vertikaalseid valikud, s.t. valida näiteks ridades 9 kuni 15 veerud 5 kuni 10.
Olekuriba näitab parajasti kehtivat valikurežiimi, mis võib olla kas “NORM” või “BLK”.
Käivitab otsimisdialoogi, mis võimaldab otsida mingit teksti redigeeritavas dokumendis.
Liigub alates kursori asukohast allapoole järgmisele sobiva otsitava teksti või regulaaravaldise asukohale.
Liigub alates kursori asukohast ülespoole järgmisele sobiva otsitava teksti või regulaaravaldise asukohale.
Käivitab asendamisdialoogi, mis võimaldab asendada määratud teksti ühel või enamal korral millegi muuga.
Käivitab dialoogi "Liikumine reale", mis võimaldab sisestada reanumbri, millele soovid dokumendis liikuda.
Dokumentide menüü näitab kirjet iga avatud dokumendi kohta. Neist mõnel klõpsates muutub soovitud dokument aktiivseks. Kui sul on mitu erineva paneelivormistusega dokumenti, muutub vastavalt ka paneeli välimus.
Lisaks on siin käsud avatud dokumentide sirvimiseks:
Menüükirjed
See muudab mitme avatud dokumendi korral aktiivseks eelmise dokumendi.
Siin kasutatav järjekord on avamise järjekord, mitte loogiline järjekord. See võib küll Kate tulevastes versioonides teisiti olla.
See muudab mitme avatud dokumendi korral aktiivseks eelmise dokumendi. Kui sul on mitu erineva paneelivormistusega dokumenti, muutub vastavalt ka paneeli välimus.
Siin kasutatav järjekord on avamise järjekord, mitte loogiline järjekord. See võib küll Kate tulevastes versioonides teisiti olla.
Menüü võimaldab hallata aktiivse redaktori seadistusi ja paneele.
Menüükirjed
See käsk lülitub sisseehitatud käsureale.
See alammenüü toob ära saadaolevad skeemid. Siin saab muuta aktiivse vaate skeemi, vaikimisi kasutatavat skeemi saab muuta seadistustedialoogis.
Lülitab dünaamilise reamurdmise kasutamise aktiivses vaates sisse või välja. Dünaamiline reamurdmine muudab vaates nähtavaks kogu teksti ja kõrvaldab rõhtsa kerimisriba kasutamise vajaduse, näidates vajaduse korral üht reaalset rida mitmel real.
Lülitab sisse või välja püstjoone näitamise, mis osutab reamurdmise veerule, nagu see on kindlaks määratud seadistustedialoogis. See eeldab, et sa kasutad fikseeritud laiusega fonti.
See on lülitav element, mille märkimine esitab ikoonipiirde aktiivsest redaktorist vasakul, märkimise tühistamine aga kaotab selle.
See on lülitav element, mille märkimine näitab aktiivses redaktoris avatud dokumendist vasakul asuval paneelil reanumbreid, tühistamine aga eemaldab need.
Lülitab järjehoidjate (ja teiste märkide) näitamise püstisel kerimisribal sisse või välja. Sisselülitamise korral tähistavad märke peened märgi värvis jooned kerimisribal, millele hiire keskmise nupuga klõpsates keritakse vaade märgi asukohta.
Lülitab voltimismärkide paneeli näitamise vaate vasakus servas sisse või välja. Vaata osa Koodi voltmise kasutamine.
Kerib kokku kõik dokumendi tipptaseme piirkonnad.
Avab kõik dokumendi tipptaseme piirkonnad.
Kerib kokku kursorile lähima piirkonna.
Avab kursorile lähima piirkonna.
Menüü võimaldab töötada aktiivses dokumendis leiduvate järjehoidjatega.
Allpool siinkirjeldatud menüükirjeid on näha iga aktiivses dokumendis esineva järjehoidja kirje. Tekst kujutab endast märgitud rea mõnda esimest sõna. Kirje valimine viib kursori valitud rea algusesse. Redaktor kerib edasi või tagasi, muutmaks rida nähtavaks.
Menüükirjed
Lisab või eemaldab aktiivse dokumendi aktiivse rea järjehoidja (kui järjehoidja on olemas, siis eemaldab, kui mitte, siis lisab).
Kõrvaldab (eemaldab) aktiivse dokumendi kõik järjehoidjad.
Viib kursori antud reast eespool seisva järjehoidja rea algusse. Menüükirje tekst sisaldab ka reanumbrit ja rea teksti algust. See on kasutatav ainult siis, kui reast, millel kursor asub, eespool on mõni järjehoidja.
Viib kursori antud reast tagapool seisva järjehoidja rea algusse. Menüükirje tekst sisaldab ka reanumbrit ja rea teksti algust. See on kasutatav ainult siis, kui reast, millel kursor asub, tagapool on mõni järjehoidja.
Saadab parajasti valitud teksti terminaliemulaatorisse. Teksti järele reavahetust ei lisata.
See alammenüü sisaldab kõiki seadistatud väliseid tööriistu.
Määrab aktiivsele dokumendile kirjutuskaitstud režiimi. See väldib igasugust teksti lisamist ja dokumendi vorminduse muutmist.
Vali aktiivse dokumendi failitüübi skeem. See tühistab aktiivse dokumendi jaoks globaalse failitüübi, mis on kindlaks määratud dialoogi -> failitüüpide kaardil.
Vali aktiivse dokumendi esiletõstmise skeem. See tühistab aktiivse dokumendi jaoks globaalse esiletõstmise, mis on kindlaks määratud dialoogis ->
Vali aktiivse dokumendi treppimise stiil. See tühistab aktiivse dokumendi jaoks globaalse treppimise, mis on kindlaks määratud dialoogis ->
Vali aktiivse dokumendi kodeering. See tühistab aktiivse dokumendi jaoks vaikekodeeringu, mis on kindlaks määratud dialoogi -> kaardil Avamine/Salvestamine.
Vali aktiivse dokumendi rea lõpu stiil. See tühistab aktiivse dokumendi jaoks rea lõpu stiili, mis on kindlaks määratud dialoogis ->
See käivitab õigekirja kontrollimise programmi, mille eesmärk on aidata leida ja parandada valesti kirjutatud sõnu. Kirjel klõpsates ilmub kontrollija aken, kus kasutaja saab määrata, mida ja kuidas parandatakse. Dialoogis on üksteise kohal neli põhiosa, mis ülevalt alla on järgmised:
Siin näitab õigekirja kontrollija vigaseks peetavat sõna. See tähendab, et seda sõna ei leidu sõnaraamatus ehk failis, mis sisaldab kõigi korrektseid sõnu, millega võrreldakse redaktori tekstis leiduvaid sõnu.
Kui kontrollija leiab sõnaraamatust sarnaseid sõnu, näidatakse siin neist esimest. Kasutaja võib pakkumise vastu võtta, kirjutada siia oma variandi või valida allolevast kastist mõne teise pakkumise.
Siin näitab õigekirja kontrollija tundmatu sõna võimalikke asendusi, kui leiab neid sõnaraamatust. Mõnel soovitusel klõpsates sisestatakse see ülalolevasse kasti Asendatakse järgnevaga.
Kui sul on paigaldatud mitu sõnaraamatut, saad siin valida, millist keelt/sõnaraamatut kasutada.
Dialoogi paremas servas on viis nuppu, millega kasutaja saab juhtida õigekirja kontrollimist. Need on järgmised:
Sellele nupule klõpsates lisatakse kastis Tundmatu sõna olev sõna sõnaraamatusse. See tähendab, et edaspidi peab õigekirja kontrollija seda sõna õigesti kirjutatuks.
Sellele nupule klõpsates asendatakse tundmatu sõna sõnaga, mis leidub väljal Asendatakse järgnevaga.
Sellele nupule klõpsates ei asendata mitte ainult aktiivne tundmatu sõna, vaid sooritatakse sama asendus ka kõigil järgnevatel tundmatu sõna esinemiskordadel dokumendis.
Sellele klõpsates liigub õigekirja kontrollija järgmise tundmatu sõna juurde ilma praegusega midagi ette võtmata.
Sellele klõpsates ei võeta midagi ette aktiivse tundmatu sõnaga ning seda ei võeta vaatluse alla ka edaspidi.
See käib ainult aktiivse kontrollimise kohta. Kui käivitad õigekirja kontrolli kunagi hiljem uuesti, peetakse seda sõna taas vigaseks.
Dialoogi alumises servas asub veel kolm nuppu. Need on järgmised:
See avab KDE abikeskuses Kate käsiraamatu (käesoleva dokumendi).
Sellele nupule klõpsates lõpetatakse kontrollimine ja naastakse dokumendi juurde.
Sellele nupule klõpsates lõpetatakse kontrollimine, kõik tehtud muudatused tühistatakse ja naastakse dokumendi juurde.
See käivitab õigekirja kontrollimise mitte dokumendi algusest, vaid kursori hetkeasukohast.
Kontrollib aktiivse valiku õigekirja.
Suurendab lõigu taanet ühe sammu võrra. Sammu suurus sõltub treppimise seadistustest.
Vähendab lõigu taanet ühe sammu võrra. Sammu suurus sõltub treppimise seadistustest.
Eemaldab aktiivse valiku või kursori asukoharea treppimise. Treppimise eemaldamisel rakendatakse kogu valitud tekstile sinu valitud treppimise seadistusi.
Joondab aktiivse rea või valitud read vastavalt treppimise režiimile ja dokumendi treppimise seadistustele.
Lisab ühe tühiku rea algusse, kus asub kursor, või valitud ridade algusse.
Eemaldab ühe tühiku (kui on olemas) rea algusest, kus asub kursor, või valitud ridade algusest.
Muudab valitud teksti või kursori järel asuva tähe suurtäheliseks.
Muudab valitud teksti või kursori järel asuva tähe väiketäheliseks.
Annab valitud teksti sõnadele või aktiivsele sõnale suure algustähe.
Liidab valitud read või aktiivse rea ja selle järel asuva rea, kasutades eraldajana üht tühimärki. Ühendatud ridade alguses või lõpus olevad tühimärgid eemaldatakse.
Rakendab staatilist reamurdmist kogu dokumendile. See tähendab, et teksti uut rida alustatakse automaatselt kohe pärast seda, kui mingi rida ületab pikkust, mis on määratud kindlaks dialoogi -> kaardi Redigeerimine valikuga Reamurdmine veerust.
See menüü sisaldab kirjeid Kate seansside kasutamiseks ja haldamiseks. Täpsemalt räägib neist osa Seansside kasutamine.
Loob uue tühja seansi. Kõik parajasti avatud failid suletakse.
Avab olemasoleva seansi. Seda aitab teha seansivalija.
Sellest alammenüüst saab avada olemasoleva seansi.
Salvestab aktiivse seansi. Kui see on anonüümne, palutakse sul sellele nimi anda.
Salvestab aktiivse seansi uue nimega. Sul palutakse nimi määrata.
Avab seansihalduri, kus saab seansse ümber nimetada ja kustutada.
Menüü võimaldab muuta peaakna omadusi, näiteks näidata või varjata tööriistaribasid, ning siit pääseb ka seadistustedialoogide juurde.
Selles alammenüüs on kirjas saadaolevad tööriistaribad, mille näitamise saab siin ka sisse või välja lülitada.
Lülitab täisekraanirežiimi.
Kate tulevastes versioonides viiakse see kirje üle menüüsse Aken.
Käivitab tavapärase KDE kiirklahvide seadistamise dialoogi.
Käivitab tavapärase KDE tööriistaribade seadistamise dialoogi.
Käivitab peamise seadistamisdialoogi
Avab Kate uue akna, mis on identne aknaga, milles avamiskäsk anti.
Poolitab paneeli (mis võib olla peamine redigeerimisala) kaheks võrdse suurusega paneeliks, kusjuures uus asub vasakul pool praegust. Uus paneel muutub aktiivseks ja näitab sama sisu, mis vana paneel.
Vaata ka peatükki Töö Katega MDI režiimis
Poolitab aktiivse paneeli (mis võib olla peamine redigeerimisala) kaheks võrdse suurusega paneeliks, kusjuures uus asub vanast allpool. Uus paneel muutub aktiivseks ning näitab sama dokumenti, mis vana paneel.
Vaata ka peatükki Töö Katega MDI režiimis
Sulgeb aktiivse paneeli. Kui on ainult üks paneel (peamine redigeerimisala), siis käsku kasutada ei saa.
Paneeli sulgemisega ei suleta ühtegi dokumenti – nad on endiselt kättesaavad nii menüüst kui failinimekirjast.
Vaata ka peatükki Töö Katega MDI režiimis
Toob fookusse järgmise dokumendivaate, kui oled jaganud redaktoriala mitmeks vaateks.
Toob fookusse eelmise dokumendivaate, kui oled jaganud redaktoriala mitmeks vaateks.
Lülitab nuppudega külgribade näitamise sisse või välja. See ei mõjuta külgriba sisu näitamist: kõik külgribad, mis on nähtavad, ka jäävad nähtavaks, ja kui sa omistad alltoodud käskudele kiirklahvid, toimivad mõistagi ka need.
Lülitab Kate dokumentide nimekirja näitamist.
Lülitab Kate failisüsteemi sirvija näitamist.
Lülitab Kate tööriista Otsimine failides näitamist.
Lülitab sisseehitatud terminaliemulaatori esitust.
Esimesel käivituskorral luuakse terminal.
Kui valitakse terminaliemulaatori esitus, siis muutub see aktiivseks, nii et seal saab kohe hakata käske andma. Kui sisse on lülitatud võimalus Konsooli sünkroniseerimine aktiivse dokumendiga peamise seadistustedialoogi üldiste seadistuste leheküljel, liigub shelliseanss aktiivse dokumendi kataloogi, kui see on kohalik fail.
Lisaks tavapärastele KDE menüü elementidele, mida siin kirjeldatakse, lisandub siia juhul, kui oled paigaldanud pluginaid, ka kirje, mis avab pluginate käsiraamatud.
Käivitab KDE abisüsteemi ja avab Kate abimaterjali (käesoleva käsiraamatu).
Muudab hiirekursori noole ja küsimärgi kombinatsiooniks. Klõpsates nüüd mõnel Kate elemendil, avaneb väike abiaken (kui see on antud elemendi kohta olemas), mis selgitab elemendi funktsiooni.
Avab vearaporti dialoogi, mille abil saab teada anda veast või esitada oma “soov” millegi parandamiseks.
Näitab versiooni ja infot autori kohta.
Näitab KDE versiooni ja muud olulisemat põhiinfot.
Kate pakub mitmeid võimalusi kujundada rakendus just selliseks, nagu soovid. Tähtsaimad võimalused on järgmised:
See on peamine seadistusvahend, mis võimaldab seadistada Kate rakendust, redaktorikomponenti ja pluginate kasutamist.
Lubab muuta sagedamini kasutatavaid seadistusi ning käivitada seadistustedialooge.
Võimaldab poolitada aktiivse tööpinna, samuti näidata parajasti redigeeritava dokumendi ikoonide ja reanumbrite paneeli.
Põimitav Konsole kasutab KDE juhtimiskeskuses määratud seadistust ning seda võib oma vajaduste kohaselt seadistada hiire nupuga klõpsates ja hüpikmenüüst valides.
Kate seadistustedialoog näitab vasakul teemapuud ning paremal vastavalt valitud teema seadistustelehekülge.
Seadistused on jagatud kahte rühma:
Sellesse gruppi kuuluvad leheküljed Kate üldiseks seadistamiseks
See lehekülg sisaldab mõningaid Kate üldisi valikuid.
Sisselülitamise korral näitab Kate akna tiitliribal aktiivse dokumendi täielikku URL-i, mitte ainult failinime.
See annab põimitud Konsoleile käsu cd ehk käsu suunduda aktiivse dokumendi kataloogi, kui see käivitatakse või aktiivseks muudetakse. Kui see ei ole lubatud, tuleb vastavad operatsioonid Konsoleil ise sooritada.
Märkimisel annab Kate teada failidest, mida on muudetud väljaspool rakendust, kui fookus asub muidugi peaaknas. Sul on võimalik korraga tegelda mitme muudetud failiga, neid uuesti avada, salvestada või muudatustest loobuda.
Kui see ei ole märgitud, palub Kate midagi ette võtta ainult siis, kui väljaspool muudetud fail rakenduses fookuse saab.
Märkimisel salvestab Kate dokumentide sulgemise järel ka sellised metaandmed nagu järjehoidjad ja seansi seadistused. Neid andmeid kasutatakse dokumendi taasavamisel uuesti, kui dokumenti ei ole vahepeal kuidagi muudetud.
Siin saab määrata päevade maksimaalse arvu, mille jooksul säilitatakse avamata failide metainfo. See aitab vältida metainfo andmebaasi kasvamist liiga suureks.
See lehekülg sisaldab seansside kasutamisega seotud valikuid.
Märkimise korral salvestab Kate iga seansiga ka akna seadistused.
Siin saab määrata Kate käitumise käivitumisel. Neid seadistusi saab tühistada käsureal teistsuguseid korraldusi andes.
Selle valimisel avab Kate käivitamisel uue nimetu seansi.
Selle valimisel avab Kate käivitumisel viimati kasutatud seansi. See on abiks, kui sa kasutad alati sama seanssi või vahetad neid harva.
Selle valimisel näitab Kate alati väikest dialoogi, kus saad valida vajaliku seansi. See on vaikekäitumine. See on abiks, kui sul on sageli palju seansse.
Selle valimisel ei salvestada seansiandmete muudatusi (avatud failid ja sisselülitamise korral ka akna seadistused). Kui sul on salvestamata faile, siis nende salvestamise kohta päritakse sinu käest mõistagi aru. Selle valiku korral piisab, kui oled seansid korra seadistanud - sa ei pea muretsema failide sulgemise pärast, mida oled vaid korraks avanud ega soovi sama seanssi uuesti avades enam näha.
Selle valimisel salvestab Kate seansiandmed, kui tegemist ei ole just nimetu seansiga. Selle valiku korral taastatakse sinu seansid alati nii, nagu sa neist viimati lahkusid. See on vaikekäitumine.
Selle valimisel küsitakse sinu käest nimega seansi sulgemisel alati, kas soovid seansi salvestada.
Siin saab seadistada failisüsteemi sirvija tööriistariba nuppe, liigutades need, mida soovid seal näha, nimekirja Valitud tegevused ning nimekirja serval olevate nuppudega vajaduse korral nende järjekorda muutes.
Failisüsteemi sirvijal võib lasta automaatselt liikuda aktiivset dokumenti sisaldavasse kataloogi teatud sündmuste korral:
Kui dokument muutub aktiivseks.
Kui failisüsteemi sirvija on nähtaval.
Siin saab valida, kui pikk peaks olema sirvija ajalugu. Sirvija jätab meelde ainult unikaalsed asukohad, duublid eemaldatakse.
Siin saab valida, kui palju filtreid meelde jäetakse. Meelde jäetakse ainult unikaalsed filtrid, duublid eemaldatakse.
Siin saab määrata, kas failisüsteemi sirvija jätab seansside vahel meelde asukoha ja filtri või mitte.
Selles sektsioonis saab sisse või välja lülitada oma tegevuse visualiseerimise ning sisselülitamise korral valida, milliseid värve selleks kasutada. Täpsemalt räägib neist võimalustest sektsioon Dokumentide nimekiri.
Siin saab määrata, mille alusel sorteeritakse dokumentide nimekiri. Seda saab määrata ka nimekirjas hiire
nuppga klõpsates ilmuvast menüüst.Sellel leheküljel on näha Kate rakenduse paigaldatud pluginate nimekiri. Iga plugina juures näeb selle nime ja lühikirjeldust. Märkekastiga saab antud plugina sisse või välja lülitada.
Kui mõnel pluginal on seadistatavaid valikuid, näeb selle dialoogi antud lehekülje alamleheküljena.
Menüüs leiad alammenüü . Nendega saab välja kutsuda mõne muu rakenduse parajasti aktiivse dokumendiga seotud andmetega, näiteks selle URL-i, kataloogi, teksti või valikuga. Väliste tööriistade seadistamisleheküljel saab antud menüüd muuta, lisades või eemaldades sinna tööriistu või nende omadusi muutes.
Kõik välised tööriistad on olemuselt shellikäsud, mis sisaldavad dokumendi andmeid tähistavaid makrosid. Aktiveerimise korral asendatakse makrod aktiivsest dokumendist hangitud andmetega.
Väliste tööriistade omadused
Mõistlik nimi näitamiseks väliste tööriistade menüüs.
Tööriista aktiveerimisel käivitatav skript. Enne skripti edastamist shellile asendatakse järgmised makrod:
Aktiivse dokumendi täielik URL või tühi string, kui dokument pole salvestatud.
Kõigi avatud (kuid välja arvatud salvestamata) dokumentide tühikutega eraldatud URL-ide nimekiri.
Aktiivse dokumendi URL-l kataloogi näitav osa või tühi string, kui aktiivne dokument pole salvestatud.
Aktiivse dokumendi failinimi ilma asukohata või tühi string, kui aktiivne dokument pole salvestatud.
Reanumber, kus asub aktiivses dokumendis tekstikursor.
Veerunumber, kus asub aktiivses dokumendis tekstikursor.
Aktiivse dokumendi valitud tekst või tühi string, kui teksti pole valitud.
Kogu aktiivse dokumendi tekst. Pane tähele, et see võib põhimõtteliselt ületada sinu süsteemis lubatud maksimaalse käsu pikkuse. Kasuta seda võimalust seepärast ettevaatlikult.
Skripti peamine käivitatav fail. See on kohustuslik ning sellega testitakse, kas käsku saab üldse täita. Täielik asukoht on vajalik juhul, kui käivitatav fail ei asu muutujaga PATH
määratud asukohas.
Semikooloniga eraldatud MIME tüüpide nimekiri, mille puhul antud käsku kasutada. Praegu pole tarvitusel.
Lisaks võib valida võimaluse salvestada enne skripti käivitamist aktiivne dokument või ka kõik dokumendid. See on mugav juhul, kui skript peab lugema faili kettalt.
Seda määrates saab tööriista redaktori käsureal kasutada kujul exttool-Käsurea nimi
(siin antud stringile lisatakse ette “exttool-”).
Siia rühma on koondatud kõik Kate redaktorikomponendiga seotud leheküljed. Enamik siinseid seadistusi on vaikeväärtused, neid saab tühistada failitüüpi määrates, dokumendi muutujatega või neid isegi iga dokumendi puhul eraldi redigeerimise ajal muutes.
Selle märkimisel murtakse tekstiread akna nähtava osa piiril.
Siin saab valida, kas dünaamilise reamurdmise indikaatoreid näidatakse või mitte.
See võimaldab joondada dünaamiliselt murtud read püstsuunas esimese rea taandesügavuse järgi. See on abiks koodi või märkekeele muutmisel loetavamaks.
Lisaks saab siin määrata protsendina akna maksimaalse laiuse, mille ületamise korral dünaamiliselt murtud ridu enam püstsuunas ei joondata. Näiteks 50% valimise korral ei joondata ridu, mis on dünaamiliselt murtud kaugemal kui 50% akna laiusest.
Selle märkimisel näitab vaade koodi voltimise tähiseid, kui muidugi koodi voltimine on üldse võimalik.
Märkimise korral näeb vasakus servas ikoonipiiret. See näitab näiteks järjehoidjate tähiseid.
Märkimise korral näeb vasakus servas reanumbreid.
Märkimise korral näeb püstisel kerimisribal märke, mis tähistavad näiteks järjehoidjaid.
Järjehoidjad järjestatakse reanumbrite järgi, millele nad on seatud.
Uus järjehoidja lisatakse alati teiste järele sõltumata sellest, millisele kohale dokumendis ta osutab.
Märkimisel näitab redaktor püstjooni, mis aitavad näha treppimise asukohti.
Siin saab seadistada kõigi värviskeemide kõiki fonte ja värve, samuti luua uusi skeeme või olemasolevaid kustutada. Igal skeemil on oma värvid, fondid ning tavalise ja esiletõstetud teksti stiilid.
Kate on juba ette valinud parajasti aktiivse skeemi. Kui soovid kasutada mõnda muud skeemi, vali see liitkastist Skeem.
See on redaktoriala vaikimisi taust ja ühtlasi redaktoriala domineeriv värv.
See on valitud teksti taust. Vaikimisi on see globaalne valiku värv, mille määravad kindlaks sinu KDE värviseadistused.
See on aktiivse rea värv. Kui määrata see mõnevõrra erinevaks tavalise teksti värvist, näed paremini, millisel real parajasti viibid.
Selles liitkastis saab määrata mitmesuguste konkreetsete tekstielementide värvi. Siinne värv segatakse vastava rea taustavärviga, nii et rida, milles esineb mitu siinset elementi, võib olla päris kirju. Samu värve kasutatakse ka kerimisriba märkidel, kui nende näitamine on sisse lülitatud.
Seda märki kasutatakse ikooni-, reanumbrite ja koodivoltimise märkide piirde näitamisel redaktori vasakus servas, kui nende näitamine on sisse lülitatud.
Seda värvi kasutatakse reanumbrite näitamiseks vaate vasakus servas, kui nende näitamine on sisse lülitatud.
Seda värvi kasutatakse ühtekuuluvate sulgude tausta näitamiseks.
Seda värvi kasutatakse nii püstiselt joondatud dünaamiliselt murtud ridade vasakul pool asuva mustri kui ka staatilise reamurdmise märkija näitamisel.
Seda värvi kasutatakse tühimärkide tähistamiseks.
Siin saab valida skeemi fondi. Selleks võib olla mis tahes süsteemis saadaolev font, valida saab ka selle vaikesuuruse. Dialoogi allosas näeb näidisteksti, mis võimaldab kohe näha, kas valik vastab sinu maitsele.
Tavalise teksti stiilid päritakse esiletõstetud teksti stiilidest, mis lubab redaktoril näidata teksti väga ühtlaselt - nii kasutab näiteks kommentaaritekst sama stiili peaaegu kõigis tekstivormingutes, milles Kate üldse suudab teksti esile tõsta.
Nimed stiilide nimekirjas kasutavad nende jaoks määratud stiili, mis lubab kohe näha, milline antud element välja näeb.
Iga stiili puhul saab määrata üldisi atribuute ning esiplaani ja taustavärvi. Taustavärvi tühistamiseks kasuta hiire parema nupuga klõpsates ilmuvat menüüd.
Siin saab muuta konkreetsete esiletõstu definitsioonide korral kasutatavaid stiile. Redaktor valib juba ette esiletõstu, mida kasutab aktiivne dokument. Mõne muut esiletõstu stiilide muutmiseks vali see stiilide nimekirja kohal asuvast liitkastist Esiletõst.
Nimed stiilide nimekirjas kasutavad nende jaoks määratud stiili, mis lubab kohe näha, milline antud element välja näeb.
Iga stiili puhul saab määrata üldisi atribuute ning esiplaani ja taustavärvi. Taustavärvi tühistamiseks kasuta hiire parema nupuga klõpsates ilmuvat menüüd. Lisaks näeb, kas stiil vastab vaikimisi stiilile või mitte, ning soovi korral määrata, kas see peab sellele vastama või mitte.
Kindlasti märkad, et mitmed esiletõstud sisaldavad teisi esiletõste, mida tähistavad rühmad stiilide nimekirjas. Näiteks enamik esiletõste kasutab esiletõstu Alert ning paljud lähtekoodivormingud esiletõstu Doxygen. Nende rühmade värvide muutmine mõjutab aga ainult stiile valitud esiletõstus.
Valimise korral sunnib klahvi Home vajutamine kursori tühimärke eirama ja suunduma rea teksti algusse.
Sisselülitamise korral viib liikumine klahvidega Nool vasakule ja Nool paremale kursori rea alguses või lõpus viibimisel korral suunduma eelmisele või järgmisele reale, nagu seda teeb enamik redaktoreid.
Kui see ei ole sisse lülitatud, ei saa kursorit küll liigutada rea algusest vasakule, küll aga edasi rea lõpust, mis on abiks eriti programmeerijatele.
Selle valikuga muutub kursori käitumine, kui vajutada klahvi Page Up või Page Down. Kui see on märkimata, säilitab tekstikursor vastava klahvi vajutamisel oma suhtelise positsiooni Kate aknas - kui näiteks see oli varem keset teksti, jääb ta ka keset teksti (kui liikumisel ei jõuta just teksti algusse või lõppu). Kui valik on sisse lülitatud, liigub kursor klahvi vajutamisel vastavalt nähtavaleilmuva teksti alumisse või ülemisse ritta.
Määrab ridade arvu, mida võimaluse korral näidatakse all- ja ülevalpool kursorit.
Valik kirjutatakse teksti sisestamisel üle ja läheb kaotsi kursori liikumisel.
Valik jääb alles ka pärast kursori liikumist ja teksti sisestamist.
Märkimise korral lisab redaktor klahvi TAB vajutamisel kindla arvu tühikuid vastavalt asukohale tekstis ja määratlusele TAB laius
.
Sisselülitamise korral näitab Kate tabeldusmärke visuaalselt punktidena.
See tähendab ka seda, et alustava või lõpetava tühimärgi asemel näidatakse punkti. See viga parandatakse Kate tulevastes versioonides.
Kui valik Tabeldusmärgid asendatakse tühikutega on sisse lülitatud, saab siin kindlaks määrata, mitme tühikuga redaktor tabeldusmärgid automaatselt asendab.
Reamurdmine tähendab seda, et redaktor alustab teatud hetkel automaatselt uut rida (murrab senise rea) ja viib kursori uue rea algusse. Kate alustab uut rida automaatselt, kui aktiivne rida on saavutanud pikkuse, mille määrab valik Reamurdmise veerg.
Lülitab staatilise reamurdmise sisse või välja.
Märkimisel tõmmatakse püstjoon reamurdmise veeru kohale, mis on määratud dialoogi -> leheküljel Redigeerimine. Pane tähele, et reamurdmise märkijat näidatakse ainult siis, kui kasutad fikseeritud laiusega fonti.
Kui reamurdmine on sisse lülitatud, saab siin määrata rea pikkuse (märkides), mille saavutamise järel murrab redaktor automaatselt rida.
Märkimisel eemaldab Kate automaatselt tekstiridade lõpust liigsed tühikud.
Kui kasutaja sisestab vasakpoolse sulu ([, ( või {), lisab Kate automaatselt kursorist paremale vastava parempoolse sulu (}, ) või ]).
Siin saab määrata sammude arvu, mida Kate peab meeles toimingute tühistamiseks tagasivõtmise käsuga. Mida suurem on sammude arv, seda rohkem mälu Kate mõistagi ka vajab. Kui anda väärtuseks näiteks 10, saab kasutaja tagasi võtta viimased kümme toimingut, s.t. kümme korda nupule vajutades taastatakse tol hetkel valitsenud olukord.
Siin saab määrata, millist teksti kasutab Kate otsimisel (seda kasutatakse automaatselt otsimisdialoogis):
Eimidagi: otsitavat teksti ei üritata ära arvata.
Ainult valikut: olemasolu korral kasutatakse parajasti valitud teksti.
Valikut, siis käesolevat sõna: olemasolu korral kasutatakse parajasti valitud teksti, muul juhul aktiivset sõna.
Ainult käesolevat sõna: olemasolu korral kasutatakse sõna, milles asetseb parajasti kursor.
Käesolevat sõna, siis valikut: olemasolu korral kasutatakse aktiivset, muul juhul aktiivset valikut.
Siin saab valida vaikimisi kasutatava automaatse treppimise režiimi. Väga soovitatav on valida siin Puudub
või Tavaline
ning määrata failitüübi seadistustes treppimise režiimid erijuhtudeks, näiteks C/C++ koodile või XML-ile.
Selle märkimisel lisatakse Doxygeni stiilis kommentaari kirjutamisel automaatselt alustav "*". Seda valikut saab sisse või välja lülitada ainult sobiva režiimi korral.
Selle valimisel asendatakse tabeldusmärgid tühikutega, mille arvu määrab allpool olev valik Tühikute arv.
Treppimiseks saab kasutada tabeldusmärke ja tühimärke segiläbi.
Siin saab määrata tühikute arvu, mida kasutatakse, kui ülevalpool on märgitud Tabeldusmärgid asendatakse tühikutega.
Sisselülitamisel ei eemalda redaktor valikus ridadelt täiendavalt taanet, kui see eemaldatakse vähima taandega realt. Kui mõnikord eemaldad taande treppimist kasutava koodi plokkidelt, võib sellest valikust abi olla.
Treppimist, mille puhul on kasutatud määratust enam tühimärke, ei lühendata.
See võimaldab treppida klahviga Tab.
See võimaldab treppida klahviga Backspace.
See lubab klahviga Tab sisestada treppimismärke.
See lubab klahviga Tab sisestada tabeldusmärgi.
See lubab klahviga Tab treppida aktiivse rea.
See määrab failide vaikimisi kodeeringu.
See määrab aktiivse dokumendi eelistatud rea lõpu režiimi. Võimalikud valikud on UNIX®, DOS/Windows® või Macintosh.
Märkimisel tuvastab redaktor ise automaatselt rea lõpu tüübi. Esimest leitud rea lõpu tüüpi kasutatakse terves failis.
Redaktor laeb mällu määratud arvu tekstiplokke (umbes 2048 rida). Kui fail on suurem, puhverdatakse ülejäänud plokid kettale ja laaditakse vajaduse korral.
See tekitab dokumendis liikumisel väikseid viivitusi: suurem plokkide arv suurendab redigeerimise kiirust, kuid nõuab enam mälu.
Üldiselt võib siin valida suurima võimaliku plokkide arvu. Seda tasub piirata ainult siis, kui tekib probleeme mäluga.
Redaktor eemaldab faili avamisel või salvestamisel automaatselt tekstiridade lõpust liigsed tühikud.
Redaktor otsib Kate seadistustefaili määratud arvu kataloogitasemeid ülespoole ja laeb sellest seadistused.
Salvestamise ajal varukoopia loomise kasutamisel kopeerib Kate selle enne muudatuste salvestamist kettale, andes failile nime <prefiks><failinimi><sufiks>. Sufiks on vaikimisi ~ ning prefiks vaikimisi puudub.
Märkimisel tehakse salvestamisel varukoopia kohalikest failidest.
Märkimisel tehakse salvestamisel varukoopia võrgufailidest.
Varundatud failide nime ette lisatav prefiks.
Varundatud failide nime järele lisatav sufiks.
Siinsel leheküljel sab seadistada kõigi programmeerimiskeelte süntaksi esiletõstmise stiili. Kõik mujal dialoogis tehtud muudatused rakenduvad ainult valitud tüübile.
Siin saab valida seadistatava keele.
Siin näeb valitud keele esiletõstmise reeglite omadusi: autori nime ja litsentsi.
See on faililaiendite nimekiri, millega määratakse kindlaks, milliste failide korral kasutatakse antud süntaksi esiletõstmise režiimi.
Nõustaja nupule klõpsates avaneb dialoog kõigi saadaolevate MIME tüüpidega, kust saab valida vajalikud.
Automaatselt muudetakse ka faili laiendite valikut.
Määrab esiletõstmise reegli prioriteedi.
Sellele nupule klõpsates saab alla laadida uusi või uuendada seniseid süntaksi esiletõstmise definitsioone Kate veebileheküljelt.
Sellel leheküljel saab tühistada konkreetsete MIME tüüpidega dokumentide vaikeseadistused. Kui redaktor avab dokumendi, uuritakse, kas see vastab mõnele defineeritud failimaskile või MIME tüübile ning kui vastab, siis rakendatakse antud tüübile määratud muutujad. Kui sobib mitu failitüüpi, kasutatakse seda, millel on kõrgem prioriteet.
Esimeses hüpikkastis näidatakse kõrgeima prioriteediga failitüüpi. Kui leitakse rohkem failitüüpe, on ka need nimekirjas näha.
Selle nupuga saab luua uue failitüübi. Klõpsamise järel muutuvad allolevad väljad tühjaks ja sa saad need ise vajaliku infoga täita.
Olemasoleva failitüübi eemaldamiseks vali see hüpikkastist ja klõpsa nupule Kustuta.
Esimeses hüpikkastis näidatakse kõrgeima prioriteediga failitüüpi. Kui leitakse rohkem failitüüpe, on ka need nimekirjas näha.
See on nimi kujul, nagu seda näidatakse menüüs ->.
See on sektsiooni nimi kujul, nagu seda näidatakse menüüs ->.
Selle stringiga saab muuta Kate seadistusi antud MIME tüübiga failide korral, kasutades selleks Kate muutujaid. Siin saab määrata peaaegu kõiki asju, näiteks esiletõst, treppimise režiim, kodeering jne.
Kõigi muutujate täieliku nimekirja toob ära käsiraamat.
Metamärke kasutades saab valida faile nime järgi. Tüüpiline metamärgimask kasutab tärni ja faililaiendit, näiteks *.txt; *.text
. String koosneb semikooloniga eraldatud maskide nimekirjast.
Avab nõustaja, kust saab valida MIME tüübid.
Määrab antud failitüübi prioriteedi. Kui fail sobib mitme failitüübiga, kasutatakse seda, millel on kõrgem prioriteet.
Siin saab muuta kiirklahve. Vali toiming ja klõpsa Kohandatud, kui soovid antud toimingu kiirklahvi muuta.
Otsingureal saab otsida vajalikku toimingut ja näha sellega seotud kiirklahvi.
Kate muutujad kujutavad endast dokumendi muutujate kateparts-teostust. Dokumendi muutujad sarnanevad mõneti Emacsi ja Vi režiimiridadele (modeline). Katepart sätestab nende ridade vorminguks kate: MUUTUJANIMI VÄÄRTUS; [ MUUTUJANIMI VÄÄRTUS; ... ]
. Read võivad mõistagi olla ka kommentaarid, kui fail on vormingus, mis kasutab kommentaare. Muutujate nimed on üksiksõnad (tühimärkideta), kõik kuni järgmise semikoolonini on väärtus. Semikooloni kasutamine on nõutav.
Toome näite muutuja reast, mis sunnib peale treppimisseadistuse C++, Java või JavaScripti keeles failile:
// kate: space-indent on; indent-width 4; mixedindent off; indent-mode cstyle;
Muutujate rida otsitakse ainult esimeselt ja viimaselt 10 realt.
Muutujad toetavad peaaegu kõiki Kate kasutatavaid seadistusvõimalusi ning ka mõned pluginad kasutavad muutujaid. Viimasel juhul on neist juttu vastavate pluginate dokumentatsioonis.
Seadistust lugedes uurib katepart järgmisi kohti (just sellises järjekorras):
Globaalne konfiguratsioon.
Täiendavad seansiandmed.
"Failitüübi" konfiguratsioon.
Dokumendi muutujad dokumendis endas.
Redigeerimise ajal menüüst või käsurealt määratud seadistused.
Kõik muutujad, mida allpool ei ole ära toodud, on salvestatud dokumenti ning neile võivad päringu esitada muud objektid, näiteks pluginad, mis saavad neid oma huvides ära kasutada. Näiteks kasutab muutujaga treppimise režiim oma seadistuse leidmiseks just dokumendi muutujaid.
Siintoodud muutujad kajastavad Kate versiooni 2.4. Tulevikus võib muutujaid lisanduda. Muutujatel võib olla kolme tüüpi väärtusi, mis saavad esineda järgmisel kujul:
TÕEVÄÄRTUS - on|off|true|false|1|0
TÄISARV - suvaline täisarv
SÕNE - kõik muu
Saadaolevad muutujad
auto-brackets [TÕEVÄÄRTUS]
Nurksulgude automaatse lisamise sisse/väljalülitamine.
auto-center-lines [TÄISARV]
Automaatselt tsentreeritavate ridade arvu määramine.
auto-insert-doxygen [TÕEVÄÄRTUS]
Alustava tärni lisamise Doxygeni kommentaarides sisse/väljalülitamine. See ei tee midagi, kui sa ei kasuta C stiilis automaatset treppimist.
background-color [SÕNE]
Dokumendi taustavärvi määramine. Väärtus peab vastama kehtivale värvile, näiteks "#ff0000".
backspace-indents [TÕEVÄÄRTUS]
Klahviga Backspace treppimise sisse/väljalülitamine.
block-selection [TÕEVÄÄRTUS]
Blokivaliku sisse/väljalülitamine.
bracket-highlight-color [SÕNE]
Nurksulgude esiletõstu värvi määramine. Väärtus peab vastama kehtivale värvile, näiteks "#ff0000".
current-line-color [SÕNE]
Aktiivse rea värvi määramine. Väärtus peab vastama kehtivale värvile, näiteks "#ff0000".
dynamic-word-wrap [TÕEVÄÄRTUS]
Dünaamilise reamurdmise sisse/väljalülitamine.
eol | end-of-line [SÕNE]
Realõpurežiimi määramine. Sobivad väärtused on “unix”, “mac” ja “dos”.
encoding [SÕNE]
Dokumendi kodeeringu määramine. Väärtus peab vastama reaalsele kodeeringule, näiteks “utf-8”.
font-size [TÄISARV]
Dokumendi fondi punktisuuruse määramine.
font [SÕNE]
Dokumendi fondi määramine. Väärtus peab vastama reaalsele fondinimele, näiteks “courier”.
icon-bar-color [SÕNE]
Ikooniriba värvi määramine. Väärtus peab vastama reaalsele värvile, näiteks #ff0000
.
icon-border [TÕEVÄÄRTUS]
Ikoonipiirde näitamise sisse/väljalülitamine.
folding-markers [TÕEVÄÄRTUS]
Voltimismärkide näitamise sisse/väljalülitamine.
indent-mode [SÕNE]
Automaatse treppimise režiimi määramine. Kasutada saab võtmeid “none”, “normal”, “cstyle”, “csands”, “python”, “xml”. Täpsemalt räägib sellest “Automaatse treppimise kasutamine”.
indent-width [TÄISARV]
Treppimise laiuse määramine.
keep-extra-spaces [TÕEVÄÄRTUS]
Määramine, kas treppimise laiuse arvestamisel säilitada lisatühikud.
keep-indent-profile [TÕEVÄÄRTUS]
Sisselülitamisel takistab ploki treppimise eemaldamist, kui vähemalt üks rida pole trepitud.
line-numbers [TÕEVÄÄRTUS]
Reanumbrite näitamise sisse/väljalülitamine.
mixed-indent [TÕEVÄÄRTUS]
Segatreppimise (nagu Emacsil) sisse/väljalülitamine.
overwrite-mode [TÕEVÄÄRTUS]
Ülekirjutamisrežiimi sisse/väljalülitamine.
persistent-selection [TÕEVÄÄRTUS]
Püsiva valiku sisse/väljalülitamine.
remove-trailing-space [TÕEVÄÄRTUS]
Dünaamilise realõpu puhastamise sisse/väljalülitamine.
replace-tabs-save [TÕEVÄÄRTUS]
Tabeldusmärk->tühik teisenduse sisse/väljalülitamine.
replace-tabs [TÕEVÄÄRTUS]
Dünaamilise tabeldusmärk->tühik teisenduse sisse/väljalülitamine.
replace-trailing-space-save [TÕEVÄÄRTUS]
Realõpu salvestamisel puhastamise sisse/väljalülitamine.
scheme [SÕNE]
Värviskeemi määramine. String peab kehtimiseks olema sinu konfiguratsioonis esineva värviskeemi nimi.
selection-color [SÕNE]
Valiku värvi määramine. Väärus peab vastama reaalsele värvile, näiteks "#ff0000".
show-tabs [TÕEVÄÄRTUS]
Visuaalsete tabeldusmärkide sisse/väljalülitamine.
smart-home [TÕEVÄÄRTUS]
Targa kojumineku sisse/väljalülitamine.
space-indent [TÕEVÄÄRTUS]
Tühikutega treppimise sisse/väljalülitamine.
tab-indents [TÕEVÄÄRTUS]
Tabeldusmärkidega treppimise sisse/väljalülitamine.
tab-width [TÄISARV]
Tabeldusmärgi laiuse määramine.
undo-steps [TÄISARV]
Meelespeetavate tagasivõtmiste arvu määramine.
word-wrap-column [TÄISARV]
Jäiga reamurdmise laiuse määramine.
word-wrap-marker-color [SÕNE]
Reamurdmise markeri värvi määramine. Väärtus peab vastama reaalsele värvile, näiteks "#ff0000".
word-wrap [TÕEVÄÄRTUS]
Jäiga reamurdmise sisse/väljalülitamine.
wrap-cursor [TÕEVÄÄRTUS]
Kursori üleviimise sisse/väljalülitamine.
Kate. Rakenduse autoriõigus 2000, 2001, 2002 - 2005: Kate arendajate meeskond.
Kate meeskond:
(cullmann AT kde.org)
Projektihaldur & põhiarendaja
(anders AT alweb.dk)
Põhiarendaja, Perli süntaksi esiletõst, dokumentatsioon
(kde AT jowenn.at)
Põhiarendaja, süntaksi esiletõst
(michael.bartl1 AT chello.at)
Põhiarendaja
(philip_cpp AT my-deja.com)
Projekti kompilaator
(bastian AT kde.org)
Lahe puhverdussüsteem
(newell AT proaxis.com)
Testimine...
(gholam AT xtra.co.nz)
Põhiarendaja
(digisnap AT cs.tu-berlin.de)
KWrite'i autor
(koch AT kde.org)
KWrite'i portimine KPartsile
(gebauer AT bigfoot.com)
Täpsustamata
(hausmann AT kde.org)
Täpsustamata
(glenebob AT nwlink.com)
KWrite'i tagasivõtmiste ajalugu, integratsioon KSpelliga
(sdmanson AT alltel.net)
KWrite'i XML-i süntaksi esiletõstu toetus
(jfirebaugh AT kde.org)
Mitmesugused parandused
(dhdev AT gmx.de)
Arendaja, esiletõstu nõustaja
Kaasa on aidanud veel palju teisi inimesi:
(merlim AT libero.it)
RPM spec-failide ja Diffi esiletõst ning palju muud
(rocky AT purdue.edu)
VHDL esiletõst
SQL esiletõst
Ferite esiletõst
ILERPG esiletõst
Java esiletõst ja palju muud
LaTeXi esiletõst
Makefiles ja Pythoni esiletõst
Pythoni esiletõst
Väikesed veaparandused, XML plugin
Dokumentatsiooni autoriõigus 2000, 2001: Seth Rothberg (sethmr AT bellatlantic.org)
Dokumentatsiooni autoriõigus 2002, 2003, 2005: Anders Lund (anders AT alweb.dk)
Tõlge eesti keelde: Marek Laane (bald AT starman.ee)
Käesolev dokumentatsioon on litsenseeritud vastavalt GNU Vaba Dokumentatsiooni Litsentsi tingimustele.
Käesolev programm on litsenseeritud vastavalt GNU Üldise Avaliku Litsentsi tingimustele.
Sisukord
Süntaksi esiletõstmine paneb redaktori automaatselt näitama teksti erinevates stiilides ja värvides vastavalt stringi funktsioonile failis. Rakenduse lähtetekstis võivad koodi juhtlaused olla näiteks rasvases kirjas, andmetüübid ja kommentaarid aga ülejäänud tekstist erinevat värvi. See hõlbustab märgatavalt teksti redigeerimist ning aitab autoril tõhusamalt ja tootlikumalt töötada.
Perli funktsioon, esitatud süntaksi esiletõstu kasutades.
Sama perli funktsioon ilma esiletõstuta.
Kumba kahest näitest on hõlpsam lugeda?
Kate kasutab paindlikku, seadistatavat ja võimsat süntaksi esiletõstmise süsteemi ning ka tavalise distributsiooniga käib kaasas väga ulatuslik programmeerimis-, märke- ja skriptikeelte ning muude tekstifaili vormingute definitsioonide komplekt. Lisaks võid luua omaenda definitsioonid tavaliste XML-failide kujul.
Kate tuvastab faili avamisel selle MIME tüübile tuginedes (mille määrab kindlaks faililaiend või kui seda ei ole, siis sisu) automaatselt sobiva süntaksi ja selle reeglid. Kui sinu arvates on valik valesti langetatud, võid kasutatava süntaksi määrata käsitsi menüüst ->.
Iga süntaksi esiletõstu määratluse stiilid ja värvid saab ise seada seadistustedialoogi leheküljel Välimus, MIME tüübid aga, mille puhul esiletõstu kasutada, leheküljel Esiletõstmine.
Süntaksi esiletõstmine on mõeldud parandama korrektse teksti lugemist, kuid seda ei peaks kasutama teksti korrektsuse kontrollimiseks. Teksti süntaksi märkimine on sõltuvalt kasutatavast vormingust päris keeruline ettevõtmine ja mõnel juhul on süntaksireeglite autorid väga uhked, kui suudavad korrektselt esitada 98% tekstist, kuigi enamasti läheb sul vaja mõnda päris haruldast stiili, et näha mittekorrektset 2%.
Uusi või uuendatud süntaksi esiletõstu definitsioone saab alla laadida Kate veebileheküljelt klõpsuga nupule seadistustedialoogi leheküljel Esiletõstmine.
See sektsioon tutvustab põhjalikumalt Kate süntaksi esiletõstmise mehhanismi. See on mõeldud neile, kes soovivad sellest rohkem teada saada või tahavad süntaksi definitsioone muuta või uusi luua.
Kui sa faili avad, püüab Kate redaktor kõigepealt tuvastada, millist süntaksi definitsooni antud faili puhul kasutada. Faili teksti lugedes, samuti ajal, mil sa seda redigeerid, analüüsib süntaksi esiletõstu süsteem teksti, kasutades selleks süntaksi definitsioonis antud määratlusi, ning märgistab erinevad kontekstid ja stiilid vastavalt reeglitele.
Dokumenti uue teksti kirjutamise ajal analüüsitakse ja märgistatakse see käigult, nii et kui kustutad märgi, mis tähistas mingi konteksti algust või lõppu, siis muutub vastavalt ka ümbritseva teksti stiil.
Süntaksi definitsioonid, mida Kate kasutab esiletõstu süsteemis, on XML-failid, mis sisaldavad endas
reegleid kontekstiblokkideks organiseeritud teksti rolli määramiseks
märksõnade nimekirju
stiilielementide definitsioone
Teksti analüüsides hinnatakse tuvastusreegleid vastavalt nende defineerimise järjekorrale ja kui mingi stringi algus vastab reeglile, siis kasutatakse vastavat konteksti. Alguspunktist liigutakse punkti, kus reegli kohaselt kontekst lõpeb, ning sealt algab reegli uus osa, mis võib olla erinevalt märgistatud.
Tuvastusreeglid on esiletõstu tuvastamise tuum. Reegel on string, märk või regulaaravaldis, millega sobivuse osas teksti analüüsitaksegi. Selles sisaldub info, millist stiili kasutada sobiva tekstiosa puhul. Reegel võib lülitada süsteemi töökonteksti kas otseselt mainitud kontekstile või varem tekstis kasutatud kontekstile.
Reeglid on rühmitatud kontekstigruppidesse. Kontekstigruppi kasutatakse vormingu peamiste tekstiosiste jaoks, milleks võivad näiteks olla jutumärkides tekstistringid või kommenteeritud tekstiblokid. See tagab, et esiletõstu süsteem ei pea läbi lappama kõiki reegleid, kui seda ei ole vaja, ja et mõningaid järjestikusi märke tekstis võib tõlgendada erinevalt sõltuvalt hetkekontekstist.
Konteksti saab genereerida dünaamiliselt, mis lubab reeglites kasutada protsessipõhiseid andmeid.
Mõnes programmeerimiskeeles tõlgendab kompilaator (rakendus, mis teisendab lähtekoodi binaarkoodiks) täisarve teisiti kui ujukomaarve ning mõnikord võib esineda ka märke, mis omandavad eritähenduse, kui nad asuvad jutumärkide vahel. Sellisel juhul on mõttekas käsitleda neid ümbritsevast erinevalt, nii et neid saaks teksti lugedes hõlpsasti eristada. Seepärast võib süntaksi esiletõstmise süsteem käsitleda neid erikontekstina ja vastavalt ka märkida, isegi kui nad seda tegelikult ei ole.
Süntaksi definitsioon võib sisaldada nii palju stiile, kui vähegi on vaja katmaks vorminguelemente, mille tuvastamiseks ta mõeldud on.
Mitme vormingu puhul esinevad sõnade nimekirjad, mis esindavad erikontseptsiooni. Näiteks programmeerimiskeeltes on juhtlaused, andmetüübid ja keele sisseehitatud funktsioonid erinevad kontseptsioonid. Kate süntaksi esiletõstu süsteem kasutab selliseid nimekirju tuvastamaks ja märkimaks tekstis sõnu, mis vastavad tekstivormingu kontseptsioonidele.
Kui avad Kates C++ lähtetekstifaili, Java™ lähtetekstifaili ja HTML-dokumendi, märkad, et kuigi vormingud on erinevad ja seepärast on erikohtlemise osaks saanud erinevad sõnad, on kasutatavad värvid ühesugused. Selle põhjuseks on asjaolu, et Kate kasutab eelnevalt määratud vaikestiilide nimekirja, mida siis omakorda kasutavad konkreetsed süntaksi määratlused.
See võimaldab hõlpsasti tuvastada ühesuguseid kontseptsioone erinevate tekstivormingute puhul. Nii esinevad näiteks kommentaarid peaaegu igas programmeerimis-, skripti- või märkekeeles ja kui nende märkimiseks kasutatakse igas keeles ühesugust värvi, siis ei pea uut faili avades nägema vaeva nende leidmisega.
Kõik stiilid süntaksi definitsioonis kasutavad üht vaikestiili. Mõned süntaksi definitsioonid võivad kasutada rohkem stiile, kui neid on vaikimisi määratud, nii et kui kasutad tihti sellist vormingut, võiks olla nutikas tegu avada seadistustedialoog ja järele vaadata, kas mõningad kontseptsioonid kasutavad üht ja sama stiili. Näiteks on ainult üks vaikestiil stringide jaoks, kuid programmeerimiskeel Perl kasutab kaht tüüpi stringe, mistõttu esiletõstu saab parandada neile veidi erinevaid omadusi andes. Kõiki saadaolevaid vaikestiile selgitame veidi hiljem.
See sektsioon annab ülevaate esiletõstu definitsiooni XML-vormingust, kirjeldades põhikomponente, nende tähendust ja kasutamist. Järgmises sektsioonis süüvitakse tuvastusreeglite olemusse.
Formaalne määratlus ehk DTD on salvestatud faili language.dtd
, mis peaks olema paigaldatud kataloogi $
. KDEDIR
/share/apps/katepart/syntax
Kate esiletõstu definitsiooni failide põhisektsioonid
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">
language
. Võimalikud atribuudid on järgmised:Nõutavad atribuudid:
name
määrab keele nime. Seda näeb ka menüüdes ja dialoogides.
section
määrab kategooria.
extensions
määrab faililaiendid, näiteks "*.cpp;*.h"
Lisaatribuudid:
mimetype
seostab failid MIME tüübiga.
version
määrab definitsioonifaili versiooni.
kateversion
määrab viimase toetatud Kate versiooni.
casesensitive
määrab, kas võtmesõnad on tõstutundlikud või mitte.
priority
on vajalik juhul, kui samu laiendeid kasutab mõni muu esiletõstu definitsiooni fail. Sel juhul saab eelistuse kõrgem prioriteet.
author
sisaldab autori nime ja tema e-posti aadressi.
license
sisaldab litsentsi (tavaliselt LGPL, Artistic, GPL vms.).
hidden
määrab, kas nimi esineb Kate menüüs või mitte.
Niisiis võib järgmine rida näha välja selline:
<language name="C++" version="1.00" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" />
highlighting
, mis võib sisaldada endas elementi list
ja kus peavad leiduma elemendid contexts
ja itemDatas
.Element list
sisaldab võtmesõnade nimekirja. Antud juhul on võtmesõnadeks class ja const. Nimekirju võib lisada nii palju, kui neid parajasti vaja läheb.
Element contexts
sisaldab kõiki kontekste. Esimene kontekst on vaikimisi esiletõstu alguses. Kontekstis Tavaline tekst on kaks reeglit, millest üks sobitab võtmesõnade nimekirja nimega minginimi ja teine tuvastab jutumärgid ning lülitub kontekstile string. Reeglitest räägib lähemalt järgmine peatükk.
Kolmas osa on element itemDatas
. See sisaldab kõiki värvi- ja fondistiile, mida kontekstid ja reeglid vajavad. Antud näites on kasutusel itemData
Tavaline tekst, String ja Võtmesõna.
<highlighting> <list name="minginimi"> <item> class </item> <item> const </item> </list> <contexts> <context attribute="Tavaline tekst" lineEndContext="#pop" name="Tavaline tekst" > <keyword attribute="Võtmesõna" context="#stay" String="minginimi" /> <DetectChar attribute="String" context="string" char=""" /> </context> <context attribute="String" lineEndContext="#stay" name="string" > <DetectChar attribute="String" context="#pop" char=""" /> </context> </contexts> <itemDatas> <itemData name="Tavaline tekst" defStyleNum="dsNormal" /> <itemData name="Võtmesõna" defStyleNum="dsVõtmesõna" /> <itemData name="String" defStyleNum="dsString" /> </itemDatas> </highlighting>
general
. See võib sisaldada infot võtmesõnade, koodi voltimise, kommentaaride ja treppimise kohta.Sektsioon comment
määrab, millise stringiga algab üherealine kommentaar. Määrata võib ka mitmerealise kommentaari, kasutades atribuuti multiLine koos lisaatribuudiga end. Seda kasutatakse siis, kui kasutaja tarvitab kommentaari lisamise/eemaldamise kiirklahvi.
Sektsioon keywords
määrab, kas võtmesõnade nimekirjad on tõstutundlikud või mitte. Teisi atribuute selgitame hiljem.
<general> <comments> <comment name="singleLine" start="#"/> </comments> <keywords casesensitive="1"/> </general> </language>
Selles osas kirjeldame kõiki saadaolevaid konteksti, 'itemData', võtmesõnade, kommentaaride, koodi voltimise ja treppimise atribuute.
context
kuulub gruppi contexts
. Kontekst määrab kontekstispetsiifilised reeglid, näiteks selle, mis juhtub siis, kui esiletõstu süsteem jõuab oma tegevuses rea lõppu. Võimalikud atribuudid on järgmised:name
määrab konteksti nime. Reeglid kasutavad seda määramaks konteksti, millele lülituda, kui reegel sobib.
lineEndContext
määrab konteksti, millele esiletõstu süsteem lülitub rea lõppu jõudes. See võib olla mõne teise konteksti nimi, #stay
, mis keelab konteksti vahetamise, või #pop
, mis sunnib kontekstist loobuma. Võimalik on ka kasutada näiteks #pop#pop#pop
, et kolm korda järjest kontekstist loobuda.
lineBeginContext
määrab konteksti, kui ette tuleb reaalgus. Vaikimisi #stay.
fallthrough
määrab, kas lülituda kontekstile, mille määrab fallthroughContext, kui ühtegi sobivat reeglit ei leita, või mitte. Vaikimisi väär (false).
fallthroughContext
määrab järgmise konteksti, kui ei leita ühtegi sobivat reeglit.
dynamic
: kui on tõene (true), jätab kontekst meelde dünaamiliste reeglite salvestatud stringid/kohatäitjad. Seda on vaja näiteks HERE-dokumentide jaoks. Vaikimisi väär (false).
itemData
kuulub gruppi itemDatas
. See määrab fondistiili ja värvid. Nii saab määrata ka omaenda stiilid ja värvid, kuid soovitatav oleks võimaluse korral siiski kasutada vaikestiile, et kasutaja näeks alati ka erinevates keeltes ühesuguseid värve. Vahel on siiski mõttekas ja vajalik värvide ja fontide atribuute muuta. Nõutav on atribuudi nimi ja defStyleNum, ülejäänud pole kohustuslikud. Võimalikud atribuudid on järgmised:name
määrab itemData nime. Kontekstid ja reeglid kasutavad seda nime oma atribuudis atribuut itemData'le viidates.
defStyleNum
määrab kasutatava vaikestiili. Saadaolevaid vaikestiile tutvustame edaspidi.
color
määrab värvi. Sobiv vorming on '#rrggbb' või '#rgb'.
selColor
määrab valiku värvi.
italic
: kui on tõene (true), on tekst kaldkirjas.
bold
: kui on tõene (true), on tekst rasvases kirjas.
underline
: kui on tõene (true), on tekst allajoonitud.
strikeout
: kui on tõene (true), on tekst läbikriipsutatud.
keywords
grupis general
määrab võtmesõna omadused. Võimalikud atribuudid on järgmised:casesensitive
võib olla tõene (true) või väär (false). Kui see on tõene, on kõik võtmesõnad tõstutundlikud.
weakDeliminator
on märkide nimekiri, mida ei kasutata sõnaeraldajana. Näiteks punkt '.'
on sõnaeraldaja. Eeldusel, et võtmesõna atribuudis list
sisaldab punkti, leitakse sobivus ainult siis, kui määrad punkti nõrgaks eraldajaks.
additionalDeliminator
määrab lisaeraldajad.
wordWrapDeliminator
määrab märgid, mille järel võib rida murda.
Vaikimisi on eraldajateks ja sõnamurdmise eraldajateks märgid .():!+,-<=>%&*/;?[]^{|}~\
, tühikumärk (' '
) ja tabeldusmärk ('\t'
).
comment
grupis comments
määrab kommentaari omadused, mida kasutatakse menüükäskude -> ja -> jaoks. Võimalikud atribuudid on järgmised:name
on kas singleLine või multiLine. Kui valida multiLine, on vajalikud ka atribuudid end ja region.
start
määrab stringi, millega alustatakse kommentaari. C++ korral on see näiteks "/*".
end
määrab stringi, millega lõpetatakse kommentaar. C++ korral on see näiteks "*/".
region
on mitmerealise kokkuvolditava kommentaari nimi. Eeldusel, et su reeglites on beginRegion="Comment" ... endRegion="Comment", tuleb kasutada region="Comment". Sel juhul toimib kommentaari eemaldamine ka siis, kui sa ei vali kogu mitmerealise kommentaari teksti - lihtsalt kursor peab asuma mitmerealise kommentaari sees.
folding
grupis general
määrab koodivoltimise omadused. Võimalikud atribuudid on järgmised:indentationsensitive
: kui see on tõene (true), lisatakse koodivoltimise markerid vastavalt treppimisele (näiteks skriptikeeles Python). Tavaliselt pole seda vaja ning vaikimisi ongi see väär (false).
indentation
grupis general
määrab, millist treppimist kasutada. Soovitatav on siiski seda elementi vältida, sest treppimine määratakse tavaliselt kas failitüüpi defineerides või režiimirida tekstifailile lisades. Kui see siiski määrata, sunnitakse kasutajale peale konkreetne treppimine, mis aga ei pruugi alati kuigi hästi sobida. Võimalikud atribuudid on järgmised:mode
on treppimise nimi. Praegu on saada järgmised treppimised: tavaline, cstyle, csands, xml, python ja varindent.
Vaikestiile me lühidalt juba tutvustasime: need on eelnevalt määratud fondi- ja värvistiilid.
dsNormal
tavalise teksti jaoks.
dsKeyword
võtmesõnade jaoks.
dsDataType
andmetüüpide jaoks.
dsDecVal
murdarvväärtuste jaoks.
dsBaseN
väärtuste jaoks, mille aluseks ei ole 10.
dsFloat
ujukomaväärtuste jaoks.
dsChar
märkide jaoks.
dsString
stringide jaoks.
dsComment
kommentaaride jaoks.
dsOthers
'muude asjade' jaoks.
dsAlert
hoiatuste jaoks.
dsFunction
funktsiooni väljakutsete jaoks.
dsRegionMarker
regiooni markerite jaoks.
dsError
vigade ja vigase süntaksi esiletõstmiseks.
See sektsioon kirjeldab esiletõstu tuvastamise reegleid.
Iga reegel otsib sobivust null või enama märgi osas stringis, mida ta testib. Kui reegel leiab sobivuse, omistatakse sobivatele märkidele reeglis määratud stiil või atribuut ning reegel võib soovitada konteksti vahetamist.
Reegel näeb välja selline:
<ReegliNimi atribuut="(identifikaator)" kontekst="(identifikaator)" [reegli spetsiifilised atribuudid] />
Atribuut identifitseerib nime või indeksi järgi stiili, mida kasutada sobivate märkide puhul, ning kontekst identifitseerib vajaliku konteksti.
Konteksti saab identifitseerida:
identifikaatori järgi, mis on mingi teise konteksti nimi.
korralduse järgi, mis annab mootorile käsu jääda praeguse konteksti juurde (#stay
) või hüpata tagasi eelmisele stringis kasutatud kontekstile (#pop
).
Minemaks rohkem samme tagasi, võib võtmesõna #pop korrata: #pop#pop#pop
Mõnel reeglil võivad olla alamreeglid, mida kaalutakse siis ja ainult siis, kui põhireegel on sobivuse leidnud. Kogu sobivale stringile antakse põhireeglis määratud atribuut. Alamreegliga reegel näeb välja selline:
<ReegliNimi (atribuudid)> <AlamreegliNimi (atribuudid) /> ... </ReegliNimi>
Reegli spetsiifilised atribuudid on mitmekesised ja neid kirjeldatakse järgnevates sektsioonides.
Üldatribuudid
Järgmised atribuudid on ühised kõigile reeglitele ja neid kasutatakse alati, kui esinevad (üldatribuudid)
. Nõutavad atribuudid on attribute ja context, teised pole kohustuslikud.
attribute: atribuut on seotud määratud itemData'ga.
context: määrab konteksti, millele esiletõstu süsteem lülitub, kui reegel sobib.
beginRegion: alustab koodivoltimise plokki. Vaikimisi määramata (unset).
endRegion: lõpetab koodivoltimise ploki. Vaikimisi määramata (unset).
lookAhead: kui on tõene (true), ei arvesta esiletõstu süsteem sobivuse pikkus. Vaikimisi väär (false).
firstNonSpace: sobib ainult juhul, kui string on esimene mittetühimärk real. Vaikimisi väär (false).
column: sobib ainult siis, kui veerg sobib. Vaikimisi määramata (unset).
Dünaamilised reeglid
Mõned reeglid lubavad määrata lisaatribuudi dynamic
, mis kasutab tõeväärtust (vaikimisi on see väär ehk false). Kui dynamic
on tõene (true), võib reegel kasutada teksti esindavaid kohatäitjaid, mis sobivad regulaaravaldise reeglile, mis lülitub aktiivsele kontekstile oma atribuudiga string
või char
. Atribuudi string
korral asendatakse kohatäitja %N
(kus N on arv) vastava kohaga N
väljakutsutavast regulaaravaldisest. Atribuudi char
korra peab kohatäitja olema arv N
ja see asendatakse esimese märgiga vastavas kohas N
väljakutsutavast regulaaravaldisest. Kui reegel vähegi seda atribuuti lubab, sisaldub selles (dynamic).
dynamic: võib olla tõene või väär ((true|false)).
Tuvastab üksikut konkreetset märki. Tavaliselt kasutatakse näiteks jutumärkides stringi alguse ja lõpu leidmiseks.
<DetectChar char="(märk)" (üldatribuudid) (dynamic) />
Atribuut char
määrab otsitava märgi.
Tuvastab kaks konkreetset märki määratud järjekorras.
<Detect2Chars char="(märk)" char1="(märk)" (üldatribuudid) (dynamic) />
Atribuut char
defineerib esimese otsitava märgi, char1
teise.
Tuvastab ühe märgi konkreetsete märkide hulgast.
<AnyChar String="(string)" (üldatribuudid) />
Atribuut String
määrab märgikogumi.
Tuvastab täpse stringi.
<StringDetect String="(string)" [insensitive="true|false;"] (üldatribuudid) (dynamic) />
Atribuut String
määrab otsitava stringi. Atribuut insensitive
on vaikimisi false
ning seda kasutab stringivõrdlusfunktsioon. Kui väärtus on true
, kasutatakse tõstutundetut võrdlust.
Otsib regulaaravaldise sobivust.
<RegExpr String="(string)" [insensitive="true|false;"] [minimal="true|false"] (üldatribuudid) (dynamic) />
Atribuut String
määrab regulaaravaldise.
insensitive
on vaikimisi false
ja seda kasutab regulaaravaldise mootor.
minimal
on vaikimisi false
ja seda kasutab regulaaravaldise mootor.
Kuna reeglid otsivad sobivust alati aktiivse stringi algusest, siis viitab regulaaravaldis, mille alguses seisab juurdelisamismärk (^
), et reegel peab sobivust otsima ainult rea algusest.
Täpsemat infot vaata peatükist Regulaaravaldised.
Tuvastab võtmesõna määratud nimekirjast.
<keyword String="(nimekirja nimi)" (üldatribuudid) />
Atribuut String
identifitseerib võtmesõnade nimekirja nime järgi. Sellise nimega nimekiri peab olemas olema.
Tuvastab täisarvu.
<Int (üldatribuudid) (dynamic) />
Sellel reeglil ei ole spetsiifilisi atribuute. Tihti kasutatakse alamreegleid, et tuvastada arvu järel L
ja U
kombinatsioone, mis osutavad programmikoodis täisarvu tüübile. Õigupoolest on alamreeglina lubatud kõik reeglid, kuid DTD lubab siiski ainult alamreeglit StringDetect
.
Järgnev näide otsib täisarve märgi 'L' järel.
<Int attribute="Decimal" context="#stay" > <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/> </Int>
Tuvastab ujukomaarvu.
<Float (üldatribuudid) />
Sellel reeglil ei ole spetsiifilisi atribuute. AnyChar
on lubatud alamreeglina ning tüüpiliselt kasutatakse seda kombinatsioonide tuvastamiseks (vaata võrdluseks reeglit Int
).
Tuvastab kaheksandsüsteemis arvu.
<HICOct (üldatribuudid) />
Sellel reeglil ei ole spetsiifilisi atribuute.
Tuvastab kuueteistkümnendsüsteemis arvu.
<HlCHex (üldatribuudid) />
Sellel reeglil ei ole spetsiifilisi atribuute.
Tuvastab paomärgi.
<HlCStringChar (üldatribuudid) />
Sellel reeglil ei ole spetsiifilisi atribuute.
See otsib sobivusi nähtamatutele märkidele, mida tihti programmikoodis kasutatakse, näiteks \n
(uus rida) või \t
(tabeldusmärk).
Leitakse järgmised märgid, kui neile eelneb längkriips (\
): abefnrtv"'?\
. Lisaks leitakse kuueteistkümnendsüsteemis varjestatud arvud, näiteks \xff
, ja kaheksandsüsteemis varjestatud arvud, näiteks \033
.
Tuvastab C märgi.
<HlCChar (üldatribuudid) />
Sellel reeglil ei ole spetsiifilisi atribuute.
Leitakse ülakriipsude vahele võetud C märgid, näiteks 'c'
. Ülakriipsude vahel võib olla lihtne märk või ka varjestatud märk. Viimaste kohta vaata HlCStringChar.
Tuvastab stringi määratud algus- ja lõpumärgiga.
<RangeDetect char="(märk)" char1="(märk)" (üldatribuudid) />
char
määrab vahemikku alustava märgi ning char1
seda lõpetava märgi.
See on kasulik näiteks väiksemate jutumärkides stringides ja muu sellise leidmiseks, kuid tasub tähele panna, et esiletõstu mootor töötab korraga ühel real ega leia stringe, mis ulatuvad üle reapiiri.
Tuvastab sobivused rea lõpus.
<LineContinue (üldatribuudid) />
Sellel reeglil ei ole spetsiifilisi atribuute.
See reegel on abiks konteksti lülitamisel rea lõpus, kui viimane märk on längkriips ('\'
). Seda vajab näiteks C/C++ makrode või stringide jätkamiseks.
Kaasatakse teise konteksti või keele/faili reeglid.
<IncludeRules context="kontekstilink" [includeAttrib="true|false"] />
Atribuut context
määrab, milline kontekst kaasata.
Kui see on lihtne string, kaasatakse aktiivsesse konteksti kõik defineeritud reeglid, näiteks:
<IncludeRules context="teineKontekst" />
Kui stringi alguses on ##
, otsib esiletõstu süsteem antud nimega keeledefinitsiooni, näiteks:
<IncludeRules context="##C++" />
Kui atribuut includeAttrib
on tõene (true), muudetakse sihtatribuut lähteatribuudiks. Seda on vaja näiteks kommenteerimise jaoks, kui kaasatud kontekstis sobiv tekst on teistsuguse esiletõstuga kui algkontekstis.
Tuvastab tühimärgid.
<DetectSpaces (üldatribuudid) />
Sellel reeglil ei ole spetsiifilisi atribuute.
Seda on mõtet kasutada, kui tead, et eespool asub tühimärke, näiteks trepitud ridade alguses. Sel juhul jäetakse kõik tühimärgid korraga vahele, mitte ei hakata erinevaid reegleid läbi uurima.
Tuvastab identifikaatoristringid (regulaaravaldisena [a-zA-Z_][a-zA-Z0-9_]*).
<DetectIdentifier (üldatribuudid) />
Sellel reeglil ei ole spetsiifilisi atribuute.
Seda on mõtet kasutada, kui soovid terve sõnastringi korraga vahele jätta, mitte lasta seda uurida mitmel reeglil.
Kui oled aru saanud, kuidas käib konteksti lülitamine, on juba lihtne hakata ise esiletõstu definitsioone kirjutama. Siiski tuleb alati hoolikalt kontrollida, millist reeglit millises olukorras kasutada. Regulaaravaldised on väga võimsad vahendid, kuid võrreldes teiste reeglitega suhteliselt aeglased. Niisiis tasuks silmas pidada järgmisi nõuandeid.
Ainult kahe märgi sobivuse leidmiseks kasuta Detect2Chars
, mitte StringDetect
. Sama käib DetectChar
kohta.
Regulaaravaldisi on lihtne kasutada, kuid sageli saavutab sama tulemuse märksa kiiremini. Oletame, et soovid leida ainult märgi '#'
, kui see on real esimene. Regulaaravaldis näeks välja nii:
<RegExpr attribute="Macro" context="macro" String="^\s*#" />Sama tulemuse saavutab aga palju kiiremini nii:
<DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" />Kui soovid leida regulaaravaldise
'^#'
sobivuse, on samuti mõistlik kasutada DetectChar
, lisades sellele atribuudi column="0"
. Atribuut column
võtab aluseks märkide arvu, pidades niisiis tabeldusmärki üheks märgiks. Konteksti saab lülitada ilma märke töötlemata. Eeldame, et soovid lülitada konteksti, kui esineb string */
, aga tahad seda stringi järgmises kontekstis töödelda. Alltoodud reegel leiab sobivuse ning atribuut lookAhead
sunnib esiletõstu säilitama sobiva stringi järgmises kontekstis.
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
Kui tead, et esineb palju tühimärke, kasuta DetectSpaces
.
Kasuta DetectIdentifier
, mitte regulaaravaldist '[a-zA-Z_]\w*'
.
Kasuta võimaluse korral alati vaikestiile. Sel moel viibi kasutaja alati tuttavas keskkonnas.
Uuri teisi XML-faile selgitamaks, kuidas teised on oma reegleid teostanud.
XML-faile saab kontrollida käsuga xmllint --dtdvalid language.dtd mySyntax.xml.
Sageli keerukaid regulaaravaldisi vajades võiks kasutada olemeid (ENTITIES). Näide:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [ <!ENTITY myref "[A-Za-z_:][\w.:_-]*"> ]>
Seejärel võid regulaaravaldise asemel kasutada &myref;.
Sisukord
See lisa tutvustab lühidalt, kuid loodetavasti piisavalt üksikasjalikult regulaaravaldiste maailma. Siin on dokumenteeritud regulaaravaldisi nii, nagu neid kasutab Kate, mis ei ole päris sama ei sellega, kuidas käsitleb regulaaravaldisi Perl, ega sellega, mida arvab nendest näiteks grep.
Regulaaravaldised võimaldavad meil kirjeldada mingi tekstistringi võimalikku sisu moel, millest arvuti aru saab, nii et meil on võimalik otsida tekstist selle stringi võimalikke vasteid ning selleks suutlike rakenduste korral ka vajadusel leitud millegagi asendada.
Näide: oletame, et soovid leida tekstist lõigud, mille alguses seisaks nimi “Henrik” või “Pernilla” ja millele järgneks verbi “ütlema” mingi vorm.
Tavalise otsingu puhul alustaksid ilmselt esimese nime “Henrik” otsimisega, millele järgneks “ütle”, näiteks Henrik ütle
, ning sobivuste otsimisel tuleks kõrvale heita need, mis ei seisa lõigu alguses, samuti need, kus “ütle” vasteks ei ole mitte “ütles” või “ütleb”, mis sind huvitavad, vaid midagi muud. Ja siis tuleb seda kõike korrata järgmise nimega...
Regulaaravaldist kasutades saab selle ülesande sooritada üheainsa otsinguga ning märksa täpsemalt.
Selleks määravad regulaaravaldiswed üldistavad, kuid ometi üksikasjalikud reeglid sobiva stringi leidmiseks. Meie näiteks võiks seda sõnades väljendada nii: “Rida, mille alguses seisab kas ‘Henrik’ või ‘Pernilla’ (millele võib järgneda kuni neli tühi- või tabeldusmärki), millele järgneb tühimärk, millele järgneb ‘ütle’, millele järgneb kas ‘s’ või ‘b’”. Ja regulaaravaldisena näeks see välja nii:
^[ \t]{0,4}(Henrik|Pernilla) ütle(s|b)
Toodud näites on kasutatud kõiki nelja moodsas regulaaravaldises kasutatavat põhimõtet, nimelt:
Mustrid
Eeldused
Kvantorid
Tagasiviited
Avaldist alustav katus (^
) on eeldus, olles õige ainult juhul, kui järgnev string asub tõesti rea alguses.
Stringid [ \t]
ja (Henrik|Pernilla) ütle(s|b)
on mustrid. Esimene on märgiklass, millele vastab kas tühik või (horisontaalne) tabeldusmärk, teine muster sisaldab kõigepealt alammustrit, millele vastab kas Henrik
või Pernilla
, seejärel osa, millele vastab täpselt string ütle
, ning lõpuks alammustrit, millele vastab kas s
või b
.
String {0,4}
on kvantor, mis annab teada “kuskil 0 kuni 4 kaugusel eelmisest”.
Et regulaaravaldise rakendus, mis toetab tagasiviiteid, salvestab kogu stringi sobiva osa, samuti sulgudesse võetud alammustrid, võime nii kogu sobivust (regulaaravaldise otsingul redaktoris avatud tekstidokumendis märgitakse see enamasti valituks) või leitud nime või tegusõna viimase osa, mille kohta viited käivad, uuesti tarvitada.
Ühtekokku leiab avaldis sobivused sealt ja ainult sealt, kus me seda soovime.
Järgnevates osades kirjeldame põhjalikumalt, kuidas luua ja kasutada mustreid, märgiklasse, eeldusi, kvantoreid ja tagasiviiteid ning viimases osas pakume ka mõned tulusad näited.
Mustrid koosnevad literaalsetest stringidest ja märgiklassides. Mustrid võivad sisaldada alammustreid, mis kujutavad endast sulgudes antud mustrit.
Nii mustrites kui märgiklassides on mõnel märgil eritähendus. Neile literaalse sobivuse leidmiseks tuleb nad spetsiaalselt märkida ehk pakku päästa, et regulaaravaldise rakendus aru saaks, et neid märke tuleb käsitleda mitte metamärkide, vaid just nende märkidena, mida nad inimeste arvates peaksidki tähendama.
Seda tehakse märgi ette längkriipsu asetades (\
).
Regulaaravaldise rakendus ignoreerib paomärki, mis seisab sellise märgi ees, millel antud kontekstis ei ole eritähendust: näiteks längkriips võib “j” ees (\j
) olla või mitte olla, mingit vahet ei ole. Kui sa ei tea täpselt, kas märgil võib olla eritähendus või mitte, on paomärgi kasutamine igati mõttekas.
Paomärki tasub kasutada mõistagi ka längkriipsu enda korral: kui just seda on vaja otsida-asendada, siis tulebki kirjutada \\
.
Märgiklass on avaldis, mis sobib teatud määratud märgikogumiga. Regulaaravaldiste puhul defineeritakse märgiklassid klassi kuuluvaid märke nurksulgudesse []
asetades või mõnda allpool kirjeldatud lühendatud klassi kasutades.
Lihtsad märgiklassid sisaldavad vaid ühe või enam literaalse märgi, näiteks [abc]
(sobivad tähed “a”, “b” või “c”) või [0123456789]
(sobib iga number).
Kuna tähtedel ja numbritel on loogiline järjekord, võib neid vahemikke määrates ka lühendada: [a-c]
on sama, mis [abc]
ja [0-9]
on sama, mis [0123456789]
. Täiesti võimalik on ka selliseid konstruktsioone kombineerida, näiteks [a-fynot1-38]
(selle vastab mõistagi kas “a”,“b”,“c”,“d”, “e”,“f”,“y”,“n”,“o”,“t”, “1”,“2”,“3” või “8”).
Et suur- ja väiketähti käsitletakse erinevatena, siis tuleb tõstutundetu märgiklassi loomiseks, mis leiaks näiteks “a” ja “b”, kindlasti kirjutada [aAbB]
.
Mõistagi on võimalik luua ka “negatiivseid” märgiklasse, kus sobib “kõik, välja arvatud”. Selleks tuleb klassi algusse asetada katus (^
):
[^abc]
tähendab, et sobib iga märk, välja arvatud “a”, “b” või “c”.
Lisaks literaalsetele sümbolitele on elu ja töö hõlbustamiseks defineeritud ka teatud valik lühendeid:
\a
Sobib ASCII signaalimärk (BEL, 0x07).
\f
Sobib ASCII lehevahetusmärk (FF, 0x0C).
\n
Sobib ASCII reavahetusmärk (LF, 0x0A, Unixis uus rida).
\r
Sobib ASCII kelgu tagastamise märk (CR, 0x0D).
\t
Sobib ASCII horisontaalne tabeldusmärk (HT, 0x09).
\v
Sobib ASCII vertikaalne tabeldusmärk (VT, 0x0B).
\xhhhh
Sobib Unicode märk, mis vastab kuueteistkümnendnumbrile hhhh (vahemikus 0x0000 ja 0xFFFF). \0ooo (st. \null ooo) sobib ASCII/Latin-1 sümboliga, mis vastab kaheksandnumbrile 000 (vahemikus 0 ja 0377).
.
(punkt)Sobib suvaline märk (kaasa arvatud reavahetusmärk).
\d
Sobib arv. Sama, mis [0-9]
.
\D
Sobib mitte-arv. Sama , mis [^0-9]
või [^\d]
.
\s
Sobib tühimärk. Praktiliselt sama, mis [ \t\n\r]
.
\S
Sobib mitte-tühimärk. Praktiliselt sama, mis [^ \t\r\n]
, ja sama, mis [^\s]
\w
Sobib iga “täheline märk” - antud juhul siis suvaline täht või number. Arvesta, et alakriips _
nende hulka ei käi erinevalt Perli regulaaravaldistest. Sama, mis [a-zA-Z0-9]
.
\W
Sobib iga mittetäheline märk - seega kõik, mis ei ole täht ega number. Sama, mis [^a-zA-Z0-9]
või [^\w]
.
Lühendatud klasse võib asetada tavalise klassi sisse, näiteks tähelise märgi, tühiku või punkti leidmiseks võib kirjutada [\w \.]
.
POSIXi klasside notatsioon [:<klassi nimi>:]
ei ole veel toetatud.
Järgmistel märkidel on eritähendus, kui nad esinevad märgiklassi konstruktsiooni “[]” sees ja nad tuleb varustada paomärgiga, et neid võetaks literaalselt:
]
Märgiklassi lõpp. Vajalik on paomärk, kui see pole klassi kõige esimene märk (millele võib järgneda paomärgita katus).
^
(katus)Märgib negatiivset klassi, kui on esimene märk. Kui peab sobima literaalselt, on vajalik paomärk, kui on klassi esimene märk.
-
(kriips)Märgib loogilist vahemikku. Märgiklassis vajab alati paomärki.
\
(längkriips)Paomärk. Vajab alati paomärki.
Kui soovid, et leitaks üks mitme alternatiivse mustri seast, võib alternatiivid eraldada vertikaalse kriipsuga |
.
Näiteks selleks, et leida kas “John” või “Harry”, tuleks kirjutada John|Harry
.
Alammustrid on sulgudesse võetud mustrid, mida saab regulaaravaldistes mitmeti kasutada.
Alammustriga saab grupeerida alternatiivide valiku mustris. Alternatiivid tuleb eraldada püstkriipsuga “|”.
Et sobiks näiteks kas või üks sõnadest “int”, “float” or “double”, saab kasutada mustrit int|float|double
. Kui soovid leida aga neist ühe vaid juhul, kui sellele järgneb üks või enam tühimärki ja siis veel mingid tähed, anna alternatiivid alammustrina: (int|float|double)\s+\w+
.
Kui soovid kasutada tagasiviidet, tarvita alammustrit, mis jätab meelde mustri soovitud osa.
Kui näiteks soovid leida ühe ja sama sõna kaks esinemist, mida eraldab koma ja võib-olla mõned tühimärgid, võid kirjutada (\w+),\s*\1
. Alammuster \w+
leiab täheliste märkide kogumi ning kogu avaldis sobib siis, kui sellele järgneb koma, 0 või enam tühimärki ja siis uuesti samasugune täheliste märkide kogum. (String \1
viitab esimesele sulgudes alammustrile.)
Ettevaatav eeldus on alammuster, mida alustab kas ?=
või ?!
.
Kui näiteks sobima peab literaalne string “Bill”, aga ainult juhul, kui sellele ei järgne “ Gates”, võib kasutada sellist avaldist: Bill(?! Gates)
. See leiab nii väljendid “Bill Clinton” kui ka “Billy the Kid”, aga ingoneerib muid sobivusi.
Eelduseks kasutatud alammustreid ei haarata.
Vaata ka osa Eeldused
Järgmistel märkidel on eritähendus, kui nad esinevad mustris, ning need tuleb varustada paomärgiga, kui neid peab võtma literaalselt:
\
(längkriips)Paomärk.
^
(katus)Eeldab stringi algust.
$
Eeldab stringi lõppu.
()
(vasak- ja parempoolne sulg)Märgib alammustreid.
{}
(vasak- ja parempoolne looksulg)Märgib numbrilisi kvantoreid.
[]
(vasak- ja parempoolne nurksulg)Märgib märgiklasse.
|
(püstkriips)Loogiline VÕI. Eraldab alternatiive.
+
(plussmärk)Kvantor 1 või enam.
*
(tärn)Kvantor 0 või enam.
?
(küsimärk)Lisamärk, mida võib tõlgendada kvantorina 0 või 1.
Kvantorid lasevad regulaaravaldisel leida määratud arvu või arvuvahemiku märke, märgiklasse või alammustreid.
Kvantorid antakse looksulgudes ({
ja }
) ning nad esinevad üldistatult kujul {[minimaalselt-esinemisi][,[maksimaalselt-esinemisi]]}
Kasutamist selgitab kõige paremini näide:
{1}
Täpselt 1 esinemine.
{0,1}
Null või 1 esinemine.
{,1}
Sama, aga üks märk vähem kirjutada:-)
{5,10}
Vähemalt 5, aga maksimaalselt 10 esinemist.
{5,}
Vähemalt viis esinemist, maksimum puudub.
Lisaks saab kasutada mõningaid lühendeid:
*
(tärn)sama, mis {0,}
, leiab suvalise arvu esnemisi.
+
(plussmärk)sama, mis {1,}
, vähemalt 1 esinemine.
?
(küsimärk)sama, mis {0,1}
, null või 1 esinemine.
Kui kasutada kvantoreid ilma maksimumi määramata, otsib regulaaravaldis vaikimisi otsitavat stringi nii palju, kui vähegi võimalik, mida nimetatakse sageli ahneks käitumiseks.
Tänapäevased regulaaravaldiste rakendused pakuvad vahendeid “ahnuse väljalülitamiseks”, kuigi graafilises keskkonnas on jäänud liidese ülesandeks pakkuda sellist võimalust või mitte. Nii võib näiteks regulaaravaldise võimalusega otsingudialoogis olla märkekast “Minimaalne sobivus”, samuti võib see märku anda, kas ahnus on vaikimisi sisse lülitatud või mitte.
Mõned näited kvantorite kasutamise kohta.
^\d{4,5}\s
Sobivad arvud väljendites “1234 läheb” ja “12345 nüüd”, aga mitte väljendites “567 üksteist” või “223459 kuskil”.
\s+
Sobib üks või enam tühimärki.
(bla){1,}
Sobivad kõik väljendid “blablabla” ja “bla” väljendites “blaster” või “kõbla”.
/?>
Sobib “/>” väljendis “<closeditem/>”, samuti “>” väljendis “<openitem>”.
Eeldused võimaldavad leida regulaaravaldise sobivuse ainult teatud määratud tingimustel.
Eeldus ei otsi õigupoolest sobivat märki, vaid uurib lähikonnast võimalikke sobivusi, enne kui midagi omaks võtta. Näiteks sõnapiirde eeldus ei püüa leida mitte antud positsioonis mittetähelist märki, vaid kontrollib, et seal ei oleks tähelist märki. See tähendab, et eeldus sobbi, kui tegemist ei ole märgiga, st. tegemist on otsitava stringi alguse ja lõpuga.
Mõned eeldused ei otsi õigupoolest sobivat mustrit, vaid osa stringi sobivust, mis ei ole terve avaldise sobivuse tulemus.
Siin dokumenteeritud regulaaravaldised toetavad järgmisi eeldusi:
^
(katus: stringi algus)Sobib otsitava stringi algus.
Avaldisega ^Peeter
sobib “Peeter” stringis “Peeter, he!”, aga mitte stringis “Hei, Peeter!”.
$
(stringi lõpp)Sobib otsitava stringi lõpp.
Avaldisega ju\?$
sobib stringi “Sa ei teinud seda, eks ju?”, aga mitte stringi “Sa ei teinud seda, eks?” lõpp.
\b
(sõnapiire)Sobib, kui ühel pool on täheline märk ja teisel pool mittetäheline märk.
Sellest on abi konkreetsete sõnade leidmisel, eriti kui näiteks määrata kogu sõna sobivus. Avaldisega \bjuures\b
sobib eraldiseisva sõnaga “juures” näiteks lauses “Ta seisis akna juures vaikides”, aga mitte näiteks sõnas “juurestik”.
\B
(mitte-sõnapiire)Sobib kõikjal, kus “\b” ei sobi.
See tähendab, et sobivus asub sõna sees: avaldisega \Bjuures\B
sobib “alusjuurestik”, aga mitte “juurestik” või “sealjuures”.
(?=MUSTER)
(positiivne ettevaade)Ettevaatav eeldus uurib sobivuse leidmiseks selle järgnevat stringi. Positiivne ettevaade ei näita sobivust, kui võimalikule sobivusele järgnev tekst ei vasta eelduse MUSTRILE, vaid tekstile, mis sellega sobib, mida ei kaasata tulemusse.
Avaldisega käsi(?=\w)
sobib “käsi” stringis “käsitööline”, aga mitte stringis “See on meie neljas käsi!”.
(?!MUSTER)
(negatiivne ettevaade)Negatiivne ettevaade ei näita sobivust, kui otsitavale stringile järgnev osa ei vasta MUSTRILE.
Avaldisega const \w+\b(?!\s*&)
sobib “const char” in the string “const char* foo”, aga mitte “const QString” stringis “const QString& bar”, sest “&” sobib negatiivse ettevaatava eelduse mustriga.
Kate on osa KDE projektist http://www.kde.org/.
Kate asub paketis kdebase KDE projekti peamises FTP saidis ftp://ftp.kde.org/pub/kde/.
Et Kate oma süsteemis kompileerida ja paigaldada, anna Kate baaskataloogis järgmised käsud:
%
./configure
%
make
%
make install
Kuna Kate kasutab autoconf'i ja automake'i, ei tohiks kompileerimisel probleeme esineda. Kui neid siiski ette tuleb, anna sellest palun teada KDE meililistides.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team