
Copyright © 2000, 2001 Thad McGinnis
Copyright © 2005 Anne-Marie Mahfouf <annma@kde.org>
, Anders Lund <anders@alweb.dk>
Copyright © 2011, 2012, 2013, 2014 T.C. Hollingsworth <tchollingsworth@gmail.com>
KatePart är en editorkomponent med fullständig funktionalitet av KDE.
Innehållsförteckning
- 1. Inledning
- 2. En del grundläggande information
- 3. Arbeta med KatePart-editorn
- 4. Menyalternativen
- 5. Avancerade redigeringsverktyg
- 6. Utöka KatePart
- 7. Att anpassa KatePart
- 8. Tack till och licens
- 9. Vi-inmatningsläget
- A. Reguljära uttryck
Exempelförteckning

KatePart är en texteditorkomponent med fullständig funktionalitet som används av många Qt™- och KDE-program. KatePart är mer än en texteditor. Den är avsedd som en editor för programmerare, och kan delvis anses som ett alternativ till mer kraftfulla editorer. En av KateParts huvudfunktioner är syntaxfärgläggningen, som är anpassad för många olika programspråk som C/C++, Java™, Python, Perl, Bash, Modula 2, HTML och Ada.
KWrite är ett enkelt texteditorprogram baserat på KatePart. Det har ett enkelt dokumentgränssnitt (SDI) som gör det möjligt att redigera en fil åt gången per fönster. Eftersom KWrite är en mycket enkel implementation av KatePart behöver det inte någon egen dokumentation. Om du vet hur KWrite används, kan du använda KatePart var som helst.

KWrite och många andra tillämpningar av KatePart är mycket lätta att använda. Alla som har använt en texteditor bör inte ha några problem.
KatePart använder KDE:s drag och släpp protokoll. Filer kan dras och släppas på KatePart från skrivbordet, filhanteraren Dolphin, eller någon FTP-plats som öppnats i ett av Dolphins fönster.

Många av snabbtangenterna kan anpassas via menyn Inställningar. Normalt hanterar KatePart följande snabbtangenter:
Insert | Växla mellan lägena infoga och ersätt. I läget infoga lägger editorn till alla tecken som skrivs in till texten medan all data knuffas framåt till höger om textmarkören. Läget ersätt gör att varje tecken som skrivs in ersätter tecknet omedelbart till höger om textmarkören. |
Vänsterpil | Flytta markören ett tecken åt vänster. |
Högerpil | Flytta markören ett tecken åt höger. |
Uppåtpil | Flytta markören en rad uppåt. |
Neråtpil | Flytta markören en rad neråt. |
Page Up | Flytta markören en sida uppåt. |
Alt+Page Up | Föregående bokmärke |
Page Down | Flytta markören en sida neråt. |
Alt+Page Down | Nästa bokmärke |
Backsteg | Ta bort tecknet till vänster om markören. |
Home | Flytta markören till början av raden. |
End | Flytta markören till slutet av raden. |
Ta bort | Ta bort tecknet till höger om markören (eller all markerad text). |
Skift+retur | Infoga nyrad inklusive inledande tecken på nuvarande rad som inte är bokstäver eller siffror. Det är t.ex. användbart för att skriva kommentarer i koden: I slutet av raden ”// någon text” tryck på snabbtangenten så börjar den nästa raden redan med ”// ”. Du behöver alltså inte skriva in kommentartecknen i början av varje ny rad med kommentarer. |
Skift+vänsterpil | Markera text ett tecken åt vänster. |
Skift+högerpil | Markera text ett tecken åt höger. |
F1 | Hjälp |
Skift+F1 | Vad är det här? |
F3 | |
Skift+F3 | |
Ctrl+H | |
Ctrl+Skift+H | |
Ctrl+A | Markera alla |
Ctrl+Skift+A | Avmarkera |
Ctrl+Skift+B | Blockmarkeringsläge |
Ctrl+B | Lägg till ett bokmärke |
Ctrl+C | Kopiera den markerade texten till klippbordet. |
Ctrl+D | Kommentera |
Ctrl+Skift+D | Avkommentera |
Ctrl+F1 | |
Ctrl+G | Gå till rad... |
Ctrl+I | Indentera markering |
Ctrl+Skift+I | Avindentera markering |
Ctrl+J | Kombinera rader |
Ctrl+N | Nytt dokument |
Ctrl+O | |
Ctrl+P | |
Ctrl+Q | Avsluta. Stäng aktiv kopia av editorn |
Ctrl+R | |
Ctrl+S | Utför kommandot Spara. |
Ctrl+U | Stora bokstäver |
Ctrl+Skift+U | Små bokstäver |
Ctrl+Alt+U | Inledande stor bokstav |
Ctrl+V | Klistrar in klippbordets text på raden som redigeras. |
Ctrl+W | |
Ctrl+X | Klipp ut den markerade texten, och kopiera den till klippbordet. |
Ctrl+Z | |
Ctrl+Skift+Z | |
Ctrl+- | Fäll ihop en lokal nivå |
Ctrl+Skift+- | Fäll ihop toppnivå |
Ctrl++ | Expandera en lokal nivå |
Ctrl+Skift++ | Expandera toppnivå |
Meta+Ctrl+V | VI-inmatningsläge |
Ctrl+Mellanslag | Utför kodkomplettering |
F5 | |
F6 | Visa/Dölj ikonkant |
F7 | Byt till kommandorad |
F9 | Visa/Dölj vikmarkörer |
F10 | Dynamisk radbrytning |
F11 | Visa/Dölj radnummer |

KatePart-editorn är redigeringsområdet i KateParts fönster. Editorn delas mellan Kate och KWrite, och kan också användas i Konqueror för att visa textfiler från den lokala datorn, eller från nätverket.
Editorn består av följande komponenter:
- Redigeringsområdet
Det här är platsen där texten i ditt dokument finns.
- Rullningslisterna
Rullningslisterna anger positionen av den synliga delen av dokumentets text, och kan användas för att flytta omkring i dokumentet. Att dra i rullningslisterna gör inte att infogningsmarkören flyttar sig.
Rullningslisterna visas eller göms efter behov.
- Ikonkanten
Ikonkanten är en smal ruta till vänster om editorn, som visar en liten ikon intill markerade rader.
Du kan lägga till eller ta bort ett bokmärke för en synlig rad genom att klicka med vänster musknapp i ikonkanten intill raden.
Visning av ikonkanten kan ändras med menyalternativet → .
- Radnummerrutan
Rutan med radnummer visar radnummer för alla synliga rader i dokumentet.
Visning av radnummer kan ändras med menyalternativet → .
- Kodvikningsrutan
Kodvikningsrutan låter dig fälla ihop eller expandera block av rader som kan fällas ihop. Beräkningen av områden som kan fällas ihop görs enligt reglerna i definitionen av syntaxfärgläggning för dokumentet.

Att flytta omkring i texten i KatePart sker på liknande sätt som i de flesta grafiska texteditorer. Du flyttar markören med piltangenterna och tangenterna Page Up, Page Down, Home och End tillsammans med väljartangenterna Ctrl och Skift. Tangenten Skift används alltid för att skapa en markering, medan tangenten Ctrl har olika effekt för olika tangenter:
För tangenterna Upp och Ner betyder den rulla istället för att flytta markören.
För tangenterna Vänster och Höger betyder den hoppa över ord istället för tecken.
För tangenterna Page Up och Page Down betyder den att gå till vyns synliga kant istället för att bläddra.
För tangenterna Home och End betyder den att gå till dokumentets början eller slut istället för radens början eller slut.
KatePart tillhandahåller också ett sätt att snabbt gå till motsvarande klammer eller parentes: Placera markören innanför ett parentes- eller klammertecken och tryck på Ctrl+6 för att gå till motsvarande parentes eller klammer.
Dessutom kan du använda bokmärken för att snabbt gå till platser som du själv definierar.

Det finns två grundläggande sätt att markera text i KatePart: med musen, och med tangentbordet.
För att markera med musen, håll nere vänsterknappen medan du drar markören från stället där markeringen ska börja, till den önskade slutpunkten. Texten markeras medan du drar.
Dubbelklicka på ett ord för att markera ordet.
Trippelklicka på en rad markerar hela raden.
Om Skift hålls nere vid ett klick, så markeras texten.
Om ingenting redan är markerat, från textmarkörens position till musens position.
Om det finns en markering, från och inklusive den markeringen till musens position.
Notera
När text markeras genom att dra med musen, kopieras den markerade texten till klippbordet, och kan klistras in genom att klicka med musens mittenknapp i editorn, eller i vilket annat program som helst där du vill klistra in texten.
För att markera med tangentbordet, håll nere Skift-tangenten medan du använder förflyttningstangenterna (piltangenterna, Page Up, Page Down, Home och End, möjligen tillsammans med Ctrl för att utöka förflyttningen av textmarkören).
Se också avsnittet Flytta sig i texten i det här kapitlet.
För att Kopiera den nuvarande markeringen, använd menyalternativet → eller snabbtangenten (normalt Ctrl+C).
För att avmarkera den nuvarande markeringen använd menyalternativet → , eller snabbtangenten (normalt Ctrl+Skift+A), eller klicka med vänster musknapp i editorn.
När blockmarkering är aktiverat, kan du göra ”vertikala markeringar” i texten, vilket betyder att markera vissa kolumner i flera rader. Det här är praktiskt för att till exempel arbeta med tabulatoråtskilda rader.
Blockmarkering kan väljas genom att använda menyalternativet → . Den normala snabbtangenten är Ctrl+Skift+B.
Om skriv över-markering är aktiverad, så ersätts markeringen genom att skriva in eller klistra in text. Om det inte är aktiverat, så läggs ny text till på markörens plats.
Skriv över-markering är normalt aktiverad.
För att ändra inställning av alternativet, använd sidan Markör och markering i inställningsdialogrutan.
När långlivade markeringar är aktiverade, så blir inte markerad text avmarkerad när tecken skrivs in eller markören flyttas. Det här betyder att du kan flytta markören från den markerade texten, och skriva in ny text.
Långlivade markeringar är normalt inte aktiverade.
Långlivade markeringar kan aktiveras på sidan Markör och markering i inställningsdialogrutan.
Varning
Om både långlivade markeringar och skriv över-markering är aktiverade, så ersätts markeringen och avmarkeras om ny text skrivs in eller klistras in, då textmarkören är inne i markeringen.

För att kopiera text, markera den och använd menyalternativet → . Dessutom, vid markering av text med musen kopieras den markerade texten till X-markeringen.
För att klistra in text som för närvarande finns på klippbordet, använd menyalternativet → .
Dessutom, så kan text som markeras med musen klistras in genom att klicka med musens
knapp på önskad plats.Tips
Om du använder KDE-skrivbordet, kan du hämta text som tidigare kopierats från vilket program som helst med Klipper-ikonen i systembrickan.

KatePart har en inkrementell sökrad och en avancerad sök- och ersättningsrad, som erbjuder möjlighet att skriva in en ersättningssträng tillsammans med några extra alternativ.
Raderna erbjuder följande gemensamma alternativ:
- Sök
Här skriver du in söksträngen. Tolkningen av strängen beror på några av alternativen som beskrivs nedan.
- Matcha skiftläge
Om aktiverad, begränsas sökningen till värden som motsvarar skiftläget (stora eller små bokstäver) för varje tecken i sökbegreppet.
Den avancerade sök- och ersättningsraden erbjuder några ytterligare alternativ:
- Vanlig text
Matcha bokstavligen en förekomst av söksträngen.
- Hela ord
Om markerad, så fås bara en träff om det finns en ordgräns på båda sidor om söksträngen, i betydelsen inte en bokstav eller siffra: antingen ett annat synligt tecken, eller ett radslut.
- Escape-sekvenser
Om markerad, aktiveras menyalternativet längst ner i den sammanhangsberoende menyn i textrutorna, och låter dig lägga till escape-sekvenser till sökbegreppet från en fördefinierad lista.
- Reguljärt uttryck
Om markerad, tolkas söksträngen som ett reguljärt uttryck. Menyalternativet längst ner i den sammanhangsberoende menyn i textrutorna aktiveras och låter dig lägga till reguljära uttryck till sökbegreppet från en fördefinierad lista.
Se Reguljära uttryck för mer om detta.
- Sök bara i markeringen
Om markerad, utförs sökning och ersättning bara inom den markerade texten.
- Sök alla
Genom att klicka på den här knappen markeras alla träffar i dokumentet, och antal träffar visas i en liten meddelanderuta.
Starta den inkrementella sökraden med Ctrl+F eller med menyalternativet → , för att söka efter text.
Det här öppnar den inkrementella sökraden längst ner i editorfönstret. Till vänster på raden finns en knapp med en ikon för att stänga raden, följt av en liten textruta för att skriva in sökbegrepp."
När du börjar skriva in tecknen i ditt sökbegrepp, börjar sökningen omedelbart. Om det finns en träff i texten markeras den och bakgrundsfärgen i inmatningsfältet ändras till ljusgrönt. Om sökbegreppet inte motsvarar någon sträng i texten, indikeras det av en ljusröd bakgrundsfärg i inmatningsfältet.
Använd knappen eller
för att gå till nästa eller föregående träff i dokumentet.
Träffar markeras även när sökraden har stängts. För att ta bort markeringarna, tryck på tangenten Esc.
Du kan välja om sökningen ska vara skiftlägeskänslig. Genom att välja begränsas träffar till värden som motsvarar skiftläget (stora eller små bokstäver) för varje tecken i sökbegreppet.
Klicka på knappen till höger på den inkrementella sökraden för att byta till den avancerade sök- och ersättningsraden.
För att upprepa den senaste sökningen, om någon, utan att visa den inkrementella sökraden, använd → (F3) eller → (Skift+F3).
Starta den avancerade sök- och ersättningsraden med kommandot → , eller genvägen Ctrl+R, för att ersätta text.
På radens övre vänstra sida finns en knapp med en ikon för att stänga raden, följt av en liten textruta för att skriva in sökbegrepp.
Du kan styra sökläget genom att välja Enkel text, Hela ord, Escape-sekvenser eller Reguljärt uttryck i kombinationsrutan.
Om Escape-sekvenser eller Reguljärt uttryck är markerat, aktiveras menyalternativet längst ner i den sammanhangsberoende menyn i textrutorna och låter dig lägga till reguljära uttryckstecken i sökbegreppet eller ersätta mönster från fördefinierade listor.
Använd knappen eller
för att gå till nästa eller föregående träff i dokumentet.
Skriv in texten att ersätta med i textrutan med beteckningen Ersätt och klicka på knappen för att bara ersätta markerad text eller för att ersätta söktexten i hela dokumentet.
Du kan ändra sök- och ersättningsbeteendet genom att välja de olika alternativen längst ner på raden. Genom att välja begränsas träffar till poster som matchar skiftläget (stora eller små bokstäver) för varje tecken i sökbegreppet.
söker och ersätter bara inom nuvarande markering. Knappen Sök alla markerar alla träffar i dokumentet och visar antal hittade träffar i ett litet meddelandefönster.
Klicka på knappen till höger på den avancerade sök- och ersättningsraden för att byta till den inkrementella sökraden.
Tips
Om du använder ett reguljärt uttryck för att hitta texten som ska ersättas, kan du använda bakåtreferenser för att återanvända text som sparats i parentetiserade delmönster i uttrycket.
Se Reguljära uttryck för mer information om dem.
Tips
Du kan utföra find (sök), replace (ersätt) och ifind (inkrementell sökning) från kommandoraden.

Bokmärkesfunktionen låter dig markera vissa rader, för att lätt kunna hitta dem igen.
Du kan lägga till och ta bort ett bokmärke för en rad på två olika sätt:
Flytta infogningsmarkören till raden, och välj kommandot → (Ctrl+B).
Klicka på ikonkanten intill raden.
Bokmärken är tillgängliga i menyn . Varje individuellt bokmärke är tillgängligt som ett menyalternativ, namngivet med radnumret för raden med bokmärket, och de första tecknen i texten på raden. För att flytta infogningsmarkören till början av en rad med ett bokmärke, öppna menyn och välj bokmärket.
För att snabbt gå mellan bokmärken eller till nästa/föregående bokmärke, använd kommandona → (Alt+Page Down) eller → (Alt+Page Up).

Den här funktionen låter dig formatera texten på ett mycket enkelt sätt: texten radbryts, så att inga rader överskrider ett maximalt antal tecken per rad, om det inte finns en längre sträng av andra tecken än blanktecken.
För att aktivera/inaktivera det, markera/avmarkera kryssrutan på redigeringssidan i inställningsdialogrutan.
För att ställa in maximal radlängd (maximalt antal tecken per rad), använd alternativet på redigeringssidan i inställningsdialogrutan.
Om aktiverad, så har det fäljande effekter:
Medan du skriver, lägger editorn automatiskt till en hård nyrad efter det sista blanktecknet på en position innan den maximala radlängden nås.
När dokumentet laddas, radbryter editorn texten på ett liknande sätt, så att inga rader är längre än den maximala radlängden, om de innehåller några blanktecken som tillåter detta.
Notera
Det finns för närvarande inget sätt att ställa in radbrytning för typer av dokument, eller aktivera och inaktivera funktionen på dokumentnivå. Det här kommer att rättas i en framtida version av KatePart.

KateParts editorkomponent stöder en mängd olika automatiska indenteringslägen, skapade för olika textformat. Du kan välja bland tillgängliga lägen med menyn → . Modulerna för automatisk indentering tillhandahåller också funktionen → som beräknar indenteringen för markeringen eller nuvarande rad igen. Alltså kan du indentera om hela dokumentet genom att markera all text och utföra åtgärden.
Alla indenteringslägen använder inställningar som hör ihop med indentering i det aktiva dokumentet.
Tips
Du kan ställa in alla möjliga inställningsvariabler, inklusive de som hör ihop med indentering, genom att använda dokumentvariabler och filtyper.
Tillgängliga lägen för automatisk indentering
- Inget
Väljes det här läget stängs automatisk indentering av helt och hållet.
- Normal
Den här indenteringen behåller helt enkelt en indentering som liknar den föregående raden med något innehåll som inte är blanktecken. Du kan kombinera den med alternativen indentera och avindentera för att indentera efter din egen smak.
- C-stil
Indentering för C och liknande språk, såsom C++, C#, Java, Javaskript och så vidare. Indenteringen fungerar inte med skriptspråk som Perl eller PHP.
- Haskell
Indentering för det funktionella programspråket Haskell.
- Lilypond
Indentering för notskriftsspråket Lilypond för musik.
- Lisp
Indentering särskilt för skriptspråket Lisp och dialekter av Lisp.
- Python
Indentering särskilt för skriptspråket Python.
- XML-stil
Indentering särskilt för XML-liknande språk.

KatePart indikering av radändringar låter dig enkelt se vad du nyligen har ändrat i en fil. Sparade ändringar anges av en grön rad till vänster om ett dokument, medan osparade ändringar anges av en orange rad.

Indikering av radändringar under användning.
Färgerna som används kan ändras i inställningsrutan Teckensnitt och färger, eller inaktivera funktionen helt under fliken Kanter i inställningsrutan Utseende.

Rullningslistens miniavbildning i KatePart visar en förhandsgranskning av dokument på rullningslistens plats. Den del av dokumentet som för närvarande är synlig markeras.

Rullningslistens miniavbildning visar en förhandsgranskning av Kates källkod.
Miniavbildningen kan tillfälligt aktiveras eller inaktiveras genom att använda → eller permanent i avdelningen Utseende i KateParts inställningar.

- → (Ctrl+N)
Det här startar ett nytt dokument i ett nytt och oberoende editorfönster.
- → (Ctrl+O)
Visar den vanliga dialogrutan Öppna fil i KDE. Använd filvyn för att välja filen du vill öppna, och klicka på för att öppna den.
- →
Det här är en genväg för att öppna nyligen sparade dokument. Genom att klicka på det här alternativet öppnas en lista vid sidan om menyn med flera av de senast sparade filerna. Genom att klicka på en specifik fil öppnas den i KatePart, om filen fortfarande finns på samma plats.
- → (Ctrl+S)
Det här sparar det nuvarande dokumentet. Om dokumentet redan har sparats skriver det här över den tidigare sparade filen utan att fråga efter användarens samtycke. Om det här är första gången ett nytt dokument sparas, visas dialogrutan Spara som (beskrivs nedan).
- → (Ctrl+Skift+S)
Det här låter ett dokument sparas med ett nytt filnamn. Det här görs med fildialogrutan som beskrivs ovan under avsnittet Öppna i den här hjälpfilen.
- →
Spara ett dokumentet med ett nytt filnamn i en annan kodning.
- →
Spara en kopia av dokumentet med ett nytt filnamn och fortsätt redigera originaldokumentet.
- → (F5)
Laddar den aktiva filen igen. Kommandot är användbart om ett annat program eller en annan process har ändrat filen medan den varit öppen i KatePart.
- → (Ctrl+P)
Öppnar en enkel utskriftsdialog, som låter användaren ange vad, vart och hur utskrift ska ske.
- →
Spara dokumentet som för närvarande är öppet som en HTML-fil, som kommer att formateras med användning av de nuvarande inställningarna av syntaxfärgläggning och färgschema.
- → (Ctrl+W)
Stäng aktuell fil med det här kommandot. Om du har gjort osparade ändringar, kommer du att få en fråga om du vill spara ändringarna innan KatePart stänger filen.
- → (Ctrl+Q)
Det här stänger editorfönstret. Om du har mer än en instans av KatePart startad, genom menyalternativen eller , så stängs inte de instanserna.

- → (Ctrl+Z)
Ångra det senaste redigeringskommandot (inmatning, kopiering, utklippning etc.)
Notera
Detta kan ångra flera redigeringskommandon av samma sort, som att skriva in tecken.
- → (Ctrl+Skift+Z)
Det här återställer den senaste ändringen (om det finns någon) som gjorts med Ångra.
- → (Ctrl+X)
Det här kommandot tar bort den nuvarande markerade texten och placerar den på klippbordet. Klippbordet fungerar osynligt och erbjuder ett sätt att överföra data mellan program.
- → (Ctrl+C)
Det här kopierar den nuvarande markerade texten till klippbordet så att den kan klistras in någon annanstans. Klippbordet fungerar osynligt och erbjuder ett sätt att överföra data mellan program.
- → (Ctrl+V)
Det här infogar innehållet på klippbordet vid markörens position. Klippbordet fungerar osynligt och erbjuder ett sätt att överföra data mellan program.
Notera
Om skriv över markering är aktiverad, så skriver den inklistrade texten över markerad text, om det finns någon.
- →
Undermenyn visar början av de textdelar som senast kopierats till klippbordet. Markera ett objekt i menyn för att klistra in det i filen som för närvarande är öppen.
- →
Kopiera markeringen som HTML, formaterad med användning av de nuvarande inställningarna av syntaxfärgläggning och färgschema.
- → (Ctrl+A)
Det här väljer hela dokumentet. Det här kan vara mycket användbart för att kopiera hela filen till ett annat program.
- → (Ctrl+Skift+A)
Avmarkerar den markerade texten i editorn, om det finns någon.
- → (Ctrl+Skift+B)
Växlar markeringsläge. När markeringsläget är BLOCK, innehåller statusraden strängen [BLOCK] och du kan göra vertikala markeringar, t.ex. markera kolumn 5 till 10 på rad 9 till 15.
- →
Byt mellan normalt och Vi-liknande redigeringsläge. Läget stöder de oftast använda kommandona och förflyttningarna från vim:s normala och visuella läge, och har en valfri Vi-statusrad. Statusraden visar kommandon medan de matas in, utmatning från kommandon och nuvarande läge. Lägets beteende kan anpassas under fliken Vi-inmatningsläge på sidan Redigering i KateParts inställningsdialogruta.
- → (Ins)
Växlar mellan infoga och skriv över. När läget är INFOGA, infogar du tecken där markören befinner sig. När läget är ERSÄTT ersätter inskrivna tecken de nuvarande tecknen om markören är placerad före några tecken. Statusraden visar aktuell status av skriv över, antingen INFOGA eller ERSÄTT.
- → (Ctrl+F)
Det här öppnar den inkrementella sökraden längst ner i editorfönstret. Till vänster på raden finns en knapp med en ikon för att stänga den, följt av en liten textruta för att skriva in sökbegrepp.
När du börjar skriva in tecknen i ditt sökbegrepp, börjar sökningen omedelbart. Om det finns en träff i texten markeras den och bakgrundsfärgen i inmatningsfältet ändras till ljusgrönt. Om sökbegreppet inte motsvarar någon sträng i texten, indikeras det av en ljusröd bakgrundsfärg i inmatningsfältet.
Använd knapparna
eller
för att gå till nästa eller föregående träff i dokumentet.
Träffar markeras även när sökraden har stängts. För att ta bort markeringarna, tryck på tangenten Esc.
Du kan välja om sökningen ska vara skiftlägeskänslig. Genom att välja
begränsas träffar till värden som motsvarar skiftläget (stora eller små bokstäver) för varje tecken i sökbegreppet.
Klicka på knappen
med den gröna pilikonen till höger på den inkrementella sökraden för att byta till den avancerade sök- och ersättningsraden.
- → → (F3)
Det här upprepar den senaste sökningen, om det finns någon, utan att anropa den inkrementella sökraden, och söker framåt igenom dokumentet med början på markörens position.
- → → (Skift+F3)
Det här upprepar den senaste sökningen, om det finns någon, utan att anropa den inkrementella sökraden, och söker bakåt istället för framåt igenom dokumentet.
- → → (Ctrl+H)
Slår upp nästa förekomst av markerad text.
- → → (Ctrl+Skift+H)
Slår upp föregående förekomst av markerad text.
- → (Ctrl+R)
Det här kommandot öppnar den avancerade sök- och ersättningsraden. Längst upp till vänster på raden finns en knapp med en ikon för att stänga raden, följt av en liten textruta för att skriva in sökbegreppet.
Sökläget kan styras genom att välja Enkel text, Hela ord, Escape-sekvenser eller Reguljärt uttryck i kombinationsrutan.
Om Escape-sekvenser eller Reguljärt uttryck väljes, aktiveras knappen Lägg till... längst ner i textrutornas sammanhangsberoende meny, som låter dig lägga till escape-sekvenser eller reguljära uttryck i sök- eller ersättningsbegrepp från fördefinierade listor.
Använd knapparna
eller
för att gå till nästa eller föregående träff i dokumentet.
Skriv in texten att ersätta med i textrutan med beteckningen Ersätt och klicka på knappen för att bara ersätta markerad text eller för att ersätta söktexten i hela dokumentet.
Du kan ändra sök- och ersättningsbeteendet genom att välja olika alternativ längst ner på raden. Genom att välja
begränsas träffar till poster som matchar skiftläget (stora eller små bokstäver) för varje tecken i sökbegreppet.
söker och ersätter bara inom nuvarande markering. Knappen Sök alla markerar alla träffar i dokumentet och visar antal hittade träffar i ett litet meddelandefönster.
Klicka på knappen
med den gröna pilikonen till höger på den avancerade sök- och ersättningsraden för att byta till den inkrementella sökraden.
- → → (Ctrl+6)
Flytta markören till samhörande inledande eller avslutande parentes.
- → → (Ctrl+Skift+6)
Markerar texten mellan samhörande inledande och avslutande parenteser.
- → →
Rader som ändrades efter filen öppnades kallas ändrade rader. Det här alternativet går till föregående ändrade rad.
- → →
Rader som ändrades efter filen öppnades kallas ändrade rader. Det här alternativet går till nästa ändrade rad.
- → → (Ctrl+G)
Det här öppnar gå till raden längst ner i fönstret, som används för att få markören att gå till en viss rad (som anges med dess nummer) i dokumentet. Radnumret kan skrivas in direkt i textrutan eller anges grafiskt genom att klicka på uppåt- eller nedåtpilarna vid sidan av textrutan. Den lilla uppåtpilen ökar radnumret och nedåtpilen minskar det. Stäng raden med ett klick på knappen med ikonen till vänster på raden.

- →
Skapa ett annat fönster som innehåller det aktuella dokumentet. Alla ändringar av dokumentet i ett fönster reflekteras i det andra fönstret och tvärtom.
- → (F7)
Visar KatePart-kommandorad längst ner i fönstret. Skriv
help
på kommandoraden för att få hjälp ochhelp list
för att få en lista med kommandon. Se Editorkomponentens kommandorad för mer information om kommandoraden.- → (Ctrl++)
Det här ökar teckenstorleken som används vid visning.
- → (Ctrl+-)
Det här minskar teckenstorleken som används vid visning.
- →
Den här menyn visar tillgängliga färgscheman. Du kan ändra schema för den nuvarande vyn här. För att ändra förvalt schema måste du använda sidan Teckensnitt och färger i inställningsdialogrutan.
- → → (F10)
Ändrar dynamisk radbrytning i den nuvarande vyn. Dynamisk ordbrytning gör att all text i en vy blir synlig utan att behöva rulla horisontellt genom att återge en verklig rad på fler synliga rader när det behövs.
- → →
Välj när och hur dynamiska radbrytningsmarkörer ska visas. Det är bara tillgängligt om alternativet Dynamisk radbrytning är markerat.
- → →
Om det här alternativet är markerat, ritas en vertikal linje i radbrytningskolumnen som definieras i → under fliken Redigering. Observera att radbrytningsmarkören bara ritas om du använder ett teckensnitt med fast breddsteg.
- → → (F6)
Det här är ett alternativ som växlar. Om det aktiveras, visas ikonkanten vid vänsterkanten i den aktiva editorn, och vice versa. Ikonkanten anger position för markerade rader i editorn.
- → → (F11)
Det här är ett alternativ som växlar. Om det aktiveras, visas en ruta med radnummer längs vänsterkanten på den aktiva editorn, och vice versa.
- → →
Om alternativet är markerat visar den aktuella vyn markeringar på den vertikala rullningslistan. Markeringarna är ekvivalenta med markeringarna på ikonkanten.
- → →
Ersätter rullningslisten med en visualisering av det aktuella dokumentet. För mer information om rullningslistens miniavbildning, se ”Rullningslistens miniavbildning”.
- →
Dessa alternativ rör kodvikning:
- (F9)
Ändrar visning av vikmarkörer till vänster om vyn.
Fäll ihop området som innehåller markören.
Expandera området som innehåller markören.
- (Ctrl+Skift+-)
Fäll ihop alla toppnivåområden i dokumentet. Klicka på triangeln som pekar åt höger för att expandera alla toppnivåområden.
- (Ctrl+Skift++)
Expandera alla toppnivåområden i dokumentet.
Visa eller dölj omgivande ruta omkring ej utskrivningsbara mellanslag.
Visar antal ord och tecken i dokumentet och i aktuell markering.

Under alternativen som beskrivs här, kommer det att finnas ett alternativ för varje bokmärke i det aktiva dokumentet. Texten är några få ord i början på den markerade raden. Välj ett alternativ för att flytta markören till början på den raden. Editorn panorerar om det behövs, för att göra raden synlig.
- → (Ctrl+B)
Lägger till eller tar bort ett bokmärke på den nuvarande raden i det aktiva dokumentet (om det redan finns, tas det bort, annars läggs det till).
- →
Det här kommandot tar bort alla bokmärken från dokumentet samt listan på bokmärken som läggs till längst ner i det här menyalternativet.
- → (Alt+Page Up)
Det här flyttar markören till början av den första raden ovan med ett bokmärke. Menyalternativets text innehåller radnummer och den inledande texten på raden. Alternativet är bara tillgängligt när det finns ett bokmärke på en rad ovanför markören.
- → (Alt+Page Down)
Det här flyttar markören till början av nästa rad med ett bokmärke. Menyalternativets text innehåller radnummer och den inledande texten på raden. Alternativet är bara tillgängligt när det finns ett bokmärke på en rad nedanför markören.

- →
Ställer in aktuellt dokument till skrivskyddat läge. Det förhindrar tillägg av all text och alla ändringar av dokumentets formatering.
- →
Välj filtypschema som du föredrar för det aktiva dokumentet. Det skriver över det globala filtypsläget som ställts in i → under fliken Filtyper, men bara för det aktuella dokumentet.
- →
Välj färgläggningsschema som du föredrar för det aktiva dokumentet. Det skriver över det globala färgläggningsläget som ställts in med → , men bara för det aktuella dokumentet.
- →
Välj indenteringsstil som du vill ha för det aktiva dokumentet. Det skriver över det globala indenteringsläget som ställts in i → , men bara för det aktuella dokumentet.
- →
Du kan skriva över den förvalda kodningen inställd i → på sidan Öppna/spara för att ange en annan kodning för det aktuella dokumentet. Kodningen du ställer in här är bara giltig för det aktuella dokumentet.
- →
Välj radslutsläget som du föredrar för det aktiva dokumentet. Det skriver över det globala radslutsläget som ställts in med → , men bara för det aktuella dokumentet.
- →
Genom att markera åtgärden kan du explicit lägga till en byte-ordningsmarkering för dokument kodade med Unicode. Byte-ordningsmarkeringen (BOM) är ett Unicode-tecken som används för att ange byte-ordningen i en textfil eller ström. För mer information se Byte Order Mark.
- →
Den här undermenyn innehåller en lista med alla skriptstyrda åtgärder. Listan kan enkelt ändras genom att skriva egna skript. På så sätt kan KatePart utökas med användardefinierade verktyg.
- → →
- → →
- → → →
Sorterar den markerade texten eller hela dokumentet i stigande ordning.
- → → → (Ctrl+Skift+Neråtpil)
Flytta markerade rader neråt.
- → → → (Ctrl+Skift+Uppåtpil)
Flytta markerade rader uppåt.
- → → → (Ctrl+Skift+Neråtpil)
Duplicerar markerade rader neråt.
- → → → (Ctrl+Skift+Uppåtpil)
Duplicera markerade rader uppåt.
- → → →
Kodar den markerade texten så att den kan användas som en del av en frågesträng i en webbadress, och ersätter markeringen med den kodade texten.
- → → →
Om en del av en frågesträng i en webbadress är markerad, avkodar detta den och ersätter markeringen med den ursprungliga obehandlade texten.
- → →
- → → →
Konverterar den markerade texten till ett par inledande och avslutande HTML- eller XML-taggar. Om exempelvis
div
är markerad, ersätter alternativet det med<div></div>
.- → → →
Omger den markerade texten med taggen som anges på kommandoraden.
- → → →
Om markören är inne i en inledande HTML- eller XML-tagg, flyttar alternativet den till den avslutande taggen. Om markören är inne i den avslutande taggen, flyttas den istället till den inledande taggen.
- → → →
När markören är inne i ett par av HTML- eller XML-taggar, ändrar alternativet markeringen till innehållet i dessa HTML- eller XML-taggar, utan att markera själva taggarna.
- → → →
När markören är inne i ett par av HTML- eller XML-taggar, ändrar alternativet markeringen till innehållet i dessa HTML- eller XML-taggar, inklusive själva taggarna.
- → → →
Om den markerade delen inte är en kommentar, omger alternativet delen med HTML- eller XML-kommentarer (t.ex.
<!-- markerad text -->
). Om den markerade delen är en kommentar, tas kommentartaggarna istället bort.- → → →
Om markören för närvarande är inne i HTML- eller XML-tagg, tar alternativet bort hela taggen.
- → → →
Alternativet subtraherar ett från texten som för närvarande är markerad om den är ett tal. Om exempelvis
5
är markerat, blir det4
.- → → →
Alternativet subtraherar 10 från texten som för närvarande är markerad om den är ett tal. Om exempelvis
15
är markerat, blir det5
.- → → →
Alternativet subtraherar 0,1 från texten som för närvarande är markerad om den är ett tal. Om exempelvis
4,5
är markerat, blir det4,4
.- → → →
Alternativet adderar ett till texten som för närvarande är markerad om den är ett tal. Om exempelvis
5
är markerat, blir det6
.- → → →
Alternativet adderar 10 till texten som för närvarande är markerad om den är ett tal. Om exempelvis
5
är markerat, blir det15
.- → → →
Alternativet adderar 0,1 till texten som för närvarande är markerad om den är ett tal. Om exempelvis
4,5
är markerat, blir det4,6
.
- → (Ctrl+Mellanslag)
Aktivera kodkomplettering för hand, oftast genom att använda snabbtangenten som är kopplad till åtgärden.
- →
(Ctrl+9) och (Ctrl+8) kompletterar texten som för närvarande är inskriven genom att söka bakåt eller framåt efter liknande ord från den nuvarande markörpositionen. visar en kompletteringsruta med poster som matchar.
- → → (Ctrl+Skift+O)
När är aktiverad, stryks felstavad text under i dokumentet medan du skriver.
- → →
Det här aktiverar stavningskontrollprogrammet, ett program som är konstruerat för att hjälpa användaren hitta och korrigera eventuella stavfel. Genom att klicka på det här alternativet startas kontrollen och visar rättstavningsdialogrutan som kan användas för att styra förloppet. Det finns fyra inställningar i en kolumn mitt i dialogrutan med tillhörande namn till vänster. Med början längst upp är de:
- Okänt ord:
Här visar stavningskontrollen ordet som för närvarande hanteras. Det här sker när kontrollen stöter på ett ord som inte finns i dess ordbok, en fil som innehåller en lista på ord med riktig stavning, som den jämför varje ord i editorn med.
- Ersätt med:
Om kontrollen har några liknande ord i sin ordbok, kommer det första att visas här. Användaren kan acceptera förslaget, skriva in sin egen rättning, eller välja ett annat förslag från nästa ruta.
- Språk:
Om du har installerat flera ordlistor, kan du välja vilken ordlista/språk som ska användas.
På höger sida i dialogrutan finns sex knappar som låter användaren styra stavningskontrollprocessen. De är:
Genom att klicka på den här knappen läggs Okänt ord till i stavningskontrollens ordlista. Det betyder att stavningskontrollen alltid kommer att anse att ordet är rättstavat i framtiden.
- Föreslå
Här kan stavningskontrollen lista ett antal möjliga ersättningar av ordet som behandlas. Genom att klicka på något av förslagen gör att ordet läggs till i rutan ovanför, Ersätt med.
Den här knappen låter stavningskontrollen ersätta ordet som behandlas i dokumentet med ordet i rutan Ersätt med.
Den här knappen gör att stavningskontrollen inte bara ersätter nuvarande Okänt ord: men automatiskt gör samma ersättning för alla andra förekomster av Okänt ord i dokumentet.
Genom att aktivera den här knappen kommer kontrollen fortsätta utan att göra några ändringar.
Den här knappen talat om för kontrollen att inte göra något med det nuvarande okända ordet och att hoppa över alla andra förekomster av samma ord.
Notera
Det här gäller bara för den nuvarande körningen av stavningskontrollen. Om kontrollen körs igen kommer den att stanna på samma ord.
Ytterligare tre knappar är placerade horisontellt längs dialogrutan för stavningskontroll. De är:
Det här startar KDE:s hjälpsystem med hjälpsidan för den här dialogrutan.
Den här knappen avslutar stavningskontrollförloppet, och återgår till dokumentet.
Den här knappen avbryter stavningskontrollen, alla ändringar återställs och du återgår till dokumentet.
- → →
Det här aktiverar programmet för stavningskontroll, men det startar där markören finns istället för från början i dokumentet.
- → →
Stavningskontrollerar den aktuella markeringen.
- → →
Visar en kombinationsruta med alla tillgängliga ordlistor för stavningskontroll längst ner i editorns fönster. Det gör det möjligt att enkelt byta ordlista för stavningskontroll, t.ex. för automatisk stavningskontroll av text på andra språk.
- →
Det här rensar indenteringen för nuvarande markering eller för raden där markören för närvarande befinner sig. Att rensa indenteringen försäkrar dig om att den markerade texten följer indenteringsläget du valt.
- →
Gör att nuvarande rad eller markerade rader justeras om med indenteringsläget och indenteringsinställningarna i dokumentet.
- → (Ctrl+D)
Det här lägger till ett blanktecken i början på raden där textmarkören befinner sig eller till början av alla markerade rader.
- → (Ctrl+Skift+D)
Det här tar bort ett blanktecken (om det finns något) från början på raden där textmarkören befinner sig eller från början av alla markerade rader.
- → (Ctrl+U)
Ändra den markerade texten eller bokstaven efter markören till stora bokstäver.
- → (Ctrl+Skift+U)
Ändra den markerade texten eller bokstaven efter markören till små bokstäver.
- → (Ctrl+Alt+U)
Ändra den inledande bokstaven för orden i den markerade texten eller i aktuellt ord till stor bokstav.
- → (Ctrl+J)
Kombinerar markerade rader, eller den nuvarande raden och raden under den med ett blanktecken som avskiljare. Inledande eller efterföljande blanktecken tas bort för kombinerade rader i ändarna som påverkas.
- →
Tillämpa statisk radbrytning i hela dokumentet. Det betyder att en ny textrad automatiskt börjar när den aktuella raden överskrider längden som anges av alternativet Bryt rader vid under fliken Redigering i →

KatePart har de vanliga menyalternativen i KDE, och . För mer information läs avsnitten om Menyn Inställningar och Menyn Hjälp i KDE:s grunder.

Kommandona och , som är tillgängliga i menyn , låter dig lägga till eller ta bort kommentarmarkeringar i den markerade texten, eller den nuvarande raden, om ingen text är markerad, om kommentarer stöds av textformatet som du redigerar.
Reglerna för hur kommentarer ser ut definieras av syntaxdefinitionerna, så om syntaxfärgläggning inte används, så är det inte möjligt att kommentera eller avkommentera.
Vissa format definierar kommentarmarkeringar för enstaka rader, vissa för flera rader och vissa både ock. Om kommentarmarkeringar för flera rader inte är tillgängliga, så är det inte möjligt att kommentera en markering där den sista raden inte ingår helt och hållet.
Om det finns en kommentarmarkering för enstaka rader, så föredras kommentarer för enstaka rader när det är möjligt, eftersom detta hjälper till att undvika problem med nästlade kommentarer.
När kommentarmarkeringar tas bort, så ska inte någon okommenterad text markeras. När kommentarmarkeringar för flera rader tas bort från en markering, så ignoreras eventuella blanktecken utanför kommentarmarkeringen.
För att lägga till kommentarmarkeringar, använd menyalternativet → eller motsvarande snabbtangent, som normalt är Ctrl+D.
För att ta bort kommentarmarkeringar, använd menyalternativet → eller motsvarande snabbtangent, som normalt är Ctrl+Skift+D.

KateParts editorkomponent har en intern kommandorad, som låter dig utföra vissa åtgärder från ett minimalt grafiskt gränssnitt. Kommandoraden är ett textinmatningsfält längst ner i redigeringsområdet. För att visa den, välj → eller använd snabbtangenten (normalt F7). Editorn tillhandahåller en uppsättning kommandon som är dokumenterade nedan, och ytterligare kommandon kan tillhandahållas av insticksprogram.
Skriv in kommandot och tryck på returtangenten för att utföra det. Kommandoraden anger om kommandot lyckades och visar kanske ett meddelande. Om du kom till kommandoraden genom att trycka på F7 döljs den automatiskt efter några sekunder. För att rensa meddelandet och skriva in ett nytt kommando, tryck på F7 igen.
Kommandoraden har ett inbyggt hjälpsystem, skriv in kommandot help för att komma igång. För att se en lista med alla tillgängliga kommandon, skriv in help list. För att visa hjälp om ett visst kommando, skriv help kommando
.
Kommandoraden har en inbyggd historik, så att du kan återanvända kommandon som redan skrivits in. För att navigera i historiken, använd tangenterna Uppåtpil och Neråtpil. När historikkommandon visas är kommandots argument markerade, vilket låter dig enkelt skriva över argumenten.
Argumenttyper
- BOOLESK
Denna används med kommandon som sätter på eller stänger av någonting. Möjliga värden är
on
(på),off
(av),true
(sant),false
(falskt),1
eller0
.- HELTAL
Ett heltal.
- STRÄNG
En sträng, omgiven av enkla citationstecken (') eller dubbla citationstecken (") när den innehåller mellanslag.
Dessa kommandon tillhandahålls av editorkomponenten och låter dig bara anpassa det aktiva dokumentet och vyn. Det är praktiskt om du vill använda en inställning som skiljer sig från den förvalda inställningen, till exempel för indentering.
set-tab-width {HELTAL bredd}
Ställer in tabulatorbredden till talet
bredd
.set-indent-width {HELTAL bredd}
Ställer in indenteringsbredden till talet
bredd
. Används bara om du indenterar med mellanslag.set-word-wrap-column {HELTAL bredd}
Ställer in radbredden för hård radbrytning till
bredd
. Detta används om du använder automatisk radbrytning för din text.set-icon-border {BOOLESK aktivera}
Ställer in synligheten hos ikonkanten.
set-folding-markers {BOOLESK aktivera}
Ställer in synligheten hos vikmarkörrutan.
set-line-numbers {BOOLESK aktivera}
Ställer in synligheten hos radnummerrutan.
set-replace-tabs {BOOLESK aktivera}
Om aktiverad, ersätts tabulatortecken med mellanslag medan du skriver.
set-remove-trailing-space {BOOLESK aktivera}
Om aktiverad, tas avslutande blanktecken bort så fort markören lämnar en rad.
set-show-tabs {BOOLESK aktivera}
Om aktiverad, synliggörs tabulatortecken och avslutande blanktecken med en liten punkt.
set-show-indent {BOOLESK aktivera}
Om aktiverad, synliggörs indentering av en vertikal punktlinje.
set-indent-spaces {BOOLESK aktivera}
Om aktiverad, indenterar editorn med
indenteringsbredd
mellanslag för varje indenteringsnivå, istället för ett tabulatortecken.set-mixed-indent {BOOLESK aktivera}
Om aktiverad, använder KatePart en blandning av tabulatortecken och mellanslag för indentering. Varje indenteringsnivå har bredden
indenteringsbredd
, och fler indenteringsnivåer optimeras så att så många tabulatortecken som möjligt används.När det utförs aktiverar kommandot dessutom indentering med mellanslag, och om indenteringsbredden inte anges ställs den in till halva
tabulatorbredden
för dokumentet.set-word-wrap {BOOLESK aktivera}
Aktiverar dynamisk radbrytning enligt
aktivera
.set-replace-tabs-save {BOOLESK aktivera }
Om aktiverad, ersätts tabulatortecken med blanktecken så fort dokumentet sparas.
set-remove-trailing-space-save {BOOLESK aktivera}
Om aktiverad, tas avslutande mellanslag bort från alla rader så fort dokumentet sparas.
set-indent-mode {STRÄNG namn}
Ställer in automatiskt indenteringsläge till
namn
. Omnamn
inte känns igen, ställs läget in till 'none'. Giltiga lägen är 'none', 'normal', 'cstyle', 'haskell', 'lilypond', 'lisp', 'python', 'ruby' och 'xml'.set-auto-ident {BOOLESK skript}
Aktivera eller inaktivera automatisk indentering.
set-highlight {STRÄNG färgläggning}
Ställer in dokumentets syntaxfärgläggningssystem. Argumentet måste vara ett giltigt färgläggningsnamn, som visas i menyn → . Kommandot tillhandahåller en lista för automatisk komplettering av dess argument.
reload-scripts
Läs in alla Javascript-skript som används av Kate, inklusive indenterare och kommandoradskript.
set-mode {STRÄNG läge}
Välj filtypschema för aktuellt dokument.
nn[oremap] {STRÄNG original} {STRÄNG avbildad}
Avbilda tangentsekvensen
original
tillavbildad
.
Dessa kommandon ändrar aktuellt dokument.
indent
Indenterar de markerade raderna eller den nuvarande raden.
unindent
Avindenterar markerade rader eller nuvarande rad.
cleanindent
Rensar indenteringen för markerade rader eller nuvarande rad enligt dokumentets indenteringsinställningar.
comment
Infogar kommentarmarkeringar för att göra markeringen, markerade rader eller nuvarande rad en kommentar enligt textformatet som definieras av dokumentets syntaxfärgläggningsdefinition.
uncomment
Tar bort kommentarmarkeringar från markeringen, markerade rader eller nuvarande rad enligt textformatet som definieras av dokumentets syntaxfärgläggningsdefinition.
kill-line
Tar bort den nuvarande raden.
replace { STRÄNG mönster} {STRÄNG ersättning}
Ersätter text som matchar
mönster
medersättning
. Om du vill attmönster
ska innehålla blanktecken, måste bådemönster
ochersättning
placeras inom enkla eller dubbla citationstecken. Om argumenten inte är citerade, används det första ordet sommönster
och resten somersättning
. Omersättning
är tom, tas varje förekomst avmönster
bort.Du kan anpassa kommandot genom att lägga till ett kolon följt av en eller flera bokstäver som var och en representerar en inställning, genom att ange
replace:alternativ mönster ersättning
. Tillgängliga alternativ är:b
Sök bakåt.
c
Sök från markörens position.
e
Sök bara i markeringen.
r
Utför en sökning med ett reguljärt uttryck. Om det anges, kan du använda
\N
, där N är ett tal, för att representera hittad text i ersättningssträngen.s
Utför skiftlägeskänslig sökning.
p
Fråga efter tillåtelse att ersätta nästa förekomst.
w
Matcha bara hela ord.
date {STRÄNG format}
Infogar en datum- och tidssträng som definieras av angivet
format
, eller formatet ”yyyy-MM-dd hh:mm:ss” om inget anges. Följande översättningar görs närformat
tolkas:d
Dagen som ett tal utan inledande nolla (1-31). dd
Dagen som ett tal med inledande nolla (01-31). ddd
Dagens förkortade lokala namn (t.ex. 'mån', 'sön'). dddd
Dagens långa lokala namn (t.ex. 'måndag', 'söndag'). M
Månaden som ett tal utan inledande nolla (1-12). MM
Månaden som ett tal med inledande nolla (01-12). MMMM
Månadens långa lokala namn (t.ex. 'januari', 'december'). MMM
Månadens förkortade lokala namn (t.ex. 'jan', 'dec'). yy
Året som ett tal med två siffror (00-99). yyyy
Året som ett tal med fyra siffror (1752-8000) h
Timman utan inledande nolla (0-23 eller 1-12 om FM/EM visas). hh
Timman med inledande nolla (00-23 eller 01-12 om FM/EM visas). m
Minuten utan inledande nolla (0-59). mm
Minuten med inledande nolla (00-59). s
Sekunden utan inledande nolla (0-59). ss
Sekunden med inledande nolla (00-59). z
Millisekunden utan inledande nolla (0-999). zzz
Millisekunden med inledande nolla (000-999). AP
Använd FM/EM visning. AP ersätts antingen av "FM" eller "EM". ap
Använd fm/em visning. ap ersätts antingen av "fm" eller "em". char {STRÄNG identifierare}
Det här kommandot låter dig infoga enskilda tecken med deras numeriska kod, på decimal, oktal eller hexadecimal form. För att använda det, starta dialogrutan för redigeringskommandot och skriv
char: [nummer]
i inmatningsrutan, och tryck sedan på .Exempel 5.1. Exempel på användning av char
Inmatning:
char:234
Utmatning:
ê
Inmatning:
char:0x1234
Utmatning:
ሴ
- s///[ig] %s///[ig]
Det här kommandot söker och ersätter på ett sätt som liknar sed, för den nuvarande raden, eller för hela filen (%s///).
I kortet, så söks texten igenom efter en text som matchar sökmönstret, det reguljära uttrycket mellan det första och andra snedstrecket, och vid en träff så ersätts texten med uttrycket mellan det andra och sista snedstrecket. Parenteser i sökmönstret skapar bakåtreferenser, det vill säga kommandot kommer ihåg vilken del av strängen som matchade inom parenteserna. Strängarna kan återanvändas i ersättningsmönstret, med referenserna
\1
, för första paret parenteser,\2
för det andra, och så vidare.För att söka efter tecknen
(
eller)
, måste du undanta dem med ett bakstreckstecken\(\)
.Om du lägger till
i
sist i uttrycket, blir matchningen skiftlägesokänslig. Om du lägger tillg
sist, ersätts alla förekomster av mönstret, annars ersätts bara den första förekomsten.Exempel 5.2. Ersätta text på den nuvarande raden
Din vänliga kompilator stannade just, och talade om för dig att klassen
minKlass
som nämns på rad 3902 i din källkodsfil inte är definierad."Tusan också!" tänker du. Det ska förstås vara
MinKlass
. Du går till rad 3902, och istället för att försöka hitta ordet i texten, så startar du dialogrutan för redigeringskommandot, och skriver ins/minklass/MinKlass/i
, trycker på knappen , sparar filen och kompilerar – utan problem med felet borta.Exempel 5.3. Ersätta text i hela filen
Antag att du har en fil där du nämner namnet ”Anna Johansson” flera gånger, och någon kommer in och talar om för dig att hon precis har gift sig och bytt namn till ”Anna Svensson”. Du vill, förstås, byta ut alla förekomster av ”Anna Johansson” mot ”Anna Svensson”.
Starta kommandoraden, och skriv in kommandot:
%s/Anna Johansson/Anna Svensson/
, tryck på returtangenten och du är klar.Exempel 5.4. Ett mer avancerat exempel
Det här exemplet använder bakåtreferenser samt en ordklass (om du inte vet vad det är, se tillhörande dokumentation som nämns nedan).
Antag att du har följande rad:
void MyClass::DoStringOps( String &foo, String &bar, String *p, int &a, int &b )
Nu inser du att det inte är bra kod, och bestämmer dig för att du vill använda nyckelordet
const
för alla ”adress”- parametrar, de som markeras med operatorn & framför argumentets namn. Du skulle också vilja förenkla blanktecknen, så att det bara finns ett blanktecken mellan varje ord.Starta dialogrutan för redigeringskommandot, skriv in:
s/\s+(\w+)\s+(&)/ const \1 \2/g
och tryck sedan på knappen . Tecknetg
i slutet på raden gör att det reguljära uttrycket görs om för varje träff, så att bakåtreferenserna sparas.Utmatning:
void MinKlass::DoStringOps( const String &x, const String &y String *p, const int &a, const int &b )
Åtgärden utförd! Vad hände nu egentligen? Ja, vi letade efter blanktecken (
\s+
), följt av en eller flera bokstäver (\w+
), följt av ytterligare blanktecken (\s+
), följt av ett och-tecken, och sparade bokstäverna samt och-tecknet för att återanvända i ersättningsoperationen. Därefter ersatta vi den matchande delen av vår rad, med ett blanktecken följt av ”const”, följt av ett blanktecken, följt av våra sparade bokstäver (\1
), följt av vårt sparade och-tecken (\2
)I vissa fall var bokstäverna ”String”, i andra ”int”, så att använda teckenklassen
\w
och tecknet+
visade sig vara en värdefull tillgång.sort
Sorterar den markerade texten eller hela dokumentet.
natsort
Sorterar de markerade raderna eller hela dokumentet i naturlig ordning.
Exempel 5.5. sort mot natsort
sort(a10, a1, a2)
ger resultateta1, a10, a2
natsort(a10, a1, a2)
ger resultateta1, a2, a10
moveLinesDown
Flytta markerade rader neråt.
moveLinesUp
Flytta markerade rader uppåt.
uniq
Ta bort duplicerade rader från den markerade texten eller hela dokumentet.
rtrim
Ta bort avslutande blanktecken från den markerade texten eller hela dokumentet.
ltrim
Ta bort inledande blanktecken från den markerade texten eller hela dokumentet.
join [STRÄNG separator]
Sammanfoga markerade linjer eller hela dokumentet. Har en valfri parameter som definierar ett separatortecken, till exempel:
join ','
.rmblank
Ta bort alla blanktecken från den markerade texten eller hela dokumentet.
unwrap
Ta bort radbrytning för markerad text eller hela dokumentet.
each {STRÄNG skript}
Givet en Javascript-funktion som argument, anropa den för listan med markerade rader och ersätt dem med returvärdet från anropet.
Exempel 5.6. Sammanfoga markerade linjer
each 'function(lines){return lines.join(", ")}'
Eller, kortare:
each 'lines.join(", ")'
filter {STRÄNG skript}
Givet en Javascript-funktion som argument, anropa den för listan med markerade rader och ta bort de där anropet returnerar falskt.
Exempel 5.7. Ta bort tomma linjer
filter 'function(1){return 1.length > 0;}'
Eller, kortare:
filter 'line.length > 0'
map {STRÄNG skript}
Givet en Javascript-funktion som argument, anropa den för listan med markerade rader och ersätt raden med värdet från anropet.
Exempel 5.8. Ta bort tomma linjer
map 'function(line){return line.replace(/^s+/,"");}'
Eller, kortare:
map 'line.replace(/^s+/,"")'
duplicateLinesUp
Duplicera markerade rader ovanför den nuvarande markeringen.
duplicateLinesDown
Duplicera markerade rader nedanför den nuvarande markeringen.
goto {HELTAL rad}
Det här kommandot går till den angivna raden.
grep {STRÄNG mönster}
Sök i dokumentet efter det reguljära uttrycket
mönster
. För mer information, se Appendix A, Reguljära uttryckfind {STRÄNG mönster}
Kommandot går till första förekomsten av
mönster
enligt inställningen. Följande förekomster kan hittas genom att använda → (normal snabbtangent är F3).Kommandot kan anpassas genom att lägga till ett kolon följt av ett eller flera alternativ. Formatet är
find:alternativ mönster
. Följande alternativ stöds:b
Sök bakåt.
c
Sök från markörens position.
e
Sök bara i markeringen.
r
Utför en sökning med ett reguljärt uttryck. Om det anges, kan du använda
\N
, där N är ett tal, för att representera hittad text i ersättningssträngen.s
Utför skiftlägeskänslig sökning.
w
Matcha bara hela ord.
ifind {STRÄNG mönster}
Kommandot tillhandahåller ”sökning medan du skriver”. Du kan ställa in beteendet eller sökningen genom att lägga till ett kolon följt av ett eller flera alternativ, på detta sätt:
ifind:alternativ mönster
. Tillåtna alternativ är:b
Sök bakåt.
r
Gör en sökning med ett reguljärt uttryck.
s
Utför skiftlägeskänslig sökning.
c
Sök från markörens position.
w
Spara aktuellt dokument.
wa
Spara alla dokument som för närvarande är öppna.
q
Stäng aktuellt dokument.
qa
Stäng alla öppna dokument.
wq
Spara och stäng aktuellt dokument.
wqa
Spara och stäng alla dokument som för närvarande är öppna.
x
Spara och stäng aktuellt dokument, men bara om det har ändrats.
x
Spara och stäng alla dokument som för närvarande är öppna, men bara om de har ändrats.
bp
Gå till föregående dokument i dokumentlistan.
bn
Gå till nästa dokument i dokumentlistan.
new
Öppna ett nytt dokument i en horisontellt delad vy.
vnew
Öppna ett nytt dokument i en vertikalt delad vy.
e
Läs in aktuellt dokument om det har ändrats på disk.
enew
Redigera ett nytt dokument.
print
Öppna utskriftsdialogrutan för att skriva ut det aktuella dokumentet.

Kodvikning låter dig dölja delar av ett dokument i editorn, vilket gör det lättare att få en överblick av stora dokument. I KatePart görs beräkningen av områden som kan fällas ihop genom att använda reglerna som anges i definitionerna av syntaxfärgläggning, och därför är det bara tillgängligt i vissa format, typiskt i programkällkod, XML-markering och liknande. De flesta definitioner av syntaxfärgläggning som stöder kodvikning låter dig också manuellt definiera områden som kan fällas ihop, typiskt genom att använda nyckelorden BEGIN
och END
.
För att använda kodvikningsfunktionen, aktivera vikmarkörer genom att använda menyalternativet → om de inte redan är synliga. Vikmarkörrutan till vänster på skärmen visar en grafisk vy av områden som kan fällas ihop, med triangelsymboler för att ange möjliga åtgärder för ett givet område: en triangel med spetsen neråt betyder att området är expanderat, och att klicka på den fäller ihop området så att en triangel som pekar åt höger visas istället.
Tre kommandon tillhandahålls för att hantera tillståndet hos områden som kan fällas ihop, se menydokumentationen.
De ihopfällda raderna blir ihågkomna när en fil stängs, så när filen öppnas igen är de ihopfällda delarna fortfarande ihopfällda. Det gäller också vid uppdatering.
Om du inte vill använda kodvikningsfunktionen kan du inaktivera alternativet Visa vikmarkörer (om tillgängliga) på sidan Utseende i editorns inställningar.

Som alla avancerade editorer erbjuder KatePart en mängd sätt att utöka dess funktionalitet. Du kan skriva enkla skript för att lägga till funktionalitet med Javascript. Till sist, när du väl har utökat KatePart, är du välkommen att gå med och dela med dig av dina förbättringar med hela världen.

Syntaxfärgläggning är det som gör att editorn automatiskt visar text med olika stilar/färger, beroende på strängens funktion i relation till filens syfte. Till exempel i programkällkod, så kan kontrollsatser visas i fetstil, medan datatyper och kommentarer får annorlunda färg än resten av texten. Det här ökar textens läsbarhet väsentligt, och hjälper på så sätt författaren att vara effektivare och mer produktiv.

En funktion i Perl, som visas med syntaxfärgläggning.

Samma funktion i Perl utan syntaxfärgläggning.
Av de två exemplen, vilket är lättast att läsa?
KatePart levereras med ett flexibelt, anpassningsbart och avancerat system för att göra syntaxfärgläggning, och standarddistributionen tillhandahåller definitioner för ett brett område av programspråk, formaterings- och skriptspråk samt andra textfilformat. Dessutom kan du tillhandahålla dina egna definitioner med enkla XML-filer.
KatePart detekterar automatiskt de riktiga syntaxreglerna när du öppnar en fil, baserat på filens MIME-typ, som avgörs av dess filändelse, eller om den inte har någon, dess innehåll. Skulle du råka ut för ett dåligt val, kan du ställa in syntaxen som används för hand med menyn → .
Stilarna och färgerna som används av varje syntaxfärgläggningsläge kan anpassas under fliken Färgläggnińgstextstilar i inställningsdialogrutan, medan MIME-typerna och filändelserna det ska användas för hanteras under fliken Lägen och filtyper.
Notera
Syntaxfärgläggning finns för att förbättra läsbarheten för riktig text, men du kan inte lita på att den validerar din text. Att markera text för syntax kan vara svårt, beroende på formatet som du använder, och i vissa fall är upphovsmännen till syntaxreglerna stolta om 98 procent av texten visas korrekt, även om du behöver en ovanlig stil för att se de felaktiga 2 procenten.
Tips
Du kan ladda ner uppdaterade eller nya definitioner av syntaxfärgläggning från KateParts webbplats genom att klicka på knappen på fliken Lägen och filtyper i inställningsdialogrutan.
Det här avsnittet beskriver KateParts syntaxfärgläggningsmekanism i mer detalj. Det är avsett för dig, om du vill veta mer om den, eller om du vill skapa och ändra syntaxdefinitioner.
Så fort du öppnar en fil, är en av de första sakerna som KatePart-editorn gör att avgöra vilken syntaxdefinition som ska användas för filen. När filens text läses in, och medan du skriver i den, så analyserar syntaxfärgläggningssystemet texten enligt reglerna som definieras i syntaxdefinitionen och markerar var i den som olika sammanhang och stilar börjar och slutar.
När du skriver in text i dokumentet, så analyseras och markeras den nya texten i farten, så att om du tar bort ett tecken som markeras som början eller slutet på ett sammanhang, så ändras stilen på den omgivande texten i enlighet med detta.
Syntaxdefinitioner som används av KateParts syntaxfärgläggningssystem är XML-filer, som innehåller
Regler för att detektera funktionen hos text, organiserade i sammanhangsblock
Listor med nyckelord
Definitioner av stilobjekt
När texten analyseras utvärderas detekteringsreglerna i den ordning som de definierades, och om början på den nuvarande strängen matchar en regel, så används motsvarande sammanhang. Startpunkten i texten flyttas till den sista punkten där regeln matchade, och en ny genomgång av reglerna sker, med början i sammanhanget som anges av den matchande regeln.
Detekteringsreglerna är centrala för färgläggningsdetekteringssystemet. En regel är en sträng, ett tecken eller ett reguljärt uttryck som texten som ska analyseras matchas mot. Den innehåller information om vilken stil som ska användas för den delen av texten som matchar. Den kan byta arbetssammanhanget för systemet, antingen till ett sammanhang som anges explicit, eller till det föregående sammanhanget som användes av texten.
Reglerna organiseras i sammanhangsgrupper. En sammanhangsgrupp används för de huvudsakliga koncepten i formatets text, till exempel textsträngar inom citationstecken eller kommentarblock i programkällkod. Det här försäkrar att färgläggningssystemet inte behöver gå igenom alla regler när det inte är nödvändigt, och att vissa teckensekvenser i texten kan hanteras annorlunda beroende på det nuvarande sammanhanget.
Sammanhang kan skapas dynamiskt för att till exempel tillåta användning av instansspecifik data i regler.
I vissa programspråk, hanteras heltal annorlunda än flyttal av kompilatorn (programmet som översätter källkoden till körbart binärformat), och det kan finnas tecken som har en särskild mening i en sträng med citationstecken. I sådana fall är det vettigt att visa dem på ett annat sätt än omgivningen så att de är lätta att identifiera när texten läses. Så även om de inte representerar speciella sammanhang, så kan de betraktas som sådana av syntaxfärgläggningssystemet, så att de kan markeras för att visas på ett annorlunda sätt.
En syntaxdefinition kan innehålla så många stilar som krävs för att täcka koncepten i det format den används för.
I många format finns det en lista på ord som representerar ett speciellt koncept. Till exempel i programspråk, så är kontrollsatser ett koncept, namn på datatyper ett annat, och inbyggda funktioner i språket ett tredje. KateParts syntaxfärgläggningssystem kan använda sådana listor för att detektera och markera ord i texten för att visa koncepten för textformaten.
Om du öppnar en C++ källkodsfil, en Java™ källkodsfil och ett HTML-dokument i KatePart, så ser du att även om formaten är olika, och olika ord därför väljes för särskild behandling, så är färgerna som används samma. Det här beror på att KatePart har en fördefinierad lista med standardstilar, som används av varje individuell syntaxdefinition.
Det här gör det lätt att känna igen liknande koncept i olika textformat. Kommentarer finns till exempel i nästa alla program-, skript- eller formateringsspråk, och när de visas med samma stil i alla språk, behöver du inte stanna och tänka efter för att identifiera dem i texten.
Tips
Alla stilar i en syntaxdefinition använder en av standardstilarna. Några få syntaxdefinitioner använder fler stilar än det finns som standard, så om du ofta använder ett format, kan det vara värt att titta i inställningsdialogrutan för att se om några koncept använder samma stil. Det finns till exempel bara en standardstil för strängar, men eftersom programspråket Perl hanterar två sorters strängar, kan du utöka färgläggningen genom att ställa in dessa så att de skiljer sig något. Alla tillgängliga standardstilar förklaras senare.
KatePart använder ramverket för syntaxfärgläggning från KDE Ramverk. XML-standardfilen för färgläggning som levereras med KatePart kompileras normalt i syntaxfärgläggningsbiblioteket.
Det här avsnittet är en översikt av färgläggningsdefinitionernas XML-format. Det beskriver huvudkomponenterna och deras betydelse och användning, och går djupare in i detaljerna för detekteringsreglerna.
Den formella definitionen, som också kallas XSD finns i arkivet för syntaxfärgläggning i filen language.xsd
.
Egna .xml
-färgläggningsdefinitionsfiler finns i org.kde.syntax-highlighting/syntax/
i användarkatalogen som hittas med qtpaths
, och som oftast är --paths GenericDataLocation
. $HOME
/.local/share
På Windows® är filerna placerade i %USERPROFILE%/AppData/Local/org.kde.syntax-highlighting/syntax
. %USERPROFILE%
expanderas oftast till C:\\Users\\
.användare
Huvudkomponenter i KateParts färgläggningsdefinitioner
- En syntaxfärgläggningsfil innehåller ett huvud som anger XML-versionen:
<?xml version="1.0" encoding="UTF-8"?>
- Definitionsfilens rot är elementet
language
. Följande egenskaper är tillgängliga: Egenskaper som krävs:
name
anger språkets namn. Det visas senare i menyer och dialogrutor.section
anger kategorin.extensions
definierar filändelser, såsom "*.cpp;*.h".version
anger aktuell version av definitionsfilen i form av ett heltal. När en definitionsfil för färgläggning ändras, försäkra dig om att talet ökas.kateversion
anger senaste version av KatePart som stöds.Valfria egenskaper:
mimetype
associerar filers MIME-typ.casesensitive
definierar om nyckelord är skiftlägeskänsliga eller inte.priority
krävs om en annan syntaxfärgläggningsfil använder samma filändelse. Den högsta prioriteten vinner.author
innehåller författarens namn och e-postadress.license
innehåller licensen, oftast MIT-licensen för nya syntaxfärgläggningsfiler.stil
innehåller språket som tillhandahålls och används av indenterare för egenskapenrequired-syntax-style
.hidden
definierar om namnet ska visas i KateParts menyer.Nästa rad kan alltså se ut så här:
<language name="C++" version="1" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" />
- Därefter kommer elementet
highlighting
som innehåller det valfria elementetlist
och det nödvändiga elementencontexts
ochitemDatas
. list
element innehåller en lista med nyckelord. I det här fallet är nyckelorden class och const. Du kan lägga till så många listor som du behöver.Elementet
contexts
innehåller alla sammanhang. Det första sammanhanget är förvalt som start för färgläggningen. Det finns två regler i sammanhanget Normal Text som matchar listan av nyckelord med namnet något-namn och en regel som detekterar ett citationstecken och byter sammanhang till string. För att lära dig mer om regler, läs nästa kapitel.Den tredje delen är elementet
itemDatas
. Det innehåller alla färger och teckenstilar som behövs av sammanhangen och reglerna. I det här exemplet användsitemData
Normal Text, String och Keyword.<highlighting> <list name="något-namn"> <item> class </item> <item> const </item> </list> <contexts> <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" > <keyword attribute="Keyword" context="#stay" String="något-namn" /> <DetectChar attribute="String" context="string" char=""" /> </context> <context attribute="String" lineEndContext="#stay" name="string" > <DetectChar attribute="String" context="#pop" char=""" /> </context> </contexts> <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" /> <itemData name="Keyword" defStyleNum="dsKeyword" /> <itemData name="String" defStyleNum="dsString" /> </itemDatas> </highlighting>
- Den sista delen av färgläggningsdefinitionen är den valfria sektionen
general
. Den kan innehålla information om nyckelord, kodvikning, kommentarer och indentering. Sektionen
comment
definierar den sträng som enradskommentarer inleds med. Du kan också definiera en flerradskommentar med multiLine och den ytterligare egenskapen end. Det är användbart när användaren trycker på snabbtangenten som motsvarar kommentera/avkommentera.Sektionen
keywords
definierar om listor med nyckelord är skiftlägeskänsliga eller inte. Andra egenskaper förklaras senare.<general> <comments> <comment name="singleLine" start="#"/> </comments> <keywords casesensitive="1"/> </general> </language>
Den här delen beskriver alla tillgängliga egenskaper för sammanhang, itemData, nyckelord, kommentarer, kodvikning och indentering.
- Elementet
context
hör till gruppencontexts
. Själva sammanhanget definierar sammanhangsspecifika regler, som vad som ska ske om färgläggningssystemet når slutet på en rad. Tillgängliga egenskaper är: name
anger sammanhangets namn. Regler använder namnet för att ange sammanhanget att byta till om regeln matchar.lineEndContext
definierar sammanhanget som färgläggningssystemet byter till om det når ett radslut. Det kan antingen vara namnet på ett annat sammanhang,#stay
för att inte byta sammanhang (dvs. göra ingenting) eller#pop
som gör att det lämnar sammanhanget. Det är till exempel möjligt att använda#pop#pop#pop
för att återgå tre steg, eller till och med#pop#pop!Annat_Sammanhang
för att återgå två steg och byta till sammanhanget som heterAnnat_Sammanhang
.lineEmptyContex
definierar sammanhanget om en tom rad påträffas. Förval: #stay.fallthrough
definierar om färgläggningssystemet byter till sammanhanget som anges i fallthroughContext om ingen regel matchar. Förval: false.fallthroughContext
anger nästa sammanhang om ingen regel matchar.dynamic
om true kommer sammanhanget ihåg strängar/platsmarkörer som sparats av dynamiska regler. Det behövs till exempel för HERE-dokument. Förval: false.- Elementet
itemData
är i gruppenitemDatas
. Det definierar teckenstilen och färgerna. Det är alltså möjligt att definiera egna stilar och färger. Dock rekommenderar vi att du håller dig till standardstilarna om möjligt, så att användaren alltid ser samma färger använda i olika språk. Ibland finns det dock inget annat sätt, och det är nödvändigt att ändra färg- och teckenegenskaper. Egenskapens namn och defStyleNum krävs, övriga är valfria. Tillgängliga egenskaper är: name
anger namnet på itemData. Sammanhang och regler använder namnet i egenskapen attribute för att referera till itemData.defStyleNum
definierar vilken standardstil som ska användas. Tillgängliga standardstilar förklaras i detalj senare.color
definierar en färg. Giltiga format är '#rrggbb' eller '#rgb'.selColor
definierar markeringens färg.italic
om true, är texten kursiv.bold
om true, är texten i fetstil.underline
om true, är texten understruken.strikeout
om true, är texten överstruken.spellChecking
om true, stavningskontrolleras texten.- Elementet
keywords
i gruppengeneral
definierar nyckelordens egenskaper. Tillgängliga egenskaper är: casesensitive
kan vara true eller false. Om det är true, matchas alla nyckelord skiftlägeskänsligt.weakDeliminator
är en lista med tecken som inte fungerar som ordavgränsare. Punkt'.'
är till exempel en ordavgränsare. Med antagandet att ett nyckelord i enlist
innehåller en punkt, matchar det bara om du anger att punkten är en svag avgränsare.additionalDeliminator
definierar ytterligare avgränsare.wordWrapDeliminator
definierar tecken som en radbrytning kan ske efter.Standardavgränsare och radbrytningsavgränsare är tecknen
.():!+,-<=>%&*/;?[]^{|}~\
, mellanslag (' '
) och tabulator ('\t'
).- Elementet
comment
i gruppencomments
definierar kommentaregenskaper som används för → och → . Tillgängliga egenskaper är: name
är antingen singleLine eller multiLine. Om du väljer multiLine krävs egenskaperna end och region.start
definierar strängen som används för att inleda en kommentar. I C++ skulle det vara "/*".end
definierar strängen som används för att avslutar en kommentar. I C++ skulle det vara "*/".region
ska vara namnet på den vikbara flerraderskommentaren. Med antagandet att du har beginRegion="Comment" ... endRegion="Comment" i dina regler, ska du använda region="Comment". På så sätt fungerar avkommentering även om du inte markerar all text i en flerraderskommentar. Markören måste bara vara inne i flerraderskommentaren.- Elementet
folding
i gruppengeneral
definierar kodvikningsegenskaper. Tillgängliga egenskaper är: indentationsensitive
om true läggs kodvikningsmarkörerna till baserat på indentering, som i skriptspråket Python. Oftast behöver du inte ange det, eftersom det har det förvalda värdet false.- Elementet
indentation
i gruppengeneral
definierar vilken identerare som ska användas. Dock rekommenderar vi starkt att du utelämnar elementet, eftersom intenteraren oftast anges genom att definiera en filtyp eller genom att lägga till lägesrader i textfilen. Om du dock anger en indenterare, tvingar du användaren att använda en viss indentering, vilket kanske inte alls uppskattas. Tillgängliga egenskaper är: mode
är namnet på indenteraren. Indenterare som för närvarande är tillgängliga är:normal, cstyle, haskell, lilypond, lisp, python, ruby och xml.
Standardstilar har redan förklarats. En kort sammanfattning: Standardstilar är fördefinierade stilar för teckensnitt och färger.
- Allmänna standardstilar:
dsNormal
, när ingen särskild färgläggning krävs.dsKeyword
, nyckelord för inbyggda språk.dsFunction
, funktionsanrop och definitioner.dsVariable
, om tillämpligt: variabelnamn (t.ex. $enVariabel i PHP eller Perl).dsControlFlow
, nyckelord för kontrollflöde såsom if, else, switch, break, return, yield, ...dsOperator
, operatorer såsom + - * / :: < >dsBuiltin
, inbyggda funktioner, klasser och objekt.dsExtension
, vanliga ändelser såsom Qt-klasser och funktioner eller makron i C++ och Python.dsPreprocessor
, preprocessorsatser eller makrodefinitioner.dsAttribute
, anmärkningar som @override och __declspec(...).- Strängrelaterade standardstilar:
dsChar
, enstaka tecken såsom 'x'.dsSpecialChar
, tecken med speciell betydelse i strängar som undantag, ersättningar eller operatorer i reguljära uttryck.dsString
, strängar såsom "hej allihop".dsVerbatimString
, ordagranna eller obehandlade strängar som 'raw \backlash' i Perl, CoffeeScript och skal, samt r'\raw' i Python.dsSpecialString
, SQL-satser, reguljära uttryck, HERE-dokument, Latex-matematikläge, ...dsImport
, import, inkludering och require för moduler.- Nummerrelaterade standardstilar:
dsDataType
, inbyggda datatyper såsom int, void, u64.dsDecVal
, decimala värden.dsBaseN
, värden med en bas skild från 10.dsFloat
, flyttalsvärden.dsConstant
, inbyggda och användardefinierade konstanter såsom PI.- Kommentar- och dokumentationsrelaterade standardstilar:
dsComment
, kommentarer.dsDocumentation
, /** dokumentationskommentarer */ eller """dokumentsträngar""".dsAnnotation
, dokumentationskommandon som @param, @brief.dsCommentVar
, variabelnamnen som används i ovanstående kommandon, som "exempel" i @param exempel.dsRegionMarker
, områdesmarkeringar som //BEGIN, //END i kommentarer.- Andra standardstilar:
dsInformation
, anmärkningar och tips som @note i doxygen.dsWarning
, varningar som @warning i doxygen.dsAlert
, specialord som TODO, FIXME, XXXX.dsError
, färgläggning av fel och felaktig syntax.dsOthers
, när ingenting annat passar in.
Den här sektionen beskriver reglerna för syntaxdetektering.
Varje regel kan matcha noll eller flera tecken i början av strängen som de ska testas med. Om regeln matchar, så tilldelas de matchande tecknen stilen eller egenskapen som definieras av regeln. En regel kan också begära att det nuvarande sammanhanget byts.
En regel ser ut så här:
<Regelnamn attribute="(identifierare)" context="(identifierare)" [regelspecifika egenskaper] />
Ordet attribute identifierar stilen som ska användas för tecken som matchar med namn eller index, och context identifierar sammanhanget som ska användas i fortsättningen.
Sammanhanget kan identifieras av:
En identifierare, som är namnet på det andra sammanhanget.
En ordning som talar om att färgläggningen ska stanna kvar i det nuvarande sammanhanget (
#stay
), eller gå tillbaka till det föregående sammanhanget som använts i strängen (#pop
).För att gå tillbaka flera steg, kan nyckelordet #pop upprepas:
#pop#pop#pop
En ordning följd av ett utropstecken (!) och en identifierare, som gör att färgläggningen först följer ordningen och därefter byter till det andra sammanhanget, t.ex.
#pop#pop!Annat_sammanhang
.
Vissa regler kan ha delregler, bara utvärderas om huvudregeln matchar. Hela den matchande strängen kommer att få egenskapen som definieras av huvudregeln. En regel med en delregel ser ut så här:
<Regelnamn (egenskaper)> <Delregelnamn (egenskaper) /> ... </Regelnamn>
Regelspecifika egenskaper varierar och beskrivs i följande avsnitt.
Gemensamma egenskaper
Alla regler har följande egenskaper gemensamma och är tillgängliga på alla ställen (gemensamma egenskaper)
visas. Egenskaperna attribute och context är nödvändiga, alla övriga är valfria.
attribute: En egenskap avbildas på en definierad itemData.
context: Anger sammanhanget som färgläggningssystemet byter till om regeln matchar.
beginRegion: Inled ett kodvikningsblock. Förval: unset.
endRegion: Avsluta ett kodvikningsblock. Förval: unset.
lookAhead: Om true behandlar inte färgläggningssystemet matchningens längd. Förval: false.
firstNonSpace: Matcha bara om strängen är den första förutom blanktecken på raden. Förval: false.
column: Matcha bara om kolumnen matchar. Förval: unset.
Dynamiska regler
Vissa regler tillåter den valfria egenskapen dynamic
med Boolesk typ, som har förvalt värde false. Om dynamic är true, kan en regel använda platsmarkörer som representerar texten som matchas av en regel med ett reguljärt uttryck som byter till nuvarande sammanhang med sin egenskap string
eller char
. I en string
ersätts platsmarkören %N
(där N är ett tal) med motsvarande N
i det anropande reguljära uttrycket. I en char
måste platsmarkören vara ett tal N
och det ersätts med första tecknet i motsvarande N
i det anropande reguljära uttrycket. Närhelst en regel tillåter den här egenskapen, innehåller den (dynamic).
dynamic: kan vara (true | false).
- DetectChar
Detektera ett enda specifikt tecken. Används ofta för att till exempel hitta slutet på strängar inom citationstecken.
<DetectChar char="(tecken)" (gemensamma egenskaper) (dynamisk) />
Egenskapen
char
definierar tecknet som ska matchas.- Detect2Chars
Detektera två angivna tecken i en definierad ordning.
<Detect2Chars char="(tecken)" char1="(tecken)" (gemensamma egenskaper) (dynamisk) />
Egenskapen
char
definierar det första tecknet som ska matcha,char1
det andra.- AnyChar
Detektera ett tecken i en angiven teckenmängd.
<AnyChar String="(sträng)" (gemensamma egenskaper) />
Egenskapen
String
definierar teckenmängden.- StringDetect
Detektera en sträng exakt.
<StringDetect String="(sträng)" [insensitive="TRUE|FALSE;"] (gemensamma egenskaper) (dynamisk) />
Egenskapen
String
definierar strängen som ska matcha. Egenskapeninsensitive
(okänslig) är normaltFALSE
(FALSK) och skickas med till strängjämförelsefunktionen. Om värdet ärTRUE
(SANT) så används en jämförelse som inte bryr sig om skiftläge.- WordDetect
Detektera en exakt sträng, men kräv dessutom ordgränser som en punkt
'.'
eller ett blanktecken i början och slutet av ordet. Betrakta\b<string>\b
som ett reguljärt uttryck, men snabbare än regelnRegExpr
.<WordDetect String="(sträng)" [insensitive="TRUE|FALSE;"] (gemensamma egenskaper) (dynamisk) />
Egenskapen
String
definierar strängen som ska matcha. Egenskapeninsensitive
(okänslig) är normaltFALSE
(FALSK) och skickas med till strängjämförelsefunktionen. Om värdet ärTRUE
(SANT) så används en jämförelse som inte bryr sig om skiftläge.Sedan: Kate (KDE 4.5)
- RegExpr
Matchar med ett reguljärt uttryck.
<RegExpr String="(sträng)" [insensitive="TRUE|FALSE;"] [minimal="TRUE| FALSE"] (gemensamma egenskaper) (dynamisk) />
Egenskapen
String
definierar det reguljära uttrycket.Egenskapen
insensitive
(okänslig) är normaltFALSE
(FALSK) och skickas med det reguljära uttrycket.Egenskapen
minimal
är normaltFALSE
(FALSK) och skickas med det reguljära uttrycket.Eftersom reglerna alltid matchas mot början av den nuvarande strängen, så anger ett reguljärt uttryck som börjar med en hatt (
^
) att regeln bara ska matchas mot radens början.Se Reguljära uttryck för mer information om dem.
- keyword
Detektera ett nyckelord från en angiven lista.
<keyword String="(listnamn)" (gemensamma egenskaper) />
Egenskapen
String
identifierar en lista på nyckelord med namn. En lista med det namnet måste finnas.Färgläggningssystemet behandlar nyckelordsregler på ett mycket optimerat sätt. Det gör det absolut nödvändigt att alla nyckelord som ska matchas måste omges med definierade avgränsare, antingen underförstått (standardavgränsare) eller explicit definierade inne i egenskapen additionalDeliminator i taggen keywords.
Om ett nyckelord som ska matchas måste innehålla ett skiljetecken, måste detta tecken läggas till i egenskapen weakDeliminatori taggen keywords. Detta tecken förlorar då sin avgränsningsegenskap i alla regler med keyword.
- Int
Detektera ett heltal.
<Int (gemensamma egenskaper) (dynamisk) />
Den här regeln har inga specifika egenskaper. Delregler används typiskt för att detektera kombinationer av
L
ochU
efter talet, som anger heltalstypen i programkod. I själva verket tillåts alla regler som delregler, även omDTD
:n bara tillåter delregelnStringDetect
.Följande exempel matchar heltal som följs av tecknet 'L'.
<Int attribute="Decimal" context="#stay" > <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/> </Int>
- Float
Detektera ett flyttal.
<Float (gemensamma egenskaper) />
Den här regeln har inga specifika egenskaper.
AnyChar
tillåts som en delregel, och används typiskt för att detektera kombinationer, se regelnInt
för en referens.- HlCOct
Detektera en oktal talrepresentation.
<HlCOct (gemensamma egenskaper) />
Den här regeln har inga specifika egenskaper.
- HlCHex
Detektera en hexadecimal talrepresentation.
<HlCHex (gemensamma egenskaper) />
Den här regeln har inga specifika egenskaper.
- HlCStringChar
Detektera ett undantaget tecken.
<HlCStringChar (gemensamma egenskaper) />
Den här regeln har inga specifika egenskaper.
Det matchar bokstavsrepresentationer av osynliga tecken som ofta används i programkod, till exempel
\n
(nyrad) eller\t
(tabulator).Följande tecken matchar om de följer ett bakstreck (
\
):abefnrtv"'?
. Dessutom matchar undantagna hexadecimala tal, som till exempel\xff
och undantagna oktala tal, till exempel\033
.- HlCChar
Detektera ett C-tecken.
<HlCChar (gemensamma egenskaper) />
Den här regeln har inga specifika egenskaper.
Det matchar C-tecken omgivna av apostrofer (till exempel
'c'
). Apostroferna kan innehålla ett enkelt tecken eller en teckenföljd. Se HlCStringChar för matchade teckenföljder.- RangeDetect
Detektera en sträng med definierade start- och sluttecken.
<RangeDetect char="(tecken)" char1="(tecken)" (gemensamma egenskaper) />
char
definierar tecknet som inleder intervallet, ochchar1
tecknet som avslutar intervallet.Användbar för att till exempel detektera små strängar inom citationstecken och liknande, men observera att eftersom färgläggningen arbetar med en rad i taget, så hittar det inte strängar som fortsätter på nästa rad.
- LineContinue
Matchar ett angivet tecken vid radens slut.
<LineContinue (gemensamma egenskaper) [char="\"] />
Egenskapen
char
definierar valfritt tecken som ska matchas, förval är bakstreck ('\'
). Ny sedan KDE 4.13.Regeln är användbar för att byta sammanhang vid radslut. Det behövs till exempel i C/C++ för att fortsätta makron eller strängar.
- IncludeRules
Inkludera regler från ett annat sammanhang eller språk/fil.
<IncludeRules context="sammanhangslänk" [includeAttrib="true|false"] />
Egenskapen
context
definierar vilket sammanhang som ska inkluderas.Om den är en enkelt sträng innehåller den alla definierade regler i det nuvarande sammanhanget, till exempel:
<IncludeRules context="annat-sammanhang" />
Om strängen innehåller
##
letar färgläggningssystemet efter ett sammanhang från en annan språkdefinition med angivet namn, exempelvis skulle<IncludeRules context="String##C++" />
inkludera sammanhanget String från färgläggningsdefinitionen av C++.
Om egenskapen
includeAttrib
är true, ändras målegenskapen till källans egenskap. Det krävs till exempel för att kommentarer ska fungera om text som matchas av det inkluderade sammanhanget har en annan färgläggning än värdsammanhanget.- DetectSpaces
Detektera blanktecken.
<DetectSpaces (gemensamma egenskaper) />
Den här regeln har inga specifika egenskaper.
Använd den här regeln om du vet att det kan finnas flera blanktecken framför, till exempel i början av indenterade rader. Regeln hoppar över alla blanktecken på en gång, istället för att prova flera regler och hoppa över en åt gången eftersom den inte matchar.
- DetectIdentifier
Detektera strängar för identifierare (som ett reguljärt uttryck: [a-zA-Z_][a-zA-Z0-9_]*).
<DetectIdentifier (gemensamma egenskaper) />
Den här regeln har inga specifika egenskaper.
Använd den här regeln för att hoppa över en sträng med ordtecken på en gång, istället för att testa den med flera regler och hoppa ett steg i taget beroende på att ingenting matchar.
När du väl har förstått hur sammanhangsbyte fungerar blir det enkelt att skriva färgläggningsdefinitioner. Du bör ändå kontrollera noggrant vilken regel du väljer i vilken situation. Reguljära uttryck är mycket kraftfulla, men de är långsamma jämfört med andra regler. Du bör därför ta hänsyn till följande tips.
Om du bara matchar två tecken, använd
Detect2Chars
istället förStringDetect
. Samma sak gäller förDetectChar
.Reguljära uttryck är enkla att använda, men oftast finns det ett annat mycket snabbare sätt att uppnå samma resultat. Antag att du bara vill matcha tecknet
'#'
om det är det första tecknet på en rad. En lösning baserad på reguljära uttryck skulle se ut så här:<RegExpr attribute="Macro" context="macro" String="^\s*#" />
Du kan uppnå samma sak mycket snabbare med:
<DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" />
Om du vill matcha det reguljära uttrycket
'^#'
kan du fortfarande användaDetectChar
med egenskapencolumn="0"
. Egenskapencolumn
räknar tecken, så en tabulator är bara ett tecken.Du kan byta sammanhang utan att behandla tecken. Antag att du vill byta sammanhang när du stöter på strängen
*/
, men måste behandla denna sträng i nästa sammanhang. Regeln nedan matchar, och egenskapenlookAhead
gör att färgläggningen behåller den matchade strängen för nästa sammanhang.<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
Använd
DetectSpaces
om du vet att många blanktecken förekommer.Använd
DetectIdentifier
instället för ett reguljärt uttryck'[a-zA-Z_]\w*'
.Använd standardstilar överallt du kan. På så sätt finner användaren en bekant miljö.
Titta i andra XML-filer för att se hur andra implementerade knepiga regler.
Det går att validera alla XML-filer genom att använda kommandot validatehl.sh language.xsd min-syntax.xml. Filerna
validatehl.sh
ochlanguage.xsd
är tillgängliga i arkivet för syntaxfärgläggning.Om du mycket ofta upprepar komplexa reguljära uttryck kan du använda ENTITETER. Till exempel:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [ <!ENTITY minref "[A-Za-z_:][\w.:_-]*"> ]>
Nu kan du använda &myref; istället för det reguljära uttrycket.

KateParts editorkomponent kan enkelt utökas genom att skriva skript. Skriptspråket är ECMAscript (känt överallt som Javascript). KatePart stöder två sorters skript: intenterings- och kommandoradskript.
Indenteringsskript, som också kallas indenterare, indenterar automatiskt källkoden medan texten skrivs in. Som ett exempel, efter att ha tryckt på returtangenten ökar ofta indenteringsnivån.
Följande avsnitt beskriver steg för steg hur skelettet för en enkel indenterare skapas. Som ett första steg, skapa en ny *.js
-fil, som t.ex. heter javascript.js
i den lokala hemkatalogen $
. I detta expanderas miljövariabeln XDG_DATA_HOME
/katepart5/script/indentationXDG_DATA_DIRS
typiskt antingen som ~/.local
eller ~/.local/share
.
På Windows® är filerna placerade i %USER%\AppData\Local\katepart5\indentation
. %USERPROFILE%
expanderas oftast till C:\\Users\\
.användare
Huvudet i filen javascript.js
är inbäddat som JSON i början av dokumentet enligt följande:
var katescript = { "name": "JavaScript", "author": "Exempelnamn <exempel.namn@någon.adress.org>", "license": "BSD-licens", "revision": 1, "kate-version": "5.1", "required-syntax-style": "javascript", "indent-languages": ["javascript"], "priority": 0, }; // kate-script-header, måste finnas i början av filen utan kommentarer
Varje post förklaras nu i detalj:
name
[krävs]: Detta är indenterarens namn som visas i menyn → och i inställningsdialogrutan.author
[valfri]: Upphovsmannens namn och kontaktinformation.license
[valfri]: Kort form av licensen, såsom BSD-licensen eller LGPLv3.revision
[krävs]: Skriptets utgåva. Numret ska ökas så fort skriptet ändras.kate-version
[krävs]: Lägsta version av KatePart som krävs.required-syntax-style
[valfri]: Syntaxstilen som krävs, som matchar angivenstil
i syntaxfärgläggningsfiler. Det är viktigt för indenterare som förlitar sig på specifik syntaxfärgläggningsinformation i dokumentet. Om en krävd syntaxstil specificeras, är bara indenteraren tillgänglig när lämplig syntaxfärgläggning är aktiv. Det förhindrar ”odefinierat beteende” orsakat av att använda indenteraren utan den förväntade färgläggningsmetoden. Exempelvis använder sig Ruby-indenteraren sig av det i filenruby.js
ochruby.xml
.indent-languages
[valfri]: JSON-fält av syntaxstilar som indenteraren kan indentera korrekt, t.ex.["c++", "java"]
.priority
[valfri]: Om flera indenterare är lämpliga för en viss färglagd fil, bestämmer prioriteten vilken indenterare som väljes som standardindenterare.
Efter att ha specificerat huvudet, förklarar det här avsnittet hur själva indenteringsskriptet fungerar. Det grundläggande skelettet för implementeringen ser ut så här:
// nödvändiga katepart js bibliotek, t.ex. range.js om Range används require ("range.js"); triggerCharacters = "{}/:;"; function indent(line, indentWidth, ch) { // anropas för varje nyrad (ch == '\n') och alla tecken angivna i // den globala variabeln triggerCharacters. Vid anrop av → // är variabeln ch tom, dvs. ch == ''. // // se också: Programmeringsgränssnittet för skripthantering return -2; }
Funktionen indent()
har tre parametrar:
line
: raden som ska indenterasindentWidth
: indenteringsbredden i antal mellanslagch
: antingen ett nyradstecken (ch == '\n'
), avtryckartecknet angivet itriggerCharacters
eller tom om användaren utförde åtgärden → .
Returvärdet från funktionen indent()
anger hur raden kommer att indenteras. Om returvärdet är ett enkelt heltal, tolkas det på följande sätt:
returvärde
-2
: gör ingentingreturvärde
-1
: behåll indentering (söker efter föregående icke tomma rad)returvärde
0
: tal >= 0 anger indenteringsdjupet i mellanslag
Som alternativ kan ett fält med två element returneras.
return [ indent, align ];
I detta fall är det först elementet indenteringsdjupet ovan med samma betydelse för specialvärden. Det andra elementet är dock ett absolutvärde som representerar en kolumn för ”justering”. Om värdet är större än indenteringsvärdet, representerar skillnaden ett antal mellanslag att lägga till efter indentering av den första parametern. Annars ignoreras det andra numret. Att använda tabulator och mellanslag för indentering kallas ofta ”blandat läge”.
Betrakta följande exempel: Antag att tabulator används för indentering, och tabulatorbredden är inställd till 4. Här representerar <tab> en tabulator, och '.' ett mellanslag.
1: <tab><tab>anropa("Hej", 2: <tab><tab>......."allesamman");
Vid indentering av rad 2, returnerar funktionen indent()
[8, 15]. Som resultat infogas två tabulatorer för att indentera till kolumn 8, och 7 mellanslag läggs till för att justera den andra parametern under den första, så att den förblir justerad om filen visas med en annan tabulatorbredd.
En standardinstallation av KDE levererar KatePart med flera indenterare. Den motsvarande Javascript-koden finns i $
.XDG_DATA_DIRS
/katepart5/script/indentation
På Windows® är filerna placerade i %USER%\AppData\Local\katepart5\indentation
. %USER%
expanderas oftast till C:\\Users\\
. användare
Att utveckla en indenterare kräver att skript läses in igen för att se om ändringar beter sig lämpligt. Istället för att starta om programmet, byt helt enkelt till kommandoraden och utför kommandot reload-scripts.
Om du utvecklar användbara skript, fundera på att bidra med det till KatePart-projektet genom att kontakta e-postlistan.
Eftersom det är svårt att uppfylla allas behov, stöder KatePart små hjälpverktyg för snabb textbehandling via den inbyggda kommandoraden. Exempelvis är kommandot sort implementerat som ett skript. Det här avsnittet förklarar hur man skapar *.js
-filer för att utöka KatePart med godtyckliga hjälpskript.
Kommandoradskript är placerade i samma katalog som indenteringsskript. Som ett första steg, skapa alltså en ny *.js
-fil som heter mina_verktyg.js
i den lokala hemkatalogen $
. I detta expanderas miljövariabeln XDG_DATA_HOME
/katepart5/script/commandsXDG_DATA_DIRS
typiskt antingen som ~/.local
eller ~/.local/share
.
På Windows® är filerna placerade i %USER%\AppData\Local\katepart5\commands
. %USER%
expanderas oftast till C:\\Users\\
. användare
Huvudet för varje kommandoradskript är inbäddat som JSON i början av skriptet enligt följande:
var katescript = { "author": "Exempelnamn <exempel.namn@någon.adress.org>", "license": "LGPLv2+", "revision": 1, "kate-version": "5.1", "functions": ["sort", "moveLinesDown"], "actions": [ { "function": "sort", "name": "Sortera markerad text", "category": "Editing", "interactive": "false" }, { "function": "moveLinesDown", "name": "Flytta rader neråt", "category": "Editing", "shortcut": "Ctrl+Shift+Down", "interactive": "false" } ] }; // kate-script-header, måste finnas i början av filen utan kommentarer
Varje post förklaras nu i detalj:
author
[valfri]: Upphovsmannens namn och kontaktinformation.license
[valfri]: Kort form av licensen, såsom BSD-licensen eller LGPLv2.revision
[krävs]: Skriptets utgåva. Numret ska ökas så fort skriptet ändras.kate-version
[krävs]: Lägsta version av KatePart som krävs.functions
[krävs]: JSON-fält av kommandon i skriptet.actions
[valfri]: Ett JSON-fält av JSON-objekt som definierar åtgärderna som visas i programmenyn. Detaljerad information tillhandahålls i avsnittet Tilldela genvägar.
Eftersom värdet på functions
är ett JSON-fält, kan ett enda skript innehålla godtyckligt antal kommandon för kommandoraden. Varje funktion är tillgänglig via KateParts inbyggda kommandorad.
Alla funktioner specificerade i huvudet måste implementeras i skriptet. Exempelvis måste skriptfilen i exemplet ovan implementera de två funktionerna sort och moveLinesDown. Alla funktioner har följande syntax:
// nödvändiga katepart.js bibliotek, t.ex. range.js om Range används require ("range.js"); function <namn>(arg1, arg2, ...) { // ... implementering, se också: Programmeringsgränssnittet för skripthantering }
Argument på kommandoraden skickas till funktionen som arg1
, arg2
, etc. För att ge dokumentation av varje kommando, implementera helt enkelt funktionen 'help
' på följande sätt:
function help(cmd) { if (cmd == "sort") { return "Sortera markerad text."; } else if (cmd == "...") { // ... } }
Att utföra help sort på kommandoraden anropar hjälpfunktionen med argumentet cmd
inställd till det givna kommandot, dvs. cmd == "sort"
. KatePart visar därefter den returnerade texten som dokumentation för användaren. Försäkra dig om att översätta strängarna.
Att utveckla ett kommandoradskript kräver att skript läses in igen för att se om ändringar beter sig lämpligt. Istället för att starta om programmet, byt helt enkelt till kommandoraden och utför kommandot reload-scripts.
För att göra det möjligt att komma åt skripten i programmenyn och tilldela genvägar, måste skriptet tillhandahålla ett lämpligt skripthuvud. I exemplet ovan, visas båda funktionerna sort
och moveLinesDown
i menyn på grund a följande del av skripthuvudet:
var katescript = { ... "actions": [ { "function": "sort", "name": "Sortera markerad text", "icon": "", "category": "Editing", "interactive": "false" }, { "function": "moveLinesDown", "name": "Flytta rader neråt", "icon": "", "category": "Editing", "shortcut": "Ctrl+Shift+Down", "interactive": "false" } ] };
Fälten för en åtgärd är följande:
function
[krävs]: Funktionen som ska visas i menyn → .name
[krävs]: Texten visas i skriptmenyn.icon
[valfri]: Ikonen visas intill texten i menyn. Alla KDE:s ikonnamn kan användas här.category
[valfri]: Om en kategori anges, visas skriptet i en undermeny.shortcut
[valfri]: Genvägen som anges här är förvald genväg. Exempel:Ctrl+Alt+t
. Se Qt:s dokumentation för ytterligare detaljinformation.interactive
[valfri]: Om skriptet kräver användarinmatning via kommandoraden, ange det här somtrue
.
Om du utvecklar användbara skript, fundera på att bidra med det till KatePart-projektet genom att kontakta e-postlistan.
Programmeringsgränssnittet för skripthantering som presenteras här är tillgängligt i alla skript, dvs. indenteringsskript och kommandon för kommandoraden. Klasserna Cursor
och Range
tillhandahålls av biblioteksfiler i $
. Om du vill använda dem i skriptet, vilket behöver använda vissa av funktionerna i XDG_DATA_DIRS
/katepart5/librariesDocument
eller View
, inkludera det nödvändiga biblioteket med:
// nödvändiga katepart.js bibliotek, t.ex. range.js om Range används require ("range.js");
För att utöka det vanliga skriptprogrammeringsgränssnittet med egna funktioner och prototyper, skapa helt enkelt en ny fil i KDE:s lokala inställningskatalog $
och inkludera den i skriptet med: XDG_DATA_HOME
/katepart5/libraries
require ("mitt_skriptnamn.js");
På Windows® är filerna placerade i %USER%\AppData\Local\katepart5\libraries
. %USER%
expanderas oftast till C:\\Users\\
.användare
För att utöka befintliga prototyper som Cursor
eller Range
, är det rekommenderade sättet inte att ändra den globala *.js
-filen. Ändra istället prototypen för Cursor
i Javascript efter att cursor.js
har inkluderats i skriptet via require
.
Eftersom KatePart är en texteditor är alla programmeringsgränssnitt baserade på markörer och intervall om det är möjligt. En markör (Cursor) är ett enkelt par (rad, kolumn)
, som representerar en textposition i dokumentet. Ett intervall (Range) omfattar text från en markörs startposition till en markörs slutposition. Programmeringsgränssnittet förklaras i detalj i följande avsnitt.
Cursor();
Konstruktor. Returnerar en markör på position
(0, 0)
.Exempel:
var cursor = new Cursor();
Cursor(
int
,rad
int
);kolumn
Konstruktor. Returnerar en markör på position (rad, kolumn).
Exempel:
var cursor = new Cursor(3, 42);
Cursor(
Cursor
);annan
Kopieringskonstruktor. Returnerar en kopia av markören
annan
.Exempel:
var copy = new Cursor(other);
Cursor Cursor.clone();
Returnerar en klon av markören.
Exempel:
var clone = cursor.clone();
Cursor.setPosition(
int
,rad
int
);kolumn
Ställer in markörens position till
rad
ochkolumn
.Sedan: KDE 4.11
bool Cursor.isValid();
Kontrollera om markören är giltig. Markören är ogiltig om rad och/eller kolumn har värdet
-1
.Exampel:
var valid = cursor.isValid();
Cursor Cursor.invalid();
Returnerar en ny ogiltig markör placerad på
(-1, -1)
.Exempel:
var invalidCursor = cursor.invalid();
int Cursor.compareTo(
Cursor
);annan
Jämför den här markören med markören
annan
. Returnerar-1
, om den här markören är placerad innan markörenannan
,0
, om båda markörerna är lika, och+1
, om den här markören är placerad efter markörenannan
.
bool Cursor.equals(
Cursor
);annan
Returnerar
sant
om den här markören och markörenannan
är lika, annarsfalskt
.String Cursor.toString();
Returnerar markören som en sträng på formen ”
Cursor(rad, kolumn)
”.
Range();
Konstruktor. Att anropa
new Range()
returnerar intervallet (0, 0) - (0, 0).Range(
Cursor
,start
Cursor
);slut
Konstruktor. Att anropa
new Range(
returnerar intervallet (start
,slut
)start
,slut
).Range(
int
,startrad
int
,startkolumn
int
,slutrad
int
);slutkolumn
Constructor. Calling
new Range(
returnerar intervallet från (startrad
,startkolumn
,slutrad
,slutkolumn
)startrad
,startkolumn
) to (startrad
,slutkolumn
).Range(
Range
);annat
Kopieringskonstruktor. Returnerar en kopia av intervallet
annat
.Range Range.clone();
Returnerar en klon av intervallet.
Exempel:
var clone = range.clone();
bool Range.isEmpty();
Returnerar
sant
om både start- och slutmarkörerna är lika.Exempel:
var empty = range.isEmpty();
Sedan: KDE 4.11
bool Range.isValid();
Returnerar
sant
om både start- och slutmarkörerna är giltiga, annarsfalskt
.Exempel:
var valid = range.isValid();
Range Range.invalid();
Returnerar intervallet från (-1, -1) till (-1, -1).
bool Range.contains(
Cursor
);markör
Returnerar
true
om intervallet innehåller markörpositionen, annarsfalse
.bool Range.contains(
Range
);annat
Returnerar
sant
om det här intervallet innehåller intervalletannat
, annarsfalskt
.bool Range.containsColumn(
int
);kolumn
Returnerar
sant
omkolumn
är i det halvöppna intervallet[startkolumn, slutkolumn)
, annarsfalskt
.bool Range.containsLine(
int
);rad
Returnerar
sant
omrad
är i det halvöppna intervallet[startrad, slutrad)
, annarsfalskt
.bool Range.overlaps(
Range
);annat
Returnerar
sant
om det här intervallet och intervalletannat
delar ett gemensamt område, annarsfalskt
.bool Range.overlapsLine(
int
);rad
Returnerar
sant
omrad
är i intervallet[startrad, slutrad]
, annarsfalskt
.bool Range.overlapsColumn(
int
);kolumn
Returnerar
sant
omkolumn
är i intervallet[startkolumn, slutkolumn]
, annarsfalskt
.bool Range.onSingleLine();
Returnerar
sant
om intervallet startar och slutar på samma rad, dvs. omRange.start.line == Range.end.line
.Sedan: KDE 4.9
bool Range.equals(
Range
);annan
Returnerar
sant
om det här intervallet och intervalletannat
är lika, annarsfalskt
.String Range.toString();
Returnerar intervallet som en sträng på formen ”
Range(Cursor(rad, kolumn), Cursor(rad, kolumn))
”.
Det här avsnittet listar alla globala funktioner.
String read(
String
);fil
Söker efter angiven
fil
relativt i förhållande till katalogenkatepart/script/files
och returnerar innehållet som en sträng.
void require(
String
);fil
Söker efter angiven
fil
relativt i förhållande till katalogenkatepart/script/libraries
och utvärdera den. Internt skyddasrequire
från att sammafil
inkluderas flera gånger.Sedan: KDE 4.10
void debug(
String
);text
Skriver ut
text
påstandardutmatningen
i terminalen som startade programmet.
För att stödja fullständig landsanpassning, finns det flera funktioner för att översätta strängar i skript, närmare bestämt i18n
, i18nc
, i18np
och i18ncp
. Funktionerna beter sig exakt likadant som KDE:s översättningsfunktioner.
Översättningsfunktionerna översätter strängarna de omger via KDE:s översättningssystem till det språk som används i programmet. Strängar i skript som utvecklas i KateParts officiella källkod extraheras automatiskt och är översättningsbara. Med andra ord, som utvecklare av KatePart behöver man inte bry dig om att extrahera och översätta meddelanden. Observera dock att översättningen bara fungerar inne i KDE:s infrastruktur, nya strängar i skript från tredjepart som utvecklas utanför KDE, översätts inte. Överväg därför gärna att bidra med dina skript till Kate så att en passande översättning blir möjlig.
void i18n(
String
,text
arg1
, ...);Översätter
text
till språket som används av programmet. Parametrarnaarg1
, ... , är valfria och används för att ersätta platsmarkörerna%1
,%2
, etc.void i18nc(
String
,sammanhang
String
,text
arg1
, ...);Översätter
text
till språket som används av programmet. Dessutom är strängensammanhang
synlig för översättare, så att de kan tillhandahålla en bättre översättning. Parametrarnaarg1
, ... , är valfria och används för att ersätta platsmarkörerna%1
,%2
, etc.void i18np(
String
,singularis
String
,pluralis
int
,antal
arg1
, ...);Översätter antingen
singularis
ellerpluralis
till språket som används av programmet, beroende på angivetantal
. Parametrarnaarg1
, ... , är valfria och används för att ersätta platsmarkörerna%1
,%2
, etc.void i18ncp(
String
,sammanhang
String
,singularis
String
,pluralis
int
,antal
arg1
, ...);Översätter antingen
singularis
ellerpluralis
till språket som används av programmet, beroende på angivetantal
. Dessutom är strängensammanhang
synlig för översättare, så att de kan tillhandahålla en bättre översättning. Parametrarnaarg1
, ... , är valfria och används för att ersätta platsmarkörerna%1
,%2
, etc.
När ett skript håller på att köras, finns det en global variabel ”view
” som representerar den för närvarande aktiva editorvyn. Det följande är en lista med alla tillgängliga funktioner i View.
Cursor view.cursorPosition()
Returnerar den nuvarande markörpositionen i vyn.
void view.setCursorPosition(
int
,rad
int
); void view.setCursorPosition(kolumn
Cursor
);markör
Ställ in den nuvarande markörpositionen till antingen (rad, kolumn) eller till den givna markören.
Cursor view.virtualCursorPosition();
Returnerar den virtuella markörpositionen, där varje tabulator räknas som motsvarande antal mellanslag, beroende på nuvarande tabulatorbredd.
void view.setVirtualCursorPosition(
int
,rad
int
); void view.setVirtualCursorPosition(kolumn
Cursor
);markör
Ställ in den nuvarande virtuella markörpositionen till (rad, kolumn) eller till den givna markören.
String view.selectedText();
Returnerar den markerade texten. Om ingen text är markerad, är den returnerade strängen tom.
bool view.hasSelection();
Returnerar
true
om vyn har markerad text, annarsfalse
.Range view.selection();
Returnerar det markerade textintervallet. Det returnerade intervallet är ogiltigt om det inte finns någon markerad text.
void view.setSelection(
Range
);intervall
Ställer in markerad text till angivet intervall.
void view.removeSelectedText();
Tar bort den markerade texten. Om vyn inte har någon markerad text, händer ingenting.
void view.selectAll();
Markerar hela texten i dokumentet.
void view.clearSelection();
Rensar textmarkeringen utan att ta bort texten.
När ett skript håller på att köras, finns det en global variabel ”document
” som representerar det för närvarande aktiva dokumentet. Det följande är en lista med alla tillgängliga funktioner i Document.
String document.fileName();
Returnerar dokumentets filnamn eller en tom sträng för osparade textbuffrar.
String document.url();
Returnerar dokumentets fullständiga webbadress eller en tom sträng för osparade textbuffrar.
String document.mimeType();
Returnerar dokumentets Mime-typ eller Mime-typen
application/octet-stream
om ingen lämplig Mime-typ kunde hittas.String document.encoding();
Returnerar den nuvarande kodningen använd för att spara filen.
String document.highlightingMode();
Returnerar det allmänna färgläggningsläget som används för hela dokumentet.
String document.highlightingModeAt(
Cursor
);pos
Returnerar färgläggningsläget som används på den givna positionen i dokumentet.
Array document.embeddedHighlightingModes();
Returnerar ett fält med färgläggningslägen inbäddade i det här dokumentet.
bool document.isModified();
Returnerar
true
om dokumentet har osparade ändringar (är modifierat), annarsfalse
.String document.text();
Returnerar dokumentets hela innehåll i en enda textsträng. Nya rader är markerade med nyradstecknet ”
\n
”.String document.text(
int
,från_rad
int
,från_kolumn
int
,till_rad
int
); String document.text(till_kolumn
Cursor
,från
Cursor
); String document.text(till
Range
);intervall
Returnerar texten i det angivna intervallet. Det rekommenderas att använda markör- och intervallbaserade versioner för bättre läsbarhet hos källkoden.
String document.line(
int
);rad
Returnerar den givna textraden som en sträng. Strängen är tom om den begärda raden är utanför tillgängligt intervall.
String document.wordAt(
int
,rad
int
); String document.wordAt(kolumn
Cursor
);markör
Returnerar ordet på den angivna markörposition.
-
Range document.wordRangeAt(
int
,rad
int
); Range document.wordRangeAt(kolumn
Cursor
);markör
Returnerar intervallet för ordet på den givna markörpositionen. Det returnerade intervallet är ogiltigt (se Range.isValid()) om textpositionen är efter ett radslut. Om det inte finns något ord vid den givna markörpositionen returneras ett tomt intervall.
Sedan: KDE 4.9
String document.charAt(
int
,rad
int
); String document.charAt(kolumn
Cursor
);markör
Returnerar tacknet på den angivna markörpositionen.
String document.firstChar(
int
);rad
Returnerar det första tecknet på angiven
rad
som inte är ett blanktecken. Det första tecknet finns på kolumn 0. Om raden är tom, eller bara innehåller blanktecken, är den returnerade strängen tom.String document.lastChar(
int
);rad
Returnerar det sista tecknet på angiven
rad
som inte är ett blanktecken. Om raden är tom, eller bara innehåller blanktecken, är den returnerade strängen tom.bool document.isSpace(
int
,rad
int
); bool document.isSpace(kolumn
Cursor
);markör
Returnerar
sant
om tecknet på den givna markörpositionen är ett blanktecken, annarsfalskt
.bool document.matchesAt(
int
,rad
int
,kolumn
String
); bool document.matchesAt(text
Cursor
,markör
String
);text
Returnerar
sant
om giventext
matchar på den motsvarande markörpositionen, annarsfalskt
.bool document.startsWith(
int
,rad
String
,text
bool
);hoppa_över_blanktecken
Returnerar
sant
om raden börjar medtext
, annarsfalskt
. Argumentethoppa_över_blanktecken
bestämmer om inledande blanktecken ignoreras.bool document.endsWith(
int
,rad
String
,text
bool
);hoppa_över_blanktecken
Returnerar
sant
om raden slutar medtext
, annarsfalskt
. Argumentethoppa_över_blanktecken
bestämmer om inledande blanktecken ignoreras.bool document.setText(
String
);text
Anger hela dokumentets text.
bool document.clear();
Tar bort hela texten i dokumentet.
bool document.truncate(
int
,rad
int
); bool document.truncate(kolumn
Cursor
);markör
Avkortar den givna raden på den givna kolumnen eller markörpositionen. Returnerar
sant
om det lyckas, ellerfalskt
om den givna raden inte ingår i dokumentets intervall.bool document.insertText(
int
,rad
int
,kolumn
String
); bool document.insertText(text
Cursor
,markör
String
);text
Infogar
text
på den givna markörpositionen. Returnerarsant
om det lyckas, ellerfalskt
om dokumentet är skrivskyddat.bool document.removeText(
int
,från_rad
int
,från_kolumn
int
,till_rad
int
); bool document.removeText(till_kolumn
Cursor
,från
Cursor
); bool document.removeText(till
Range
);intervall
Tar bort text i det givna intervallet. Returnerar
sant
om det lyckas, ellerfalskt
om dokumentet är skrivskyddat.bool document.insertLine(
int
,rad
String
);text
Infogar text på den givna raden. Returnerar
sant
om det lyckas, ellerfalskt
om dokumentet är skrivskyddat eller raden inte ingår i dokumentets intervall.bool document.removeLine(
int
);rad
Tar bort den givna textraden. Returnerar
sant
om det lyckas, ellerfalskt
om dokumentet är skrivskyddat eller raden inte ingår i dokumentets intervall.bool document.wrapLine(
int
,rad
int
); bool document.wrapLine(kolumn
Cursor
);markör
Radbryter raden vid den givna markörpositionen. Returnerar
sant
om det lyckas, ellerfalskt
, t.ex. om rad < 0.Sedan: KDE 4.9
void document.joinLines(
int
,startrad
int
);slutrad
Sammanfogar rader från
startrad
tillslutrad
. Två på varandra följande rader åtskiljs alltid med exakt ett mellanslag.int document.lines();
Returnerar antal rader i dokumentet.
bool document.isLineModified(
int
);rad
Returnerar
sant
omrad
för närvarande innehåller osparad data.Since: KDE 5.0
bool document.isLineSaved(
int
);rad
Returnerar
sant
omrad
har ändrats, men dokumentet har sparats. Sålunda innehåller raden för närvarande ingen osparad data.Since: KDE 5.0
bool document.isLineTouched(
int
);rad
Returnerar
sant
omrad
för närvarande innehåller osparad data eller tidigare har ändrats.Since: KDE 5.0
bool document.findTouchedLine(
int
,startrad
bool
);ner
Sök efter nästa ändrade rad med början på
rad
. Sökningen utförs antingen uppåt eller neråt beroende på sökriktningen angiven medner
.Since: KDE 5.0
int document.length();
Returnerar antal tecken i dokumentet.
int document.lineLength(
int
);rad
Returnerar längden på
rad
.void document.editBegin();
Startar en redigeringsgrupp för gruppering av ångra/gör om. Försäkra dig om att alltid anropa
editEnd()
lika många gånger som du anropareditBegin()
. Att anropaeditBegin()
använder en referensräknare internt, dvs. anropet kan nästlas.void document.editEnd();
Avslutar en redigeringsgrupp. Det sista anropet av
editEnd()
(dvs. det för det första anropet tilleditBegin()
) avslutar redigeringssteget.int document.firstColumn(
int
);rad
Returnerar det första tecknet som inte är ett blanktecken på given
rad
. Om det bara finns blanktecken på raden, är returvärdet-1
.int document.lastColumn(
int
);rad
Returnerar det sista tecknet som inte är ett blanktecken på given
rad
. Om det bara finns blanktecken på raden, är returvärdet-1
.int document.prevNonSpaceColumn(
int
,rad
int
); int document.prevNonSpaceColumn(kolumn
Cursor
);markör
Returnerar kolumnen med ett tecken som inte är ett blanktecken med början på given markörposition genom att söka bakåt.
int document.nextNonSpaceColumn(
int
,rad
int
); int document.nextNonSpaceColumn(kolumn
Cursor
);markör
Returnerar kolumnen med ett tecken som inte är ett blanktecken med början på given markörposition genom att söka framåt.
int document.prevNonEmptyLine(
int
);rad
Returnerar nästa rad som inte är tom och som innehåller tecken som inte är blanktecken, genom att söka bakåt.
int document.nextNonEmptyLine(
int
);rad
Returnerar nästa rad som inte är tom och som innehåller tecken som inte är blanktecken, genom att söka framåt.
bool document.isInWord(
String
,tecken
int
);egenskap
Returnerar
sant
, om givettecken
med givenegenskap
kan vara en del av ett ord, annarsfalskt
.bool document.canBreakAt(
String
,tecken
int
);egenskap
Returnerar
sant
, om givettecken
med givenegenskap
är lämpat att bryta en rad, annarsfalskt
.bool document.canComment(
int
,startegenskap
int
);slutegenskap
Returnerar
sant
om ett intervall som börjar och slutar med den givna egenskapen är lämpat att kommenteras bort, annarsfalskt
.String document.commentMarker(
int
);egenskap
Returnerar kommentarmarkören för enraderskommentarar för en given
egenskap
.String document.commentStart(
int
);egenskap
Returnerar kommentarmarkören för början av flerraderskommentarer för en given
egenskap
.String document.commentEnd(
int
);egenskap
Returnerar kommentarmarkören för slutet av flerraderskommentarer för en given
egenskap
.Range document.documentRange();
Returnerar ett intervall som omfattar hela dokumentet.
Cursor documentEnd();
Returnerar en markör placerad på den sista radens sista kolumn i dokumentet.
bool isValidTextPosition(
int
,rad
int
); bool isValidTextPosition(kolumn
Cursor
);markör
Returnerar
sant
om den angivna markörpositionen är placerad på en giltig textposition. En textposition är bara giltig om den finns i början av, mitten av eller slutet av en giltig rad. Dessutom är en textposition ogiltig om den är placerad i ett Unicode-surrogat.Since: KDE 5.0
int document.attribute(
int
,rad
int
); int document.attribute(kolumn
Cursor
);markör
Returnerar egenskapen på den angivna markörpositionen.
bool document.isAttribute(
int
,rad
int
,kolumn
int
); bool document.isAttribute(egenskap
Cursor
,markör
int
);egenskap
Returnerar
sant
om egenskapen på den givna markörpositionen är lika medegenskap
, annarsfalskt
.String document.attributeName(
int
,rad
int
); String document.attributeName(kolumn
Cursor
);markör
Returnerar egenskapsnamnet som läsbar text. Det är lika med namnet
itemData
i syntaxfärgläggningsfilerna.bool document.isAttributeName(
int
,rad
int
,kolumn
String
); bool document.isAttributeName(namn
Cursor
,markör
String
);namn
Returnerar
sant
om egenskapsnamnet på en viss markörposition motsvara givetnamn
, annarsfalskt
.String document.variable(
String
);nyckel
Returnerar värdet på den begärda dokumentvariabeln
nyckel
. Om dokumentvariabeln inte finns, är returvärdet en tom sträng.void document.setVariable(
String
,nyckel
String
);värde
Ställ in värdet på den begärda dokumentvariabeln
nyckel
.Se också: Kate-dokumentvariabler
Sedan: KDE 4.8
int document.firstVirtualColumn(
int
);rad
Returnerar den virtuella kolumnen för det första tecknet som inte är ett blanktecken på den givna raden, eller
-1
om raden är tom eller bara innehåller blanktecken.int document.lastVirtualColumn(
int
);rad
Returnerar den virtuella kolumnen för det sista tecknet som inte är ett blanktecken på den givna raden, eller
-1
om raden är tom eller bara innehåller blanktecken.int document.toVirtualColumn(
int
,rad
int
); int document.toVirtualColumn(kolumn
Cursor
); Cursor document.toVirtualCursor(markör
Cursor
);markör
Konverterar den givna ”verkliga” markörpositionen till en virtuell markörposition, och returnerar antingen ett heltal eller ett markörobjekt.
int document.fromVirtualColumn(
int
,rad
int
); int document.fromVirtualColumn(virtuell_kolumn
Cursor
); Cursor document.fromVirtualCursor(virtuell_markör
Cursor
);virtuell_markör
Konverterar den givna virtuella markörpositionen till en ”verklig” markörposition, och returnerar antingen ett heltal eller ett markörobjekt.
Cursor document.anchor(
int
,rad
int
,kolumn
Char
); Cursor document.anchor(tecken
Cursor
,markör
Char
);tecken
Söker bakåt efter det givna tecknet med början på den givna markören. Om exempelvis '(' anges som tecken, returnerar funktionen positionen på ett inledande '('. Det sker med referensräkning, dvs. andra '(...)' ignoreras.
Cursor document.rfind(
int
,rad
int
,kolumn
String
,text
int
); Cursor document.rfind(egenskap
= -1Cursor
,markör
String
,text
int
);egenskap
= -1Söker bakåt efter den givna texten med lämplig
egenskap
. Argumentetegenskap
ignoreras om det anges som-1
. Den returnerade markören är ogiltig om texten inte kunde hittas.int document.defStyleNum(
int
,rad
int
); int document.defStyleNum(kolumn
Cursor
);markör
Returnerar standardstilen som används på den givna markörpositionen.
bool document.isCode(
int
,rad
int
); bool document.isCode(kolumn
Cursor
);markör
Returnerar
sant
om egenskapen på given markörposition inte är lika med någon av följande stilar:dsComment
,dsString
,dsRegionMarker
,dsChar
,dsOthers
.bool document.isComment(
int
,rad
int
); bool document.isComment(kolumn
Cursor
);markör
Returnerar
sant
, om egenskapen för tecknet på markörpositionen ärdsComment
, annarsfalskt
.bool document.isString(
int
,rad
int
); bool document.isString(kolumn
Cursor
);markör
Returnerar
sant
, om egenskapen för tecknet på markörpositionen ärdsString
, annarsfalskt
.bool document.isRegionMarker(
int
,rad
int
); bool document.isRegionMarker(kolumn
Cursor
);markör
Returnerar
sant
, om egenskapen för tecknet på markörpositionen ärdsRegionMarker
, annarsfalskt
.bool document.isChar(
int
,rad
int
); bool document.isChar(kolumn
Cursor
);markör
Returnerar
sant
, om egenskapen för tecknet på markörpositionen ärdsChar
, annarsfalskt
.bool document.isOthers(
int
,rad
int
); bool document.isOthers(kolumn
Cursor
);markör
Returnerar
sant
, om egenskapen för tecknet på markörpositionen ärdsOthers
, annarsfalskt
.

Genom att välja → i menyn visar dialogrutan Anpassa. Dialogrutan kan användas för att ändra ett antal olika inställningar. Inställningarna som är tillgängliga för att ändras varierar beroende på vilken kategori som användaren väljer i den vertikala listan till vänster i dialogrutan. Förloppet kan styras med de tre knapparna längs rutans nederkant.
Du kan starta Hjälp-systemet, acceptera de nuvarande inställningarna och stänga dialogrutan med användning av knappen , eller förfarandet. Kategorierna Utseende, Teckensnitt och färger, Redigering, Öppna/spara och Utökningar beskrivs i detalj nedan.
Den här gruppen innehåller alla sidor som hör till editorkomponenten i KatePart De flesta inställningarna här är förvalda, och kan överskridas genom att definiera en filtyp, genom dokumentvariabler eller genom att ändra dem per dokument under en redigeringssession.
- Dynamisk radbrytning
Om det här alternativet markeras, bryts textrader vid fönstrets kant på skärmen.
- Dynamiska radbrytningsmarkörer (om tillämpliga)
Välj när dynamiska radbrytningsmarkörer ska visas, antingen Av, Följ radnummer eller Alltid på .
- Justera dynamiskt radbrutna rader till indenteringsdjupet:
Aktiverar att dynamiskt radbrytna rader justeras vertikalt till den första radens indenteringsnivå. Det kan hjälpa till att göra kod och taggar mer läsbara.
Dessutom låter det dig att ställa in en maximal bredd av skärmen, som ett procenttal. Därefter justeras inte längre dynamiskt radbrytna rader vertikalt. Vid 50 % får exempelvis inte rader vars indenteringsdjup är mer än 50 % av skärmens bredd någon vertikal justering för efterföljande radbrutna rader.
- Färgläggning av blanktecken
- Markera tabulatorer
Editorn kommer att visa symbolen » som indikerar närvaron av en tabulator i texten.
- Markera avslutande mellanslag
Editorn kommer att visa punkter som indikerar närvaron av extra blanktecken i slutet av rader.
- Markörstorlek
Använd skjutreglaget för att ändra storlek på den synliga markören.
- Avancerat
- Visa indenteringslinjer
Om det här är markerat, visar editorn vertikala linjer för att hjälpa till att identifiera indenterade rader.
- Markera område mellan samhörande parenteser
Om det här är aktiverat, markeras området mellan de valda samhörande parenteserna.
- Animera matchande parenteser
Om aktiverad och man går till en parentes ({, [, ], },( eller )) animeras den motsvarande parentesen snabbt.
- Fäll ihop första raden
Om aktiverad fälls den första raden ihop om möjligt. Det är användbart om filen börjar med en kommentar, såsom en copyright.
- Kanter
- Visa vikmarkörer
Om det här alternativet är markerat, visar den aktuella vyn markeringar för kodvikning, om kodvikning är tillgänglig.
- Visa förhandsgranskning av hopvikt kod
Om markerat, visas en förhandsgranskning av den hopvikta texten i en meddelanderuta när musen hålls över en hopvikt region.
- Visa ikonkant
Om det här är markerat, ser du en ikonkant till vänster. Ikonkanten visar till exempel bokmärkesmarkeringar.
- Visa radnummer
Om det här är markerat, ser du radnummer till vänster.
- Visa markörer av radändringar
Om det här är markerat, visas markörer av radändringar. För mer information,se ”Indikering av radändringar”.
- Visa rullningslistmarkeringar
Om det här alternativet är markerat visar aktuell vy markeringar på den vertikala rullningslisten. Markeringarna visar till exempel bokmärken.
- Visa förhandsgranskning av text på rullningslist
Om alternativet är markerat, och du håller muspekaren över rullningslisten, visas en liten textförhandsgranskning med flera rader i det nuvarande dokumentet omkring pekarens position. Det låter dig snabbt gå till en annan del av dokumentet.
- Visa rullningslistens miniavbildning
Om det här alternativet är markerat visar varje ny vy en miniavbildning av dokumentet på den vertikala rullningslisten.
För mer information om rullningslistens miniavbildning, se ”Rullningslistens miniavbildning”
- Miniavbildningens bredd
Justerar bredden på rullningslistens miniavbildning, definierad i bildpunkter.
- Rullningslisternas synlighet
Visa rullningslisten, dölj den eller visa bara rullningslisten när det behövs. Klicka med vänster musknapp på den blåa rektangeln för att visa radnummerintervallet för dokumentet som visas på skärmen. Håll vänster musknapp nertryckt utanför den blåa rektangeln för automatiskt förflyttning genom dokumentet.
- Sortera menyn bokmärken
- Enligt tillkomst
Varje nytt bokmärke läggs till längst ner, oberoende av var det är placerat i dokumentet.
- Enligt position
Bokmärken ordnas enligt radnumret där de är placerade.
Den här sidan i dialogrutan låter dig ställa in alla teckensnitt och färger i alla färgscheman du har, samt skapa nya scheman eller ta bort befintliga. Varje schema har en inställning av färger, teckensnitt, normal textstil och markeringstextstil.
KatePart väljer schemat som för närvarande är aktivt i förväg åt dig. Om du vill arbeta med ett annat schema, börja med att välja det med kombinationsrutan Schema. Du kan skapa ett nytt schema eller ta bort befintliga med knapparna och .
Längst ner på sidan kan du välja Standardschema för KatePart.
Normalt baserar KatePart sitt färgschema på det nuvarande färgschemat i KDE. DU kan återställa en enskild färg tillbaka till standardvärdet genom att klicka på återställningspilen till höger om posten i färgeditorn, eller så kan du återställa alla färger till standardvärdet genom att klicka på längst ner i panelen.
Tips
Du kan anpassa KDE:s färgschema i modulen Färger i systeminställningarna.
- Editorns bakgrundsfärger
- Textområde
Det här är förvald bakgrund för redigeringsområdet. Det kommer att vara den dominerande färgen i redigeringsområdet.
- Markerad text
Det här är bakgrunden för markerad text. Förvalt värde är den globala markeringsfärgen, som är inställd i KDE:s färginställningar.
- Aktuell rad
Ställ in färgen för aktuell rad. Att ställa in den något annorlunda jämfört med den normala textbakgrunden hjälper till att hålla fokus på den aktuella raden.
- Färgläggning av sökning
Ställ in färgen på texten som matchar den senaste sökningen.
- Färgläggning av ersättning
Ställ in färgen på texten som matchar den senaste ersättningsåtgärden.
- Ikonkant
- Bakgrundsområde
Färgen används för markeringar, radnummer och vikmarkörkanter till vänster i redigeringsvyn när de visas.
- Radnummer
Färgen används för att visa radnummer till vänster i vyn när de visas.
- Radbrytningsmarkör
Färgen används för att rita ett mönster till vänster om rader med dynamisk radbrytning när de är vertikalt justerade, samt för statiska radbrytningsmarkörer.
- Kodvikning
Färgen används för att markera delen av koden som skulle kodvikas när du klickar på kodvikningspilen till vänster om ett dokument För mer information, se dokumentationen av kodvikning.
- Ändrade rader
Färgen används för att färglägga rader som har ändrats men inte ännu sparats till vänster om ett dokument. För mer information se ”Indikering av radändringar”.
- Sparade rader
Färgen används för att färglägga rader som har ändrats under den här sessionen och sparats till vänster om ett dokument. För mer information se ”Indikering av radändringar”.
- Textdekorationer
- Linje för stavfel
Färgen används för att indikera stavfel.
- Tabulator- och mellanslagsmarkörer
Färgen används för att visa indikering av blanktecken, när de är aktiverade.
- Indenteringslinje
Färgen används för att rita en linje till vänster om indenterade block, om funktionen är aktiverad.
- Färglägg parenteser
Den här färgen används för att markera bakgrunden för matchande parenteser.
- Markeringsfärger
- Bokmärke
Färgen används för att ange bokmärken. För mer information, se ”Att använda bokmärken”.
- Aktiv brytpunkt
Färgen används av GDB-insticksprogrammet för att ange en aktiv brytpunkt. För mer information, se dokumentationen av GDB-insticksprogrammet.
- Nådd brytpunkt
Färgen används av GDB-insticksprogrammet för att ange en brytpunkt som du har nått under avlusning. För mer information, se dokumentationen av GDB-insticksprogrammet.
- Inaktiv brytpunkt
Färgen används av GDB-insticksprogrammet för att ange en inaktiv brytpunkt. För mer information, se dokumentationen av GDB-insticksprogrammet.
- Körning
Färgen används av GDB-insticksprogrammet för att ange raden som för närvarande håller på att köras. För mer information, se dokumentationen av GDB-insticksprogrammet.
- Varning
Färgen används av bygginsticksprogrammet för att ange en rad som har orsakat en kompilatorvarning. För mer information, se dokumentationen av bygginsticksprogrammet.
- Fel
Färgen används av bygginsticksprogrammet för att ange en rad som har orsakat ett kompilatorfel. För mer information, se dokumentationen av bygginsticksprogrammet.
- Textmallar och snuttar
- Bakgrund
Färgen används av Kates insticksprogram för textsnuttar för att markera bakgrunden för en textsnutt.
- Redigerbar platsmarkör
Färgen används av Kates insticksprogram för textsnuttar för att markera en platsmarkör som du kan klicka på för att redigera manuellt.
- Redigerbar fokuserad platsmarkör
Färgen används av Kates insticksprogram för textsnuttar för att markera platsmarkören som du för närvarande redigerar.
- Icke-redigerbar platsmarkör
Färgen används av Kates insticksprogram för textsnuttar för att markera en platsmarkör som inte kan redigeras manuellt, såsom en som fylls i automatiskt. För mer information, se dokumentationen av Kates insticksprogram för textsnuttar.
Genom att klicka på knappen ställs alla färger definierade ovan in att motsvara det nuvarande färgschemat definierat i KDE:s systeminställningar. För mer information se dokumentationen av KDE:s inställningsmodul Färger.
Den här knappen har ingen verkan om du inte använder KDE Plasma arbetsrymder, och kanske inte visas.
Här kan du välja det normala teckensnittet för schemat. Du kan välja bland alla teckensnitt som är tillgängliga i systemet, och ange en normal storlek och kodning. Ett textexempel visas längst ner i dialogrutan, så att du kan se effekten av det du väljer.
För mer information om hur man väljer ett teckensnitt, se avsnittet Välja teckensnitt i dokumentet KDE:s grunder.
De förvalda textstilarna ärvs av färgläggningstextstilarna, vilket gör det möjligt för editorn att visa text på ett mycket konsekvent sätt, till exempel använder kommentartext samma stil i nästan alla textformat som KatePart kan färglägga.
Namnet i listan med stilar använder stilen som är inställd för objektet, vilket ger en omedelbar förhandsgranskning när en stil ställs in.
Varje stil låter dig välja gemensamma egenskaper samt förgrunds- och bakgrundsfärger. För att inte använda en bakgrundsfärg, högerklicka och använd den sammanhangsberoende menyn.
Här kan du redigera textstilarna som används av en viss färgläggningsdefinition. Editorn väljer färgläggningen som används av aktuellt dokument i förväg. För att arbeta med en annan färgläggning, välja en i kombinationsrutan Färglägg ovanför listan med stilar.
Namnet i listan med stilar använder stilen som är inställd för objektet, vilket ger en omedelbar förhandsgranskning när en stil ställs in.
Varje stil låter dig välja gemensamma egenskaper samt förgrunds- och bakgrundsfärger. För att inte använda en bakgrundsfärg, högerklicka och använd den sammanhangsberoende menyn. Dessutom kan du se om en stil är samma som den förvalda stilen för objektet, och ställa in den till det om den inte är det.
Du märker att många färgläggningar innehåller andra färgläggningar representerade av grupper i stillistan. De flesta färgläggningar importerar till exempel färgläggningen Alerts, och många källkodsformat importerar färgläggningen Doxygen. Redigering av färger i grupperna påverkar bara stilarna när de används i det redigerade färgläggningsformatet.
- Statisk radbrytning
Radbrytning är en funktion som orsakar att editorn automatiskt börjar en ny rad med text och flyttar (bryter) markören till början på den nya raden. KatePart startar automatiskt en ny rad med text när den nuvarande raden når längden som anges av alternativet Bryt rader vid:.
- Aktivera statisk radbrytning
Sätter på eller stänger av statisk radbrytning.
- Visa statisk radbrytningsmarkör (om tillämplig)
Om det här alternativet är markerat, ritas en vertikal linje i radbrytningskolumnen som definieras i → under fliken Redigering. Observera att radbrytningsmarkören bara ritas om du använder ett teckensnitt med fast breddsteg.
- Bryt rader vid:
Om alternativet Aktivera statisk radbrytning är valt avgör det här värdet längden (i tecken) där editorn automatiskt påbörjar en ny rad.
- Inmatningsläge
Det valda inmatningsläget aktiveras när en ny vy öppnas. Du kan fortfarande sätta på eller stänga av Vi-inmatningsläge för en viss vy från menyn .
- Automatiska hakparenteser
När användaren skriver en vänsterparentes ([, (, eller {) skriver KatePart automatiskt in högerparentesen (}, ), eller ]) till höger om markören.
När text markeras, radbryts den markerade texten om ett av tecknen skrivs in.
- Kopiera och klistra in
- Kopiera eller klipp ut nuvarande rad om markering saknas
Om alternativet är aktiverat och textmarkeringen är tom, utförs åtgärderna kopiera och klipp ut för textraden på den verkliga markörpositionen.
- Förflyttning av textmarkör
- Smarta Home- och End-tangenter
Om markerad, hoppar markören över blanktecken och går till början av radens text när tangenten Home trycks ner.
- Page Up och Page Down flyttar markören
Det här alternativet ändrar beteendet hos markören om användaren trycker på tangenterna Page Up eller Page Down. Om det här inte är valt, behåller textmarkören sin relativa position i den synliga texten i KatePart när ny text blir synlig som ett resultat av åtgärden. Så om markören befinner sig mitt i den synliga texten när åtgärden sker kommer den att förbli där (utom när man kommer till början eller slutet). Om det här alternativet är valt, gör den första tangenttryckningen att markören antingen flyttas längst upp eller längst ner när en ny sida med text visas.
- Centrera markör automatiskt:
Anger antalet rader som behålls synliga ovanför och under markören om möjligt.
- Textmarkeringsläge
- Normal
Markeringar skrivs över av inskriven text, och försvinner när markören flyttas.
- Långlivat
Markeringar blir kvar också efter markören flyttas och text skrivs in.
- Tillåt att rulla förbi dokumentets slut
Det här alternativet låter dig rulla förbi dokumentets slut. Det kan användas för att centrera dokumentets sista del vertikalt, eller placera det ovanpå den nuvarande vyn.
- Backstegstangenten tar bort grundtecknet med diakritiska markeringar
När de är markerade, tas sammansatta tecken bort med sina diakritiska markeringar istället för att bara ta bort grundtecknet. Det är användbart för Indiska landsinställningar.
- Standardläge för indentering:
Välj automatiskt indenteringsläge som du normalt vill använda. Du rekommenderas starkt att använda
Inget
ellerNormal
här, och använda inställning av filtyper för att ställa in andra indenteringslägen för textformat som C/C++ kod eller XML.- Indentera med
- Tabulatorer
När det här är aktiverat, infogar editorn tabulatortecken när du trycker på tabulatortangenten eller använder automatisk indentering.
- Mellanslag
När det här är aktiverat, infogar editorn ett beräknat antal mellanslag enligt positionen i texten och inställningen
tab-width
när du trycker på tabulatortangenten eller använder automatisk indentering.- Tabulatorer och mellanslag
När det här är aktiverat, infogar editorn mellanslag som beskrivs ovan vid indentering eller när tabulatortangenten används i början av en rad, men infogar tabulatorer när tabulatortangenten används i mitten eller slutet av en rad.
- Tabulatorbredd:
Detta ställer in antal mellanslag som visas istället för ett tabulatortecken.
- Indenteringsbredd:
Indenteringsbredden är antalet mellanslag som används för att indentera en rad. Om indentera med tabulator är inställt, infogas ett tabulatortecken om indenteringen är jämnt delbar med tabulatorbredden.
- Indenteringsegenskaper
- Behåll extra mellanslag
Om alternativet är inaktiverat, justeras en rad till en multipel av bredden som anges med indenteringsbredd när indenteringsnivån ändras.
- Justera indentering av text som klistrats in från klippbordet
Om alternativet markeras, indenteras text som klistras in från klippbordet. Genom att använda alternativet kan indenteringen tas bort.
- Indenteringsåtgärder
- Backsteg i inledande blanktecken avindenterar
Om alternativet är markerat, minskar tangenten Backsteg indenteringsnivån om markören är placerad i de inledande blanktecknen på en rad.
- Åtgärd för tabulatortangent (om det inte finns någon markering)
Om du vill att Tabulator ska justera nuvarande rad i nuvarande kodblock som i Emacs, gör Tabulator till en genväg till åtgärden .
- Gå alltid vidare till nästa tabulatorposition
Om alternativet är markerat, infogar alltid tangenten Tabulator blanktecken så att nästa tabulatorposition nås. Om alternativet Infoga mellanslag i stället för tabulatorer under fliken Allmänt på sidan Redigering är aktiverat, infogas mellanslag. Annars infogas ett enda tabulatortecken.
- Öka alltid indenteringsnivån
Om alternativet är markerat, indenterar alltid tangenten Tabulator raden med det antal teckenpositioner som anges av Indenteringsbredd.
- Öka indenteringsnivån om i inledande blanktecken
Om alternativet är markerat, indenterar antingen tangenten Tabulator nuvarande rad eller går vidare till nästa tabulatorposition. Om markörens position är på eller före det första tecknet som inte är ett blanktecken på raden, eller om det finns en markering, indenteras nuvarande rad med det antal teckenpositioner som anges av Indenteringsbredd. Om markörens position är efter det första tecknet som inte är ett blanktecken på raden och det inte finns någon markering, infogas blanktecken så att nästa tabulatorposition nås: om alternativet Infoga mellanslag i stället för tabulatorer under Redigering är aktiverat, infogas mellanslag. Annars infogas ett enda tabulatortecken.
- Allmänt
- Aktivera automatisk komplettering
Om aktiverad, dyker en ordkompletteringsruta automatiskt upp vid inskrivning, som visar en lista med texter som kompletterar texten som för närvarande är under markören.
- Minimal ordlängd att komplettera
Medan du skriver in text, söker ordkomplettering efter ord i dokumentet som börjar med texten som redan skrivits in. Alternativet ställer in det minsta antal tecken som behövs för att aktivera ordkompletteringen och visa en kompletteringsruta.
- Ta bort slutet vid komplettering
Ta bort slutet av ett föregående ord när kompletteringsobjektet väljes i en lista.
- Nyckelordskomplettering
Om aktiverad, använder den inbyggda automatiska kompletteringen nyckelorden definierade av syntaxfärgläggningen.
De här inställningsalternativen beskrivs i dokumentationen för modulen Stavningskontroll i systeminställningarna.
- Allmänt
- Låt Vi-kommandon överskrida genvägar i Kate
Om markerad, överskrider Vi-kommandon KateParts inbyggda kommandon. Exempel: Ctrl+R gör om, och överskrider standardåtgärden (att visa dialogrutan för sökning och ersättning).
- Visa relativa radnummer
Om det här är aktiverat, refererar aktuell rad alltid till rad 0. Rader ovanför och nedanför ökar radnumret relativt.
- Tangentavbildning
Tangentavbildning används för att ändra betydelsen hos inskrivna tecken. Det låter dig flytta kommandon till andra tangenter, eller trycka på särskilda tangenter för att utföra en serie kommandon.
Exempel:
F2 ->
I--
EscLägger till
!--
först på en rad när F2 trycks ner.
- Filformat
- Kodning
Det här definierar standardkodningen som ska användas för att öppna och spara filer, om den inte ändras i dialogrutan för att öppna eller spara, eller genom att använda en kommandoradsväljare.
- Detektering av kodning
Välj ett värde i kombinationsrutan, för att antingen inaktivera automatisk detektering eller använda Allmän för att aktivera automatisk detektering av alla kodningar. Men eftersom den troligen bara detekterar UTF-8 eller UTF-16, erhålls bättre resultat genom att välja ett område för att använda anpassade metoder. Om varken kodningen vald som standard ovan, eller kodningen angiven i dialogrutan för att öppna eller spara motsvarar filens innehåll, utförs den här detekteringen.
- Reservkodning
Det här definierar reservkodningen att prova för att öppna filer, om kodningen definierad som standard ovan, eller den som anges via dialogrutan för att öppna eller spara, inte motsvarar filens innehåll. Innan den provas, görs ett försök att bestämma kodningen genom att läsa en möjlig byte-ordningsmarkering i början av filen. Om någon sådan hittas, väljes riktig Unicode-kodning, annars utförs kodningsdetektering. Om båda misslyckas provas reservkodningen.
- Radens slut
Välj radslutsläget du föredrar för det aktiva dokumentet. Du kan välja bland UNIX®, DOS/Windows® eller MacIntosh.
- Automatisk detektering av radslut
Markera det här om du vill att editorn automatiskt ska detektera radslutstyp. Den första radslutstypen som hittas används för hela filen.
- Aktivera byte-ordningsmarkering (BOM)
Byte-ordningsmarkören är en speciell sekvens i början av dokument kodade med Unicode. Den hjälper editorer att öppna textdokument med riktig Unicode-kodning. För mer information, se Byte Order Mark.
- Radlängdsgräns
Tyvärr får KatePart dålig prestanda vid arbete med extremt långa rader, på grund av brister i Qt™. Av den orsaken bryter KatePart automatiskt rader när de är längre än antalet tecken som anges här. För att inaktivera det, ställ in den till
0
.
- Automatisk rensning vid spara
- Ta bort mellanslag i slutet av en rad
Editorn tar automatiskt bort extra mellanslag i slutet på textrader när filen sparas. Du kan välja Aldrig för att inaktivera funktionen, På ändrade rader för att bara göra det på rader som du har ändrat sedan dokumentet senast sparades, eller I hela dokumentet för att ta bort dem ovillkorligt i hela dokumentet.
- Lägg till radbrytning sist i filen när den sparas
Editorn lägger automatiskt till en nyrad i slutet av filen om det inte redan finns en när filen sparas.
- Spara säkerhetskopia
Säkerhetskopiering när du sparar gör att KatePart kopierar filen på disk till <prefix><filnamn><suffix> innan ändringarna sparas. Suffixet har normalvärdet ~ och prefixet är normalt tomt.
- Lokala filer
Markera det här om du vill ha säkerhetskopior av lokala filer när du sparar.
- Fjärrfiler
Markera det här om du vill ha säkerhetskopior av fjärrfiler när du sparar.
- Prefix
Skriv in prefixet som ska läggas till i början av den säkerhetskopierade filens namn.
- Suffix
Skriv in suffixet som ska läggas till sist i den säkerhetskopierade filens namn.
- Alternativ för växlingsfil
KatePart kan återställa (det mesta) som skrevs efter den senaste gången det sparats i händelse av en krasch eller strömavbrott. En växlingsfil (.swp.<filnamn>) skapas efter den första redigeringsåtgärden i ett dokument. Om användaren inte sparar ändringarna och KatePart kraschar, förblir växlingsfilen på disk. När en fil öppnas, kontrollerar KatePart om det finns en växlingsfil för dokumentet, och om det gör det, frågar användaren om förlorad data ska återställas eller inte. Användaren har också möjlighet att granska skillnaderna mellan originalfilen och den återställda filen. Växlingsfilen tas bort varje gång dokumentet sparas, och vid normal avslutning.
KatePart synkroniserar växlingsfilen på disk var 15:e sekund, men bara om det finns ändringar sedan den senaste synkroniseringen. Användaren kan inaktivera synkroniseringen av växlingsfiler om det önskas, genom att välja Inaktivera, men det kan leda till förlust av mer data.
När aktiverat, sparas växlingsfiler i samma katalog som filen. När Alternativ katalog väljes, skapas växlingsfiler i den angivna katalogen. Det är användbart för nätverksfilsystem för att undvika onödig nätverkstrafik.
Den här sidan låter dig överskrida förvalda inställningar för dokument med angivna Mime-typer. När editorn laddar ett dokument, kontrollerar den om det matchar filmasken eller Mime-typerna för en av de definierade filtyperna, och om det är fallet tillämpas variablerna som är definierade. Om mer än en filtyp matchas, används den med högst prioritet.
- Filtyp:
Filtypen med högst prioritet är den som visas först i kombinationsrutan. Om fler filtyper hittas, anges de också.
- Ny
Det här används för att skapa en ny filtyp. Efter du klickat på knappen, blir fälten nedanför tomma och du kan fylla i de egenskaper du vill ha för den nya filtypen.
- Ta bort
För att ta bort en befintlig filtyp, markera den i kombinationsrutan och tryck på knappen Ta bort.
- Egenskaper för
aktuell filtyp
Filtypen med högst prioritet är den som visas först i kombinationsrutan. Om fler filtyper hittas, anges de också.
- Namn:
Filtypens namn är texten i motsvarande menyalternativ. Namnet visas i menyn → .
- Sektion:
Sektionsnamnet används för att organisera filtyper i menyer. Det används också i menyn → .
- Variabler:
Strängen låter dig ställa in KateParts inställningar för filer som väljes av den här Mime-typen genom att använda variabler i KatePart. Du kan ställa in nästan alla inställningsalternativ, såsom färgläggning, indenteringsläge, etc.
Klicka på för att se en lista med alla tillgängliga variabler och deras beskrivningar. Markera kryssrutan till vänster för att aktivera en viss variabel och ange därefter variabelns värde till höger. Vissa variabler tillhandahåller en kombinationsruta för att välja möjliga värden medan andra kräver att du matar in ett giltigt värde manuellt.
För fullständig information om dessa variabler, se Anpassa med dokumentvariabler.
- Färgläggning:
Om du skapar en ny filtyp, låter den här kombinationsrutan dig välja en filtyp för färgläggning.
- Indenteringsläge:
Kombinationsrutan anger indenteringsläget för nya dokument.
- Filändelser:
Jokerteckenmasken låter dig välja filer enligt filnamn. En typisk mask använder en asterisk och filändelsen, till exempel
*.txt; *.text
. Strängen är en lista med masker åtskilda av semikolon.- Mime-typer:
Visar en guide som hjälper dig att enkelt välja Mime-typer.
- Prioritet:
Anger en prioritet för filtypen. Om fler filtyper väljer samma fil, används den med högst prioritet.
Klicka på knappen för att ladda ner nya eller uppdaterade syntaxfärgläggningsbeskrivningar från KateParts webbplats.

Variabler i KatePart är KateParts implementering av dokumentvariabler, som liknar modelines i Emacs och Vi. I Kate-programdelen har raderna följande format: kate: VARIABELNAMN VÄRDE; [ VARIABELNAMN VÄRDE; ... ]
. Raderna kan förstås finnas i en kommentar, om filen har ett format med kommentarer. Variabelnamn är enstaka ord (inga blanktecken), och allt fram till nästa semikolon är värdet. Semikolonet är nödvändigt.
Här är ett exempel på en variabelrad, som styr indenteringsinställningar för en C++, Java eller Javaskript-fil:
// kate: replace-tabs on; indent-width 4; indent-mode cstyle;
Notera
Bara de första och sista 10 raderna söks igenom efter variabelrader.
Dessutom kan dokumentvariabler placeras i en fil som heter .kateconfig
i vilken katalog som helst, och de angivna inställningarna verkställs som om modelines skrivits in i varje fil i katalogen och i dess underkataloger. Dokumentvariabler i .kateconfig
använder samma syntax som modelines, men med utökade alternativ.
Det finns variabler som stöder nästan alla inställningar i KatePart, och ytterligare insticksprogram kan använda variabler, som i så fall ska vara dokumenterade i insticksprogrammets dokumentation.
KatePart har stöd för att läsa inställningar från .editorconfig
-filer, där biblioteket editorconfig är installerat. KatePart söker automatiskt efter .editorconfig
så fort en fil öppnas. Den ger dock prioritet till .kateconfig
-filer.
När inställningarna läses, letar Kate-programdelen på följande ställen (i denna ordning):
Den allmänna inställningen.
Valfri sessionsdata.
Inställningen under "filtyp".
Dokumentvariabler i
.kateconfig
.Dokumentvariabler i själva dokumentet.
Inställningar som görs under redigering från menyn eller kommandoraden.
Som du märker överskrids dokumentvariabler av ändringar som görs under körning. Så fort ett dokument sparas, läses dokumentvariablerna om, och skriver över ändringar som gjorts med menyalternativ eller från kommandoraden.
Alla variabler som inte anges nedan lagras i dokumentet och kan läsas av andra objekt, exempelvis insticksprogram, som kan använda dem för egna syften. Det variabelbaserade indenteringsläget använder till exempel dokumentvariabler för sin inställning.
Variablerna som anges här dokumenterar KatePart version 5.38. Fler variabler kan läggas till i framtiden. Det finns tre möjliga typer av värden för variabler, med följande giltiga uttryck:
BOOL - on|off|true|false|1|0
HELTAL - vilket heltal som helst
STRÄNG - allt annat
auto-brackets [BOOL]
Aktivera automatisk infogning av hakparenteser.
auto-center-lines [HELTAL]
Ange rader för automatisk centrering.
background-color [STRÄNG]
Ställ in dokumentets bakgrundsfärg. Värdet måste vara något som kan tolkas som en giltig färg, till exempel
#ff0000
.backspace-indents [BOOL]
Aktivera eller inaktivera avindentering när backsteg trycks ner.
block-selection [BOOL]
Sätt på eller stäng av blockmarkering.
bom | byte-order-mark | byte-order-marker [BOOL]
Aktivera eller inaktivera byte-ordningsmarkering (BOM) när filer sparas med Unicode-format (utf8, utf16, utf32).
Sedan: Kate 3.4 (KDE 4.4)
bracket-highlight-color [STRÄNG]
Ställer in färgen för markering av parenteser. Värdet måste vara något som kan tolkas som en giltig färg, till exempel
#ff0000
.current-line-color [STRÄNG]
Ställer in färgen för nuvarande rad. Värdet måste vara något som kan tolkas som en giltig färg, till exempel
#ff0000
.default-dictionary [STRÄNG]
Ställer in förvald ordlista använd vid stavningskontroll.
Sedan: Kate 3.4 (KDE 4.4)
dynamic-word-wrap [BOOL]
Sätter på eller stänger av dynamisk radbrytning.
eol | end-of-line [STRÄNG]
Ställer in radslutsläget. Giltiga inställningar är
unix
,mac
ochdos
.folding-markers [BOOL]
Sätter på eller stänger av visning av vikmarkörer.
folding-preview [BOOL]
Aktivera förhandsgranskning av vikning längs editorns kant.
font-size [HELTAL]
Ange dokumentets teckenstorlek i punkter.
font [STRÄNG]
Ställer in dokumentets teckensnitt. Värdet måste vara ett giltigt teckensnittsnamn, till exempel
courier
.hl | syntax [STRÄNG]
Ställer in syntaxfärgläggning. Giltiga strängar är alla namn tillgängliga i menyerna. Skriv exempelvis helt enkelt
C++
för C++.icon-bar-color [STRÄNG]
Ställer in ikonradens färg. Värdet måste vara något som kan tolkas som en giltig färg, till exempel
#ff0000
.icon-border [BOOL]
Sätter på eller stänger av visning av ikonkanten.
indent-mode [STRÄNG]
Ställer in automatiskt indenteringsläge. Alternativen
none
,normal
,cstyle
,haskell
,lilypond
,lisp
,python
,ruby
ochxml
känns igen. Se avsnittet ”Att använda automatisk indentering” för detaljinformation.indent-pasted-text [BOOL]
Aktivera eller inaktivera Justering av indentering för text som klistrats in från klippbordet.
Sedan: Kate 3.11 (KDE 4.11)
indent-width [HELTAL]
Ange indenteringsbredden.
keep-extra-spaces [BOOL]
Ställer in om extra mellanslag ska behållas när indenteringsbredden beräknas.
line-numbers [BOOL]
Sätt på eller stäng av visning av radnummer.
newline-at-eof [BOOL]
Lägg till en tom rad i slutet av filen (EOF) när dokumentet sparas.
Sedan: Kate 3.9 (KDE 4.9)
overwrite-mode [BOOL]
Sätter på eller stänger av överskrivningsläge.
persistent-selection [BOOL]
Sätt på eller stäng av långlivade markeringar.
replace-tabs-save [BOOL]
Sätter på eller stänger av konvertering av tabulatortecken till mellanslag.
replace-tabs [BOOL]
Sätter på eller stänger av dynamisk konvertering av tabulatortecken till mellanslag.
remove-trailing-spaces [STRÄNG]
Tar bort avslutande mellanslag när dokumentet sparas. Giltig alternativ är:
none
,-
eller0
: ta aldrig bort avslutande mellanslag.modified
,mod
,+
eller1
: ta bara bort avslutande mellanslag på ändrade rader. De ändrade raderna markeras av radändringssystemet.all
,*
eller2
: ta bort avslutande mellanslag i hela dokumentet.
Sedan: KDE 4.10
scrollbar-minimap [BOOL]
Visa rullningslistens miniavbildning.
scrollbar-preview [BOOL]
Visa rullningslistens förhandsgranskning.
scheme [STRÄNG]
Ställer in färgschemat. Strängen måste vara namnet på ett färgschema som finns i dina inställningar för att ha någon effekt.
selection-color [STRÄNG]
Ställer in markeringsfärgen. Värdet måste vara något som kan tolkas som en giltig färg, till exempel
#ff0000
.show-tabs [BOOL]
Sätter på eller stänger av synligt tabulatortecken.
smart-home [BOOL]
Sätter på eller stänger av smart Home-navigering.
tab-indents [BOOL]
Sätter på eller stänger av indentering med tabulatortecken.
tab-width [HELTAL]
Ställer in tabulatorvisningsbredden.
undo-steps [HELTAL]
Ange antalet ångra-steg som ska kommas ihåg ( = oändigt)
Observera: Användning avråds från sedan Kate 3 i KDE 4. Variabeln ignoreras. Det maximala antalet steg som kan ångras är obegränsat.
word-wrap-column [HELTAL]
Ställer in bredden för hård radbrytning.
word-wrap-marker-color [STRÄNG]
Ställer in färgen som markerar radbrytningar. Värdet måste vara något som kan tolkas som en giltig färg, till exempel
#ff0000
.word-wrap [BOOL]
Sätter på eller stänger av hård radbrytning.
KatePart letar alltid efter en .kateconfig
-fil för lokala filer (inte fjärrfiler). Dessutom är det möjligt att ange alternativ baserat på jokertecken (filändelser) enligt följande:
kate: tab-width 4; indent-width 4; replace-tabs on; kate-wildcard(*.xml): indent-width 2; kate-wildcard(Makefile): replace-tabs off;
I exemplet använder alla filer tabulatorbredd (tab-width) 4 mellanslag, indenteringsbredd (indent-width) 4 mellanslag och tabulatorer ersätts expanderade till mellanslag. För alla *.xml
-filer är dock indenteringsbredden inställd till 2 mellanslag. Och Makefile-filer använder tabulatorer, dvs. tabulatorer ersätts inte med mellanslag.
Jokertecken skiljs åt av semikolon, dvs. det går också att ange flera filändelser enligt följande:
kate-wildcard(*.json;*.xml): indent-width 2;
Dessutom kan Mime-typer också användas för att matcha vissa filer, för att t.ex. indentera all C++ källkodsfiler med 4 mellanslag kan man skriva:
kate-mimetype(text/x-c++src): indent-width 4;
Notera
Förutom stödet i .kateconfig
-filer, stöds också dokumentvariabler som beror på jokertecken och Mime-typer i själva filerna som kommentarer.

KatePart och KWrite Copyright 2001-2014 av Kate-gruppen.
Baserad på den ursprungliga KWrite, som var copyright 2000 av Jochen Wilhelmy (digisnap AT cs.tu-berlin.de)
Bidragsgivare:
Christoph Cullmann
(cullmann AT kde.org)
Michael Bartl
(michael.bartl1 AT chello.at)
Phlip
(phlip_cpp AT my-deja.com)
Anders Lund
(anders AT alweb.dk)
Matt Newell
(newellm AT proaxis.com)
Joseph Wenninger
(kde AT jowenn.at)
Jochen Wilhelmy
(digisnap AT cs.tu-berlin.de)
Michael Koch
(koch AT kde.org)
Christian Gebauer
(gebauer AT kde.org)
Simon Hausmann
(hausmann AT kde.org)
Glen Parker
(glenebob AT nwlink.com)
Scott Manson
(sdmanson AT altel.net)
John Firebaugh
(jfirebaugh AT kde.org)
Dokumentationen om KatePart är baserad på den ursprungliga dokumentationen av KWrite, ändrad för att vara relevant för alla användare av KatePart.
Den ursprungliga dokumentationen av KWrite är skriven av Thad McGinnis (ctmcginnis AT compuserve.com)
, med många ändringar av Christian Tibirna (tibirna AT kde.org)
. Konvertering till docbook och korrekturläsning av Lauri Watts (lauri AT kde.org)
och uppdaterad av Anne-Marie Mahfouf (annma AT kde.org)
och Anders Lund (anders AT alweb.dk)
Den nuvarande dokumentationen av KatePart underhålls av T.C. Hollingsworth (tchollingsworth AT gmail.com)
. Skicka gärna kommentarer eller förslag till utvecklingslistan för KatePart på (kwrite-devel AT kde.org)
eller skicka in en felrapport med KDE:s felspårningssystem.
Översättning Stefan Asserhäll (stefan.asserhall AT bredband.net)
Den här dokumentationen licensieras under villkoren i GNU Free Documentation License.
Det här programmet licensieras under villkoren i GNU General Public License.

Målet för VI-läget är inte att vara en fullständig ersättning av Vim och stödja alla funktioner i Vim. Dess mål är att göra ”Vim-sättet” att redigera (och vanorna inlärda med Vim) tillgängligt för program som använder texteditorn KatePart som intern editor.
VI-lägets mål är att integreras väl med programmet och skilja sig från Vims beteende när det är lämpligt. Exempelvis öppnas en dialogruta för att spara med :w
i KateParts VI-läge.
För att aktivera VI-inmatningsläget för alla nya vyer, gå till → + → . Under denna flik kan du ställa in alternativ för VI-inmatningsläget samt definiera och redigera tangentbindningarna för läget. Vi-inmatningsläge kan också växlas med inställningen i menyn . (Normal genväg är Meta+Ctrl+V, där Meta oftast är Fönster-tangenten).
Notera
Många tangentbordskommandon i VI-läget är skiftlägeskänslig, i motsats till de flesta tangentbordsgenvägar i KDE. Det betyder att y
och Y
är olika kommandon. För att skriva in kommandot y
(ryck ut), försäkra dig om att Caps Lock inte är aktivt och tryck på Y. För att skriva in kommandot Y
(ryck ut till radens slut), tryck på Skift+Y.
Detta gäller inte för kommandon som använder Ctrl-tangenten, vilka kan skrivas in oberoende av värdet på Caps Lock och utan att hålla ner Skift. Dock kräver vissa kommandon användning av Ctrl-tangenten följt av en annan tangent som är skiftlägeskänslig. För att exempelvis skriva in ”Ctrl+Wh
” (byt till delad vy höger) försäkra dig om att Caps Lock inte är aktivt, tryck på Ctrl+W, släpp, och tryck därefter på H.
Det finns bara ett fåtal funktioner i KateParts VI-läge som är inkompatibla med Vim (om man inte räknar saknade funktioner). De listas nedan tillsammans med respektive orsak.
KatePart:
U
och Ctrl+R är gör om.Vim: Ctrl+R är vanlig gör om, U används för att ångra alla senaste ändringarna på en rad.
Orsaken att låta U fungera som ångra i KateParts VI-läge är att genvägen Ctrl+R normalt används av KateParts ersättningsfunktion (sök och ersätt). Normalt överskrider inte VI-läget KateParts genvägar (det kan ställas in i → + → ), och därför måste åtgärden Gör om också vara tillgänglig som en ”vanlig” tangent. Dessutom motsvarar inte beteendet hos kommandot
U
i Vim KateParts interna ångringssystem väl, så det skulle hur som helst inte vara trivialt att stödja.KatePart:
print
visar dialogrutan Skriv ut.Vim:
print
skriver ut raderna i det angivna intervallet, liksom i dess föregångare ed.Kommandon som
:print
är inte bara tillgängliga i VI-läge, utan också för användare som använder KatePart på ”vanligt” sätt. Därför visar kommandot:print
utskriftsdialogrutan, med principen att minimera överraskningar istället för att härma Vims beteende.KatePart:
Y
rycker ut till radens slut.Vim:
Y
rycker ut hela raden, precis somy
y
.Vims beteende för kommandot
Y
är i praktiken ett fel. Både för ändrings- och borttagningskommandon utförc
c
/d
d
åtgärden för aktuell rad ochC
/D
fungerar från markörens kolumn till radens slut. Dock rycker bådey
y
ochY
ut aktuell rad. I KateParts VI-läge ryckerY
ut till radens slut. Det beskrivs som ”mer logiskt” i Vims dokumentation.KatePart:
O
ocho
påbörjar [antal
] nya rader och går till infogningsläge.Vim:
O
ocho
påbörjar en ny rad och infogar text [antal
] gånger när infogningsläget lämnas.Det har i huvudsak gjorts som en följd av att ha stött på många som blivit förvirrade av beteendet på en Vim IRC-kanal (#vim på Freenode).
Normalt läge låter dig ange kommandon för att navigera eller redigera dokumentet, och är förvalt läge. Du kan återgå till det från vilket annat läge som helst genom att trycka på Esc.
Visningsläge låter dig markera text i ett dokument. De flesta kommandon från normalläget är också giltiga i detta läget. Du kan gå till det genom att trycka på
v
för att markera tecken, ellerV
för att markera rader.Infogningsläge låter dig redigera dokumentet direkt. Du kan gå till det genom att trycka på
i
eller ett av flera andra kommandon som listas nedan.Kommandoläget aktiverar KateParts kommandorad, vilket möjliggör att köra många kommandon tillgängliga i Vi-implementeringar samt vissa specifika för KatePart. För mer information om dessa kommandon, se ”Editorkomponentens kommandorad”. För att använda det, tryck på :, skriv in kommandot och tryck på returtangenten.
Visuellt läge aktiveras automatiskt när text markeras med musen. Det aktiveras också när funktioner i Kate som markerar text används, såsom Markera alla (antingen från menyn eller via Ctrl+A).
Markörer i Vi och bokmärken i Kate är integrerade. När en markör skapas i VI-läge, skapas ett motsvarande bokmärke i Kate, och dyker upp i menyn . Omvänt, när ett bokmärke skapas i Kate, skapas en motsvarande markör i Vi på kolumn 0 också.
| Gå till infogningsläge, lägg till efter markören |
| Gå till infogningsläge, lägg till efter raden |
| Gå till infogningsläge, lägg till före markören |
Insert | Gå till infogningsläge, lägg till före markören |
| Gå till infogningsläge, infoga före första tecken på raden som inte är ett blanktecken |
| Gå till infogningsläge, lägg till före stället där det senaste infogningsläget lämnades |
| Gå till visningsläge, markera tecken |
| Gå till visningsläge, markera rader |
Ctrl+v | Gå till visningsläge, markera block |
| Gå till visningsläge, markera den senaste markeringen igen |
| Påbörja en ny rad under den aktuella raden |
| Påbörja en ny rad ovanför den aktuella raden |
| Kombinera rader |
| Ändra: Följ med en förflyttning för att ta bort och gå till infogningsläge |
| Ändra till radens slut: Ta bort till radens slut och gå till infogningsläge |
| Ändra rad: Ta bort till raden och gå till infogningsläge |
| Ersätt tecken |
| Ersätt rad |
| Ta bort rad |
| Följ med en förflyttning för att ta bort |
| Ta bort till radens slut |
| Ta bort tecken till höger om markören |
Delete | Ta bort tecken till höger om markören |
| Ta bort tecken till vänster om markören |
| Följ med en förflyttning för att ändra till små bokstäver |
| Gör den aktuella raden till små bokstäver |
| Följ med en förflyttning för att ändra till stora bokstäver |
| Gör den aktuella raden till stora bokstäver |
| Följ med en förflyttning för att ”rycka ut” (kopiera) |
| Ryck ut (kopiera) rad |
| Ryck ut (kopiera) rad |
| Klistra in efter markören |
| Klistra in före markören |
| Klistra in efter markören indenterat |
| Klistra in före markören indenterat |
| Följ med ett tecken för att ersätta tecknet efter markören |
| Gå till ersättningsläge |
| Gå till kommandoläge |
| Sök |
| Ångra |
Ctrl+R | Gör om |
| Gör om |
| Ange markering (kan användas av senare förflyttningar) |
| Sök igen |
| Sök föregående |
| Indentera rad |
| Avindentera rad |
| Indentera rader |
| Avindentera rader |
Ctrl+F | Sida ner |
Ctrl+B | Sida upp |
| Skriv ut tecknets ASCII-värde |
| Upprepa senaste ändring |
| commandAlignLine |
| commandAlignLines |
| Ändra skiftläge för aktuellt tecken |
Ctrl+S | Dela vyn horisontellt |
Ctrl+V | Dela vyn vertikalt |
Ctrl+W, | Gå cykliskt till nästa delade fönster |
Ctrl+W, Ctrl+W Vänster | Gå till det delade fönstret till vänster |
Ctrl+W, Ctrl+W Höger | Gå till det delade fönstret till höger |
Ctrl+W, Ctrl+W Upp | Gå till det delade fönstret ovanför |
Ctrl+W, Ctrl+W Ner | Gå till det delade fönstret nedanför |
Dessa kan användas för att flytta omkring i dokumentet i Normalt läge eller Visningsläge, eller i samband med något av ovanstående kommandon. De kan föregås av ett antal, vilket anger hur många av motsvarande förflyttningar som ska göras.
| Vänster |
Vänsterpil | Vänster |
Baksteg | Vänster |
| Ner |
Neråtpil | Ner |
| Upp |
Uppåtpil | Upp |
| Höger |
Högerpil | Höger |
Mellanslag | Höger |
| Radens slut |
End | Radens slut |
| Radens första tecken (kolumn 0) |
Home | Radens första tecken |
| Radens första tecken som inte är ett blanktecken |
| Följ av tecken för att flytta till höger om markören |
| Följ av tecken för att flytta till vänster om markören |
| Följ med tecken höger om markören att gå till, och placera markören på tecknet före det |
| Följ med tecken vänster om markören att gå till, och placera markören på tecknet före det |
| Första raden |
| Sista raden |
| Nästa ord |
| Nästa ord åtskilt av blanktecken |
| Föregående ord |
| Föregående ord åtskilt av blanktecken |
| Ordets slut |
| Ordets slut åtskilt av blanktecken |
| Föregående ords slut |
| Föregående ords slut åtskilt av blanktecken |
| Följ med kolumnnummer för att gå till den kolumnen |
| Följ med ett objekt för att gå till det objektet |
| Markera |
| Första tecken på raden som inte är ett blanktecken där markeringen är |
| Föregående inledande hakparentes |
| Nästa inledande hakparentes |
| Föregående avslutande hakparentes |
| Nästa avslutande hakparentes |
Ctrl+I | Gå framåt till nästa position |
Ctrl+O | Gå bakåt till föregående position |
| Gå till skärmens första rad |
| Gå till raden på skärmens mitt |
| Gå till skärmens sista rad |
| Gå till angivet procentvärde av dokumentet |
| Gå en rad uppåt visuellt (när dynamisk radbrytning används) |
| Gå en rad neråt visuellt (när dynamisk radbrytning används) |
Ctrl+Vänsterpil | Gå ett ord åt vänster |
Ctrl+Högerpil | Gå ett ord åt höger |
De kan användas för att markera vissa delar av ett dokument.
| Inre ord: Ord inklusive blanktecken |
| Ett ord: Ord exklusive blanktecken |
| Föregående dubbla citationstecken ( |
| Föregående dubbla citationstecken ( |
| Föregående enkla citationstecken ( |
| Föregående enkla citationstecken ( |
| Föregående inledande parentes [ |
| Föregående inledande parentes [ |
| Föregående inledande hakparentes ( |
| Föregående inledande hakparentes ( |
| Föregående inledande klammerparentes ( |
| Föregående inledande klammerparentes ( |
| Föregående inledande vinkelparentes ( |
| Föregående inledande vinkelparentes ( |
| Föregående grava accent ( |
| Föregående grava accent ( |
Ctrl+D | Avindentera |
Ctrl+T | Indentera |
Ctrl+E | Infoga nerifrån |
Ctrl+Y | Ta bort ord |
Ctrl+W | Ta bort ord |
Ctrl+U | Ta bort rad |
Ctrl+J | Ny rad |
Ctrl+H | Ta bort tecken bakåt |
Ctrl+Home | Gå till första tecknet i dokumentet |
Ctrl+R | Infoga innehållet i register n |
Ctrl+O, | Gå till normalt läge för endast ett kommando |
Ctrl+A | Inkrementera talet som för närvarande är markerat |
Ctrl+X | Dekrementera talet som för närvarande är markerat |
Objektet saknas i Vim. Komma-textobjektet gör det enkelt att ändra parameterlistor i C-liknande språk och andra listor åtskilda med kommatecken. Det är egentligen området mellan två kommatecken eller mellan ett kommatecken och en parentes. På raden som visas i illustrationen är de tre områden som textobjektet kan omfatta färglagda.

Innehållsförteckning
Detta appendix innehåller en kortfattad, men förhoppningsvis tillräcklig och heltäckande introduktion till de reguljära uttryckens värld. Det dokumenterar reguljära uttryck på den form som är tillgänglig i KatePart, som inte är likadana som reguljära uttryck i Perl, och inte heller i till exempel grep.
Reguljära uttryck ger oss en möjlighet att beskriva ett möjligt innehåll i en textsträng på ett sätt som enkelt kan förstås av programvara, så att den kan undersöka om texten matchar, och för mer avancerade tillämpningar, ge möjlighet att spara delar av texten som matchar.
Ett exempel: Säg att du vill leta i en text efter stycken som börjar med något av namnen ”Henrik” eller ”Pernilla”, följt av någon form av verbet ”säga”.
Med en normal sökning, skulle du börja med att leta efter det första namnet, ”Henrik”, kanske följt av ”s” på det här sättet: Henrik s
, och medan du letar efter träffar måste du bortse från alla de som inte inleder ett stycke, samt de där ordet som börjar med ”s” inte var antingen ”säger”, ”sade” etc. Och därefter måste du förstås repetera allt för nästa namn ...
Med reguljära uttryck, kan den här uppgiften utföras med en enda sökning, och med högre noggrannhet.
För att åstadkomma detta, definierar reguljära uttryck detaljerade regler för att beskriva en generell sträng som ska matcha. Vårt exempel, som vi kan beskriva så här med ord: ”En rad som börjar antingen med ’Henrik’ eller ’Pernilla’ (möjligen efter upp till fyra mellanslag eller tabulatortecken), följt av ett mellanslag, följt av ’s’ och sedan antingen ’äger’ eller ’ade’”, skulle kunna uttryckas med följande reguljära uttryck:
^[ \t]{0,4}(Henrik|Pernilla) s(äger|ade)
Ovanstående exempel demonstrerar alla fyra huvudkoncepten i moderna reguljära uttryck, nämligen:
Mönster
Påståenden
Kvalificering
Bakåtreferenser
Hatten (^
) som inleder uttrycket är ett påstående, som bara är sant om den följande strängen som matchar är först på raden.
Strängarna [ \t]
och (Henrik|Pernilla) s(äger|ade)
är mönster. Det första är en teckenklass som antingen matchar ett blanktecken eller ett (horisontellt) tabulatortecken. Det andra mönstret innehåller först ett delmönster som antingen matchar Henrik
eller Pernilla
, därefter en del som exakt matchar strängen s
och slutligen ett delmönster som antingen matchar äger
eller ade
.
Strängen {0,4}
är en kvalificering som säger ”allt från noll upp till fyra av det föregående”.
Eftersom programvara för reguljära uttryck stöder konceptet med bakåtreferenser, så sparas hela den matchande delen av strängen, samt delmönster som finns mellan parenteser. Givet något sätt att komma åt de här referenserna, skulle vi kunna få tag på hela matchningen (när man söker i ett textdokument i en editor med ett reguljärt uttryck, så visas den ofta markerad), eller namnet som hittades, eller den sista delen av verbet.
I sin helhet, så matchar uttrycket vad vi ville att det skulle göra, och bara det.
Följande avsnitt beskriver i detalj hur man skapar och använder mönster, teckenklasser, påståenden, kvalificering och bakåtreferenser. Det sista avsnittet ger några användbara exempel.

Mönster består av vanliga strängar och teckenklasser. Mönster kan innehålla delmönster, vilket är mönster som är inneslutna i parenteser.
I mönster och teckenklasser har vissa tecken en särskilt mening. För att uttryckligen matcha något av de här tecknen, måste de markeras eller undantas för att tala om för programvaran för reguljära uttryck att den ska tolka sådana tecken uttryckligen.
Det här görs genom att lägga till ett bakstreck (\
) före tecknet.
Programvaran för reguljära uttryck ignorerar tecken som undantas även om de inte har någon särskild betydelse i sammanhanget, så att undanta till exempel ett ”j” (\j
) är säkert. Om du är tveksam om ett tecken kan ha en särskild betydelse, kan du därför alltid undanta det på ett säkert sätt.
Undantag omfattar förstås också bakstrecket själv, för att uttryckligen matcha ett sådant, skulle du skriva \\
.
En teckenklass är ett uttryck som matchar ett tecken i en mängd angivna tecken. I reguljära uttryck definieras teckenklasser genom att ange de giltiga tecknen i klassen inom hakparenterser, []
, eller genom att använda en av de förkortade klasserna som beskrivs nedan.
Enkla teckenklasser innehåller bara uttryckligen ett eller flera tecken, till exempel [abc]
(som matchar något av tecknen ”a”, ”b” eller ”c”) eller [0123456789]
(som matchar alla siffror).
Eftersom bokstäver och siffror har en logisk ordning, kan du förkorta dem genom att ange intervall: [a-c]
är samma sak som [abc]
och [0-9]
är samma sak som [0123456789]
. Att kombineras dessa sammansättningar, till exempel med [a-fynot1-38]
är fullständigt riktigt (detta skulle förstås matcha antingen ”a”,”b”,”c”,”d”, ”e”,”f”,”y”,”n”,”o”,”t”, ”1”,”2”,”3” eller ”8”).
Eftersom stora bokstäver är andra tecken än motsvarande små bokstäver, så måste du alltså skriva [aAbB]
, för att skapa en teckenklass som matchar både de små och stora bokstäverna ”a” eller ”b”.
Det är förstås möjligt att skapa en ”negativ” klass som matchar ”allting utom”. För att göra detta lägg till en hatt (^
) först i klassen:
[^abc]
matchar alla tecken utom ”a”, ”b” eller ”c”.
Förutom uttryckliga tecken, definieras några förkortningar, som gör livet lite enklare:
\a
Det här matchar ASCII-tecknet BEL (0x07).
\f
Det här matchar ASCII-tecknet ny sida (FF, 0x0C).
\n
Det här matchar ASCII-tecknet nyrad (LF, 0x0A, Unix nyrad).
\r
Det här matchar ASCII returtecken (CR, 0x0D).
\t
Det här matchar ASCII-tecknet horisontell tabulator (HT, 0x09).
\v
Det här matchar ASCII-tecknet vertikal tabulator (VT, 0x0B).
\xhhhh
Det här matchar Unicode-tecknet som motsvarar det hexadecimala värdet hhhh (mellan 0x0000 och 0xFFFF). \0ooo (dvs. \noll ooo) matchar ASCII/Latin-1 tecknet som motsvarar det oktala värdet ooo (mellan 0 och 0377).
.
(punkt)Det här matchar vilket tecken som helst (inklusive nyrad).
\d
Det här matchar en siffra. Samma som
[0-9]
.\D
Det här matchar allt utom en siffra. Samma som
[^0-9]
eller[^\d]
.\s
Det här matchar ett blanktecken. Nästan samma sak som
[ \t\n\r]
.\S
Det här matchar allt utom ett blanktecken. Nästan samma sak som
[^ \t\r\n]
, och samma som[^\s]
.\w
Matchar alla ”ord-tecken” - i det här fallet alla bokstäver eller siffror. Observera att understreck (
_
) inte matchas, vilket är fallet för motsvarande reguljära uttryck i Perl. Samma som[a-zA-Z0-9]
.\W
Matchar alla tecken som inte ingår i ord - allt utom bokstäver eller siffror. Samma som
[^a-zA-Z0-9]
eller[^\w]
.
De förkortade klasserna kan användas inne i en annan klass. För att till exempel matcha ett ord-tecken, ett mellanslag eller en punkt, skulle du kunna skriva [\w \.]
.
Notera
POSIX-beskrivningen av klasser [:<klassnamn>:]
stöds inte för närvarande.
Följande tecken har en särskild betydelse inne i konstruktionen ”[]” för teckenklasser, och måste undantas för att användas uttryckligen i en teckenklass:
]
Avslutar teckenklassen. Måste undantas om det inte är det allra första tecknet i klassen (kan följa en hatt som inte undantas).
^
(hatt)Anger en negativ klass, om det är det första tecknet. Måste undantas för att uttryckligen matcha om det är det första tecknet i klassen.
-
(minus)Anger ett logiskt intervall. Måste alltid undantas inne i en teckenklass.
\
(bakstreck)Undantagstecknet. Måste alltid undantas.
Om du vill matcha en av ett antal olika mönster, kan du skilja dem åt med |
(ett vertikalt streck).
För att till exempel antingen hitta ”John” eller ”Harry” kan du använda uttrycket John|Harry
.
Delmönster är mönster som innesluts i parenteser, och som har flera användningar i de reguljära uttryckens värld.
Du kan använda ett delmönster för att gruppera ett antal alternativ i ett större mönster. Alternativen delas av tecknet ”|” (vertikalt streck).
För att till exempel matcha antingen orden ”int”, ”float” eller ”double”, skulle du kunna använda mönstret int|float|double
. Om du bara vill hitta ordet om det följs av blanktecken och därefter några bokstäver, placera alternativen i ett delmönster: (int|float|double)\s+\w+
.
Om du vill använda en bakåtreferens, använd ett delmönster för att komma ihåg önskad del av mönstret.
Om du till exempel vill hitta två förekomster av samma ord åtskilda av ett kommatecken och möjligen några blanktecken, skulle du kunna skriva (\w+),\s*\1
. Delmönstret \w+
skulle hitta en grupp med ord-tecken, och hela uttrycket skulle matcha om de följdes av ett komma, noll eller flera blanktecken och sedan en likadan grupp med ord-tecken. (Strängen \1
refererar till det första delmönstret inneslutet i parenteser).
Notera
För att undvika tvetydigheter vid användning av \1
med efterföljande siffror (t.ex. kan \12
vara det tolfte delmönstret eller bara det första delmönstret med 2
) använder vi \{12}
som syntax för delmönster med flera siffror.
Exempel:
\{12}1
är ”använd delmönster 12”\123
är ”använd delmönster 1 därefter 23 som normal text”
Ett påstående för sökning framåt är ett delmönster, som antingen börjar med ?=
eller ?!
.
För att till exempel uttryckligen matcha strängen ”Bill” men bara om den inte följs av ” Gates”, skulle du kunna använda det här uttrycket: Bill(?! Gates)
. (Det här skulle hitta ”Bill Clinton” samt ”Billy the kid”, men tyst ignorera de andra träffarna).
Delmönster som används för påståenden sparas inte.
Se också Påståenden.
Följande tecken har särskild betydelse inne i mönster, och måste undantas om du uttryckligen vill matcha dem:
\
(bakstreck)Undantagstecknet.
^
(hatt)Anger början på strängen.
$
Anger slutet på strängen.
()
(vänster och höger parentes)Anger delmönster.
{}
(vänster och höger klammer)Anger numerisk kvalificering.
[]
(vänster och höger hakparentes)Anger teckenklasser.
|
(vertikalt streck)Logiskt ELLER. Skiljer alternativ.
+
(plustecken)Kvalificering, en eller flera.
*
(asterisk)Kvalificering, noll eller flera.
?
(frågetecken)Ett extra tecken. Kan tolkas som en kvalificering, noll eller ett.

En kvalificering låter ett reguljärt uttryck antingen matcha ett angivet antal eller intervall av ett tecken, en teckenklass eller ett delmönster.
En kvalificering innesluts av klamrar ({
och }
) och har den allmänna formen {[minimalt antal][,[maximalt antal]]}
.
Användningen förklaras bäst med exempel:
{1}
Exakt en förekomst
{0,1}
Noll eller en förekomst
{,1}
Samma sak, med mindre ansträngning ;)
{5,10}
Minst 5 men maximalt 10 förekomster
{5,}
Minst 5 förekomster, inget maximum
Det finns dessutom några förkortningar:
*
(asterisk)liknar
{0,}
, hittar ett godtyckligt antal förekomster.+
(plustecken)liknar
{1,}
, åtminstone en förekomst.?
(frågetecken)liknar
{0,1}
, noll eller en förekomst.
När kvalificeringar utan maximum används, så matchar reguljära uttryck normalt så mycket av söksträngen som möjligt, ett beteende som ofta kallas för glupskt.
Modern programvara för reguljära uttryck tillhandahåller en möjlighet att ”stänga av det glupska beteendet”, även om det är det grafiska gränssnittet som måste ge dig tillgång till den här funktionen. En sökdialogruta som tillhandahåller sökning med reguljära uttryck skulle kunna ha en kryssruta som heter ”Minimal matchning”, och borde också ange att glupskt beteende är det normala.
Här är några exempel på att använda kvalificering.
^\d{4,5}\s
Matchar siffrorna i ”1234 gå” och ”12345 nu”, men varken ”567 elva” eller ”223459 någonstans”.
\s+
Matchar en eller flera blanktecken
(bla){1,}
Matchar samtliga ”blablabla” och ”bla” i ”blad” eller ”dubbla”
/?>
Matchar ”/>” i ”<slut/>” samt ”>” i ”<start>”.

Påståenden gör att ett reguljärt uttryck bara matchar under vissa kontrollerade omständigheter.
Ett påstående behöver inte ett tecken för att matcha, utan undersöker istället omgivningen runt en möjlig matchning innan den erkänns. Påståendet ordgräns försöker till exempel inte hitta ett tecken som inte ingår i ett ord intill ett ord-tecken på platsen, utan kontrollerar istället att det inte finns ett ord-tecken. Det här betyder att påståendet matchar där det inte finns något tecken alls, dvs. vid slutet på söksträngen.
Vissa påståenden har verkligen ett mönster som ska matcha, men den delen av strängen som matchar kommer inte att ingå i resultatet för matchningen av hela uttrycket.
Reguljära uttryck som de dokumenteras här stöder följande påståenden:
^
(hatt: början på strängen)Matchar början på söksträngen.
Uttrycket
^Peter
matchar vid ”Peter” i strängen ”Peter, hej då!” men inte ”Hej, Peter!”.$
(slutet på strängen)Matchar slutet på söksträngen.
Uttrycket
du\?$
matchar det sista du i strängen ”Du gjorde det väl inte, eller var det verkligen du?” men ingenstans i ”Du gjorde det väl inte, eller hur?”.\b
(ordgräns)Matchar om det finns ett ordtecken på ena sidan och något annat än ett ordtecken på andra sidan.
Det här är användbart för att hitta slutet på ord, till exempel för både början och slutet för att hitta ett helt ord. Uttrycket
\bin\b
matchar ett ensamt ”in” i strängen ”Han kom in genom ingången”, men inte det ”in” som finns i ”ingången”.\B
(icke ordgräns)Matchar överallt där ”\b” inte gör det.
Det här betyder att det matchar till exempel inne i ord: Uttrycket
\Bin\B
matchar in i ”minne” men inte i ”ingång” eller ”Han kom in genom fönstret”.(?=MÖNSTER)
(Positiv sökning framåt)Ett påstående som söker framåt tittar på strängen som följer en möjlig matchning. Den positiva sökningen förhindrar att strängen matchar om inte texten som följer den möjliga matchningen matchar MÖNSTER i påståendet, men texten som matchas av det ingår inte i resultatet.
Uttrycket
vakt(?=\w)
matchar för ”vakt” in ”vaktmästare” men inte i ”Han är en vakt!”(?!MÖNSTER)
(Negativ sökning framåt)Den negativa sökningen framåt förhindrar en möjlig matchning från att bekräftas om den följande delen av söksträngen matchar sitt MÖNSTER.
Uttrycket
const \w+\b(?!\s*&)
matchar vid ”const char” i strängen ”const char* x” medan den inte kan matcha ”const QString” i ”const QString& y” eftersom ”&” matchar mönstret i den negativa sökningen framåt.