
5.94 (2 de maig de 2022)
Dret de reproducció © 2000, 2001 McGinnis, Thad
Dret de reproducció © 2005 Mahfouf, Anne-Marie <annma@kde.org>
, Lund, Anders <anders@alweb.dk>
Dret de reproducció © 2011, 2012, 2013, 2014 Hollingsworth, T.C. <tchollingsworth@gmail.com>
La KatePart és un component d'edició amb totes les funcions per al KDE.
Sumari
- 1. Introducció
- 2. Alguns fonaments
- 3. Treballar amb l'editor KatePart
- 4. Les entrades del menú
- 5. Eines d'edició avançades
- 6. Estendre la KatePart
- 7. Configurar la KatePart
- 8. Crèdits i llicència
- 9. El mode d'entrada del Vi
- A. Expressions regulars
Llistat d'exemples

La KatePart és un component per a l'edició de text amb totes les funcions utilitzades per moltes aplicacions Qt™ i KDE. La KatePart és més que un simple editor de text. Pretén ser un editor per a programadors, i ser considerada almenys parcialment com a una alternativa als editors més potents. Una de les principals característiques de la KatePart és l'acoloriment de la sintaxi, personalitzada per als diferents llenguatges de programació com són: C/C++, Java™, Python, Perl, Bash, Modula 2, HTML i Ada.
El KWrite és una simple aplicació per a l'edició de text basada en la KatePart. Compta amb una única interfície de document (SDI -Single Document Interface-) que permet editar un fitxer alhora per finestra. Atès que el KWrite és una implementació molt simple de la KatePart, no requereix la seva pròpia documentació. Si coneixeu com utilitzar el KWrite, podeu utilitzar la KatePart onsevulla!

El KWrite i moltes altres que empren la KatePart són molt fàcils d'usar. Qualsevol que hagi emprat un editor de text no hauria de tenir cap problema en usar-lo.
La KatePart utilitza el protocol arrossegar i deixar anar del KDE. Els fitxers es poden arrossegar i deixar anar dins de la KatePart des de l'escriptori, el gestor de fitxers Dolphin o algun servidor remot d'FTP obert en una de les finestres del Dolphin.

Moltes de les dreceres es poden configurar mitjançant el menú Arranjament. De manera predeterminada, la KatePart utilitza les següents dreceres:
Insert | Canvia entre els modes inserir i sobreescriure. Quan es troba en el mode inserir, l'editor afegirà al text qualsevol caràcter teclejat desplaçant qualsevol dada a la dreta del cursor. El mode sobreescriure farà que cada caràcter teclejat elimini el caràcter situat a la dreta del cursor de text. |
Fletxa esquerra | Mou el cursor un caràcter cap a l'esquerra. |
Fletxa dreta | Mou el cursor un caràcter cap a la dreta. |
Fletxa amunt | Mou el cursor una línia cap amunt. |
Fletxa avall | Mou el cursor una línia cap avall. |
Ctrl+E | Va cap a la ubicació anterior d'edició en el document. |
Ctrl+Maj+E | Va cap a la ubicació següent d'edició en el document. |
Alt+Maj+Fletxa amunt | Mou el cursor fins al sagnat anterior que concordi. |
Alt+Maj+Fletxa avall | Mou el cursor fins al sagnat anterior que concordi. |
Ctrl+6 | Mou al parèntesi que coincideixi. |
Re Pàg | Mou el cursor una pàgina cap amunt. |
Av Pàg | Mou el cursor una pàgina cap avall. |
Inici | Mou el cursor cap al començament de la línia. |
Fi | Mou el cursor cap al final de la línia. |
Ctrl+Inici | Mou al començament del document. |
Ctrl+Fi | Mou al final del document. |
Ctrl+Fletxa amunt | Desplaça una línia amunt. |
Ctrl+Fletxa avall | Desplaça una línia avall. |
Ctrl+Fletxa dreta | Mou una paraula a la dreta. |
Ctrl+Fletxa esquerra | Mou una paraula a l'esquerra. |
Ctrl+Maj+Fletxa amunt | Desplaça les línies amunt. |
Ctrl+Maj+Fletxa avall | Desplaça les línies avall. |
Ctrl+. | Duplica les línies seleccionades cap avall. |
Ctrl+B | Estableix un punt. |
Alt+Re Pàg | Punt anterior. |
Alt+Av Pàg | Punt següent. |
Supr | Suprimeix el caràcter a la dreta del cursor (o qualsevol text seleccionat). |
Retrocés | Suprimeix el caràcter a l'esquerra del cursor. |
Ctrl+Supr | Suprimeix la paraula a la dreta. |
Ctrl+Retrocés | Suprimeix la paraula a l'esquerra. |
Ctrl+K | Suprimeix la línia. |
Maj+Retorn | Insereix una nova línia incloent caràcters al començament de la línia actual, que no siguin lletres o números. És útil, p. ex., per escriure comentaris en el codi: Al final de la línia «// algun text» premeu aquesta drecera i la següent línia ja començarà amb «//». De manera que no haureu d'introduir els caràcters de comentari al començament de cada nova línia. |
Ctrl+Maj+Retorn | Crea una línia nova sota la línia actual. |
Ctrl+Alt+Retorn | Crea una línia nova sobre la línia actual. |
Maj+Fletxa esquerra | Marca el text un caràcter cap a l'esquerra. |
Maj+Fletxa dreta | Marca el text un caràcter cap a la dreta. |
Ctrl+F | |
F3 | |
Maj+F3 | |
Ctrl+H | |
Ctrl+Maj+H | |
Ctrl+Maj+Fletxa dreta | Selecciona una paraula a la dreta. |
Ctrl+Maj+Fletxa esquerra | Selecciona una paraula a l'esquerra. |
Maj+Inici | Selecciona des del començament de la línia. |
Maj+Fi | Selecciona fins al final de la línia. |
Maj+Fletxa amunt | Selecciona des de la línia prèvia. |
Maj+Fletxa avall | Selecciona fins a la línia següent. |
Ctrl+Maj+6 | Selecciona fins al parèntesi que coincideixi. |
Ctrl+Maj+Re Pàg | Selecciona des de dalt de la vista. |
Ctrl+Maj+Av Pàg | Selecciona fins a baix de la vista. |
Maj+Re Pàg | Selecciona una pàgina amunt. |
Maj+Av Pàg | Selecciona una pàgina avall. |
Ctrl+Maj+Inici | Selecciona des del començament del document. |
Ctrl+Maj+Fi | Selecciona fins al final del document. |
Ctrl+Inici | Selecciona-ho tot. |
Ctrl+Maj+A | Desselecciona. |
Ctrl+Maj+B | Mode de selecció per blocs. |
Ctrl+C / Ctrl+Insert | Copia el text marcat al porta-retalls. |
Ctrl+D | Comentari. |
Ctrl+Maj+D | Descomenta. |
Ctrl+G | Ves a la línia... |
Ctrl+I | Selecciona el sagnat. |
Ctrl+Maj+I | Selecciona sense sagnar. |
Ctrl+J | Uneix les línies. |
Ctrl+P | |
Ctrl+R | |
Ctrl+S | Crida a l'ordre Desa. |
Ctrl+Maj+S | Desa com a. |
Ctrl+U | Majúscules. |
Ctrl+Maj+U | Minúscules. |
Ctrl+Alt+U | Posa la primera lletra en majúscula. |
Ctrl+V / Maj+Insert | Enganxa el contingut del porta-retalls. |
Ctrl+X / Maj+Insert | Suprimeix el text marcat i el copia al porta-retalls. |
Ctrl+Z | |
Ctrl+Maj+Z | |
Ctrl+- | Minva el tipus de lletra. |
Ctrl++Ctrl+= | Augmenta el tipus de lletra. |
Ctrl+Maj+- | Contrau els nodes de nivell superior. |
Ctrl+Maj++ | Expandeix els nodes de nivell superior. |
Ctrl+Espai | Invoca la compleció de codi. |
F5 | |
F6 | Mostra/Oculta la vora de la icona. |
F7 | Canvia a la línia d'ordres. |
F9 | Mostra/Oculta els marcadors plegables. |
F10 | Ajust dinàmic de les paraules. |
F11 | Mostra/Oculta els números de les línies. |
Ctrl+T | Transposa els caràcters. |
Ctrl+Maj+O | Comprova automàticament l'ortografia. |
Ctrl+Maj+V | Canvia al mode d'entrada següent. |
Ctrl+8 | Reutilitza la paraula de més amunt. |
Ctrl+9 | Reutilitza la paraula de més avall. |
Ctrl+Alt+# | Expandeix les abreviatures. |
Ctrl+Alt+Fletxa amunt | Afegeix un cursor sobre el cursor actual. |
Ctrl+Alt+Fletxa avall | Afegeix un cursor sota el cursor actual. |
Maj+Alt+I | Crea un cursor al final de cada línia de la selecció. |
Alt+J | Cerca l'ocurrència següent de la paraula sota el cursor i la selecciona. |
Ctrl+Alt+Maj+J | Cerca totes les ocurrències de la paraula sota el cursor i les selecciona. |

L'editor de la KatePart és l'àrea d'edició de la finestra de la KatePart. Aquest editor és compartit entre el Kate i el KWrite, i es pot utilitzar en el Konqueror per a mostrar fitxers de text des del vostre ordinador local o des de la xarxa.
L'editor es compon dels següents components:
- L'àrea d'edició
Aquest és el lloc a on s'ubica el text del vostre document.
- Les barres de desplaçament
Les barres de desplaçament indiquen la posició de la part visible del document de text i es poden utilitzar per a moure's a través del document. Arrossegar les barres de desplaçament no causarà el moviment del cursor d'inserció.
Les barres de desplaçament es mostren i oculten en ser requerit.
- La vora de la icona
La vora de la icona és una petita subfinestra al costat esquerre de l'editor, que mostra una petita icona propera a les línies marcades.
Podeu establir o eliminar un punt en una línia visible fent clic amb el botó del ratolí en la vora de la icona propera a aquesta línia.
La vora de la icona es pot mostrar/ocultar utilitzant l'element → del menú.
- La subfinestra dels números de les línies
La subfinestra dels números de les línies mostra els números de línia de totes les línies visibles en el document.
La subfinestra dels números de les línies es pot mostrar/ocultar utilitzant l'element → del menú.
- La subfinestra de plegat
La subfinestra de plegat us permet contraure o expandir els blocs plegables de línies. El càlcul de les regions plegables es realitza d'acord amb les regles en la definició de ressaltat de la sintaxi per al document.

Moure's pel text en la KatePart és similar a la resta d'editors gràfics. Podeu desplaçar el cursor utilitzant les tecles del cursor i les tecles Re Pàg, Av Pàg, Inici i Fi en combinació amb els modificadors Ctrl i Maj. La tecla Maj sempre s'utilitza per a generar una selecció, mentre que la tecla Ctrl té diferents efectes sobre tecles diferents:
Per a les tecles Fletxa amunt i Fletxa avall vol dir desplaçament i no moviment del cursor.
Per a les tecles Fletxa esquerra i Fletxa dreta vol dir deixar paraules en comptes de caràcters.
Per a les tecles Re Pàg i Av Pàg vol dir moure's a la vora visible de la vora en comptes de navegar.
Per a les tecles Inici i Fi vol dir moure's fins al començament o final del document en comptes de fins al començament i al final de la línia.
La KatePart també proveeix una manera d'anar ràpidament fins a la parella d'una clau o un parèntesi: situeu el cursor en un caràcter de parèntesi o clau, i premeu Ctrl+6 per a anar fins al parèntesi o clau amb què s'emparella.
A més podeu utilitzar els punts per a saltar ràpidament fins a posicions que heu definit.

Hi ha dues maneres bàsiques de seleccionar text en la KatePart: utilitzant el ratolí i utilitzant el teclat.
Per a seleccionar utilitzant el ratolí, manteniu premut el botó
del ratolí mentre arrossegueu el cursor del ratolí des d'on calgui començar la selecció, fins al marcador que desitgeu. El text s'anirà seleccionant a mesura que aneu arrossegant.Doble clic a sobre d'una paraula, seleccionarà aquesta paraula.
Triple clic sobre una línia, la seleccionarà tota.
Si es manté premuda la tecla Maj mentre es fa clic, se seleccionarà el text:
Si no hi ha res seleccionat, des de la posició del cursor fins a la posició del cursor del ratolí.
Si hi ha una selecció, des de i incloent aquesta selecció fins a la posició del cursor del ratolí.
Nota
Mentre se selecciona text arrossegant el ratolí, el text seleccionat es copiarà al porta-retalls i es podrà enganxar a l'editor fent clic amb el botó
del ratolí, o en qualsevol altra aplicació en què es vulgui enganxar el text.Per a seleccionar utilitzant el teclat, manteniu premuda la tecla Maj mentre empreu les tecles de navegació (les tecles de fletxa, Re Pàg, Av Pàg, Inici i Fi, possiblement en combinació amb Ctrl per a estendre el moviment del cursor de text).
Consulteu també la secció Navegar pel text en aquest capítol.
Per a copiar la selecció actual, utilitzeu l'element → del menú o la drecera de teclat (la predeterminada Ctrl+C).
Per a desseleccionar la selecció actual, utilitzeu l'element → del menú, la drecera de teclat (predeterminada Ctrl+Maj+A) o feu clic amb el botó del ratolí a l'editor.
Quan la selecció en bloc estigui activada, podreu realitzar «seleccions verticals» en el text, el qual vol dir que podeu seleccionar un nombre determinat de columnes en diverses línies a la vegada. Això és útil, per exemple, si treballeu amb línies separades per tabulacions.
La selecció en bloc es pot activar/desactivar en l'element → del menú. La drecera de teclat predeterminada és Ctrl+Maj+B.
Si l'opció mode sobreescriure està activada, en escriure o enganxar text a sobre d'una selecció, aquesta serà substituïda. Si no està activada, el text nou serà afegit a la posició del cursor de text.
El mode sobreescriure està activat de manera predeterminada.
Per a canviar la configuració d'aquesta opció, utilitzeu la pàgina Cursor i selecció del diàleg de configuració.
Si les seleccions persistents estan activades, escriure caràcters o moure el cursor no causarà que desaparegui la selecció. Això vol dir que podeu moure el cursor a fora de la selecció i escriure.
Les seleccions persistents estan desactivades de manera predeterminada.
Les seleccions persistents es poden activar a la pàgina Cursor i selecció del diàleg de configuració.
Avís
Si està activada, tant les seleccions persistents com el mode sobreescriure, escriure o enganxar text quan el cursor es troba a dins de la selecció causarà que aquesta sigui substituïda i desseleccionada.

Per a copiar text, seleccioneu-lo i utilitzeu l'element → del menú. De manera addicional, el fet de seleccionar text amb el ratolí causarà que aquest sigui copiat a la selecció X.
Per a enganxar el text que es troba en el porta-retalls, utilitzeu l'element → del menú.
De forma addicional, el text seleccionat amb el ratolí es pot enganxar fent clic amb el botó
del ratolí a la posició desitjada.Suggeriment
Si esteu utilitzant l'escriptori KDE, podeu recuperar el text que s'ha copiat des de qualsevol aplicació utilitzant la icona del Klipper, que es troba a la safata del sistema.

La KatePart té una barra de cerca incremental i una barra de cerca i substitució potent, la qual ofereix l'opció d'introduir una cadena de substitució amb algunes opcions extra.
Les barres ofereixen les següents opcions comunes:
- Cerca
Aquí és a on s'introdueix la cadena de cerca. La interpretació de la mateixa dependrà d'algunes de les opcions descrites tot seguit.
- Fes concordar les majúscules
Si s'activa, la cerca es limitarà a les entrades que coincideixin amb (majúscules o minúscules) cadascun dels caràcters en el patró de cerca.
Les poderoses barres de cerca i substitució ofereixen algunes opcions addicionals:
- Text net
Coincideix literalment amb qualsevol ocurrència de la cadena de cerca.
- Paraules completes
Si està marcada, la cerca tan sols coincidirà si hi ha un límit de paraula en ambdós extrems de la cadena coincident, no sent aquest límit un caràcter alfanumèric, sinó un altre caràcter visible o un fi de línia.
- Seqüències d'escapada
Si està marcada, serà activat l'element del menú a la part inferior del menú contextual dels quadres de text i us permetrà afegir seqüències d'escapament per al patró de cerca a partir d'una llista predefinida.
- Expressió regular
Si està marcada, la cadena de cerca s'interpretarà com una expressió regular. S'activarà l'element del menú, a la part inferior del menú contextual dels quadres de text i us permetrà afegir elements d'expressions regulars a la cadena de cerca a partir d'una llista predefinida.
Per a obtenir més informació referent a això, vegeu expressions regulars.
- Cerca només en la selecció
Si està marcada, la cerca i substitució només es durà a terme dins del text seleccionat.
- Cerca-ho tot
En fer clic en aquest botó es ressaltaran totes les coincidències en el document i se'n mostra el nombre en una petita finestra emergent.
Per a cercar text, obriu la barra de cerca incremental amb Ctrl+F o des de l'element → del menú.
Això obre la barra de cerca incremental a la part inferior de la finestra de l'editor. En el costat esquerre de la barra hi ha un botó amb una icona per a tancar la barra, seguit d'un petit quadre de text per a introduir el patró de cerca.
Quan comenceu a escriure els caràcters del patró de cerca, aquesta s'iniciarà immediatament. Si hi ha una coincidència en el text, aquest serà ressaltat i el color de fons del camp d'entrada canviarà a una llum verda. Si el patró de cerca no coincideix amb cap cadena en el text, això s'indicarà per un color de fons de llum vermella en el camp d'entrada i No s'ha trobat es mostrarà al costat dret de la barra.
Empreu el botó o
per a saltar a la següent o anterior coincidència en el document.
Les coincidències en el document seran ressaltades, fins i tot quan tanqueu la barra de cerca. Per a netejar el ressaltat, premeu la tecla Esc.
Podeu decidir si la cerca ha de ser amb majúscules i minúscules. Seleccionant es limitarà la cerca d'entrades amb el cas (majúscules i minúscules) de cadascun dels caràcters en el patró de cerca.
Feu clic sobre el botó al costat dret de la barra de cerca incremental per a canviar entre la cerca i substitució.
Repeteix l'última operació de cerca, si n'hi ha cap, sense cridar la barra de cerca incremental, utilitzeu → (F3) o → (Maj+F3).
Per a substituir text, llanceu potent la barra de cerca i substitució utilitzant l'ordre → o la drecera Ctrl+R.
A la part superior esquerra de la barra hi ha un botó amb una icona per a tancar la barra, seguit d'un petit quadre combinat per a introduir el patró de cerca. El quadre recordarà els patrons emprats recentment.
Podeu controlar el mode de cerca seleccionant les opcions Text net, Paraules completes, Seqüències d'escapada o Expressions regulars des de la llista desplegable.
Si s'ha marcat Seqüències d'escapada o Expressions regulars, l'element del menú, a la part inferior del menú contextual dels quadres de text i us permetrà afegir elements d'expressió regular al patró de cerca o substitució a partir d'una llista predefinida.
Empreu el botó o
per a saltar a la següent o anterior coincidència en el document.
Introduïu el text a substituir en el quadre de text Substitueix i feu clic al botó per a substituir només el text seleccionat o el botó per a substituir el text de cerca en tot el document.
Podeu modificar el comportament de cerca i substitueix seleccionant les diferents opcions a la part inferior de la barra. Seleccionant es trobaran les entrades que coincideixin amb (majúscules o minúscules) cadascun dels caràcters en el patró de cerca.
, només cercarà i substituirà dins de la selecció actual. El botó Cerca-ho tot ressaltarà totes les coincidències en el document i en mostrarà el nombre en una petita finestra emergent.
Feu clic al botó a la part dreta de la barra de cerca i substitueix per a veure la barra de cerca incremental.
Suggeriment
Si esteu utilitzant una expressió regular per a cercar el text a substituir, podreu emprar referències enrere per a tornar a utilitzar text en subpatrons entre parèntesis de l'expressió.
Per a obtenir més informació referent a això, vegeu expressions regulars.
Suggeriment
Podeu utilitzar les ordres find, replace i ifind (cerca incremental) des de la línia d'ordres.

La característica dels punts us permet marcar certes línies i poder tornar-hi d'una forma fàcil.
Podeu establir o eliminar un punt d'una línia de dues maneres:
Movent el cursor cap aquesta línia i activant l'ordre → (Ctrl+B).
Fent clic en la vora de les icones al costat de la línia.
Els punts estan disponibles en el menú . Els punts individuals estan disponibles com a elements del menú, etiquetats amb el número de línia del punt o els primers caràcters del text en la línia. Per a moure el cursor d'inserció cap al començament d'una línia marcada, obriu el menú i seleccioneu el punt.
Per a moure-us ràpidament entre els punts o per a anar cap al següent/anterior punt, utilitzeu les ordres → (Alt+Av Pàg) o → (Alt+Re Pàg).

Aquesta característica permet donar un format simple al text: el text serà tallat, de manera que cap línia excedeixi un cert nombre de caràcters, a menys que hi hagi una cadena més llarga que no contingui espais en blanc.
Per a activar/desactivar aquesta opció, marqueu/desmarqueu la casella de selecció a la pàgina Edició del diàleg de configuració.
Per a establir l'amplada màxima de la línia (màxim nombre de caràcters per línia), utilitzeu l'opció en la pàgina Edició del diàleg de configuració.
Si està activada, tindrà els següents efectes:
En escriure l'editor inserirà automàticament un salt de línia després de l'últim caràcter d'espai en una posició abans d'abastar l'amplada màxima de la línia.
Mentre es carrega un document, l'editor en processarà el text d'una manera similar, així cap línia superarà en longitud el màxim establert, sempre que contingui un espai en blanc que ho permeti.
Nota
En aquest moment no hi ha forma d'establir l'ajust de línia només per a alguns tipus de documents en concret o activar/desactivar aquesta característica en un punt del document. Aquest problema serà solucionat en futures versions de la KatePart.

L'editor KatePart suporta una varietat dels modes de sagnat automàtic, ha estat dissenyada per a diferents formats de text. Podeu seleccionar un dels modes disponibles usant l'element → del menú. El mòdul de sagnat automàtic també proveeix la funció → que tornarà a calcular el sagnat del text seleccionat o de la línia actual. D'aquesta manera podreu tornar a establir el sagnat sencer al vostre document seleccionant tot el text i activant aquesta acció.
Tots els modes de sagnat utilitzen la configuració de sagnat al document actiu.
Suggeriment
Podeu configurar l'ordenació de totes les variables de configuració, incloses les relatives a l'ús del sagnat utilitzant les Variables de document i els Tipus de fitxer.
Modes de sagnat automàtic disponibles
- Cap
Seleccionant aquest mode es desactiva per complet el sagnat automàtic.
- Normal
Aquest sagnat simplement manté un sagnat similar al de la línia anterior amb qualsevol contingut diferent d'un espai en blanc. Podeu combinar aquest amb les accions sagna i sense sagnar segons els vostres gustos.
- Estil C
Un sagnat per als llenguatges C i similars, com C++, C#, Java™, JavaScript i més. Aquest sagnat no funcionarà amb llenguatges per a la creació de scripts com Perl o PHP.
- Haskell
Un sagnat per al funcional llenguatge de programació Haskell.
- Lilypond
Un sagnat especial per al llenguatge de notació Lilypond, per a música.
- Lisp
Un sagnat especial per al llenguatge Lisp i els seus dialectes per a la creació de scripts.
- Python
Un sagnat especial per al llenguatge Python per a la creació de scripts.
- Estil XML
Un sagnat especial per als llenguatges com XML.

Els indicadors de modificació de línia de la KatePart permeten veure amb facilitat el que heu canviat recentment en un fitxer. De manera predeterminada, els canvis desats s'indiquen mitjançant una barra verda a l'esquerra d'un document, mentre que els canvis sense desar s'indiquen amb una barra taronja.

Els indicadors de modificació de línia en acció.
Podeu canviar els colors utilitzats des del plafó de configuració Tipus de lletra i colors, o podeu desactivar completament aquesta característica a la pestanya Vores del plafó de configuració Aparença.

El mapa en miniatura a la barra de desplaçament de la KatePart mostra una vista prèvia del document en lloc de la barra de desplaçament. La porció actualment visible del document està ressaltada.

El mapa en miniatura a la barra de desplaçament mostra una vista prèvia del codi font del Kate.
Podeu activar o desactivar temporalment el mapa en miniatura seleccionant → o permanentment a la secció Aparença de la configuració de la KatePart.

La implementació dels cursors múltiples es va introduir amb la versió 5.93 de la «katepart».
Per a crear-los a través del ratolí, useu Alt + botó del ratolí. El modificador és configurable, vegeu Configuració del modificador de multicursor
Per a crear-los a través del teclat, premeu Ctrl+Alt+Fletxa amunt per crear un cursor sobre el cursor primari i Ctrl+Alt+Fletxa avall per crear el cursor a sota. Aquestes dreceres també són configurables.
Per a crear cursors fora d'una selecció, primer seleccioneu un text i després premeu Maj+Alt+I. Això crearà un cursor al final de cada línia de la selecció.
Useu Alt+J per cercar l'ocurrència següent de la paraula sota el cursor i seleccionar/la + crear un cursor. Si voleu ometre la paraula actual sota el cursor, premeu Alt+K i es marcarà la paraula actualment seleccionada com a omesa. Quan torneu a prémer Alt+J la paraula actual es desseleccionarà i anirà a la paraula següent.
Useu Ctrl+Alt+Maj+J per cercar totes les ocurrències de la paraula sota el cursor i seleccionar-les amb un cursor al final de cada selecció. Podeu usar Alt+J per circular a trav;es de les paraules seleccionades i usar Alt+K per a desseleccionar qualsevol paraula com es menciona en el paràgraf anterior.
Una vegada hàgiu creat alguns cursors, podreu realitzar la majoria de les operacions d'edició sobre ells com ho faríeu en un cursor sol. Per exemple, teclejar una lletra l'escriurà per a cada cursor. De la mateixa manera podeu realitzar transformacions de text, p. ex., posar en majúscules totes les posicions o seleccions.
A vegades voldreu eliminar cursors. Per fer-ho, podeu fer Alt + botó del ratolí al cursor que voleu eliminar. Si només voleu eliminar els cursors en línies que estan buides, hi ha una acció preparada ho farà. Per invocar l'acció, obriu la barra d'ordres utilitzant Ctrl+Alt+I i cerqueu i premeu Retorn. També podeu configurar una drecera per a aquesta acció.

- → (Ctrl+N)
Comença amb un document nou en una finestra de l'editor nova i independent.
- → (Ctrl+O)
Mostra un diàleg estàndard del KDE Obre el fitxer. Utilitzeu la vista de fitxers per a seleccionar el que voleu obrir i feu clic a per a obrir-lo.
- →
Es tracta d'una drecera per a obrir els últims documents desats. Fent clic sobre aquest element s'obrirà una llista al costat del menú amb diversos fitxers desats recentment. Fent clic sobre un fitxer en concret fareu que s'obri en la KatePart -sempre que el fitxer encara resideixi en el mateix lloc-.
- → (Ctrl+S)
Desa el document actual. Si ja s'havia desat anteriorment aquest document sobreescriurà l'anterior sense preguntar a l'usuari. Si és la primera vegada que es desa apareixerà el diàleg (que es descriu tot seguit) desar com.
- → (Ctrl+Maj+S)
Permet que un document sigui desat amb un nom nou. Això es fa a través del diàleg de fitxers descrit anteriorment a la secció Obre d'aquest fitxer d'ajuda.
- →
Desa un document amb un nom de fitxer nou en una codificació diferent.
- →
Desa una còpia del document amb un nom de fitxer nou i segueix editant el document original.
- → (F5)
Torna a carregar el fitxer actiu des del disc. Aquesta ordre és útil si un altre programa o procés ha canviat el fitxer mentre el teníeu obert a la KatePart.
- → (Ctrl+P)
Obre un simple diàleg d'impressió que permet a l'usuari especificar què, a on i com imprimir.
- →
Desa el document obert com un fitxer HTML, el qual se li donarà format amb la configuració actual per al ressaltat de la sintaxi i l'esquema de color.
- → (Ctrl+W)
Aquesta ordre tanca el fitxer actiu. Si heu realitzat canvis que no heu desat, se us demanarà desar el fitxer abans que la KatePart el tanqui.
- → (Ctrl+Q)
Tancarà la finestra de l'editor, si teniu més d'una instància de la KatePart en execució, a través dels elements o del menú, aquestes instàncies no seran tancades.

- → (Ctrl+Z)
Desfà l'última ordre d'edició (escriure, copiar, tallar, etc.)
Nota
Es poden desfer diverses ordres d'edició de forma simultània, com escriure caràcters.
- → (Ctrl+Maj+Z)
Revertirà els canvis més recents (si n'hi ha) realitzats emprant Desfés.
- → (Ctrl+X)
Suprimeix la selecció actual i la col·loca al porta-retalls. El porta-retalls funciona de forma transparent i proveeix una manera de transferir les dades entre les aplicacions.
- → (Ctrl+C)
Copia el text seleccionat al porta-retalls de manera que es pugui enganxar on es vulgui. El porta-retalls funciona de manera transparent i proveeix una manera de transferir les dades entre les aplicacions.
- → (Ctrl+V)
Inserirà el primer element al porta-retalls a la posició del cursor. El porta-retalls funciona de manera transparent i proveeix una manera de transferir les dades entre les aplicacions.
Nota
Si l'opció Sobreescriure la selecció està activada, el text enganxat sobreescriurà la selecció, si n'hi ha.
- → (Ctrl+Maj+Insert)
Això enganxarà el contingut de la selecció del ratolí que s'ha triat prèviament. Marqueu algun text amb el punter del ratolí per a enganxar-lo en el fitxer obert utilitzant aquest element de menú.
- →
Això intercanviarà el text seleccionat amb el contingut en el porta-retalls.
- →
Aquest submenú mostra el començament de les porcions de text recentment copiades al porta-retalls. Seleccioneu un element d'aquest menú per a enganxar-lo al fitxer actualment obert.
- →
Copia la selecció com a HTML, amb format utilitzant la configuració actual per al ressaltat de la sintaxi i l'esquema de color.
- →
Canvia entre una visió normal i com el vi, el mode d'edició modal. El mode d'entrada com el vi suporta les ordres més utilitzades i els moviments del mode normal i visual del vim i té una barra d'estat opcional del mode vi. Aquesta barra d'estat mostra les ordres mentre s'estan introduint, la seva sortida i el mode actual. El comportament d'aquest mode es pot configurar a la pestanya Mode d'entrada del vi de la pàgina Edició del diàleg de configuració de la KatePart.
- → (Insert)
Canvia entre els modes Insereix/Sobreescriu. Quan el mode és INS, inseriu els caràcters on està el cursor. Quan el mode és SOB, els caràcters escrits substituiran als caràcters actuals, si el cursor es col·loca abans de qualsevol caràcter. La barra d'estat mostra l'estat actual del Mode sobreescriure, sigui INS o SOB.
- → (Ctrl+F)
Obre la barra de cerca incremental a la part inferior de la finestra de l'editor. Al costat esquerre de la barra hi ha un botó amb una icona per a tancar la barra, seguit d'un petit quadre de text per a introduir el patró de cerca.
Quan comenceu a escriure caràcters del patró de cerca, aquesta s'iniciarà immediatament. Si hi ha una coincidència en el text aquest serà ressaltat i el color de fons del camp d'entrada canviarà a una llum verda. Si el patró de cerca no coincideix amb cap cadena en el text, això s'indicarà amb un color de fons de llum vermella en el camp d'entrada.
Empreu els botons
o
per a saltar a la següent o anterior coincidència en el document.
Les coincidències en el document seran ressaltades, fins i tot quan tanqueu la barra de cerca. Per a netejar el ressaltat, premeu la tecla Esc.
Podeu decidir si la cerca ha de ser amb majúscules i minúscules. Seleccionant
es limitarà la cerca d'entrades amb (majúscules i minúscules) cadascun dels caràcters en el patró de cerca.
Feu clic al botó
a la part dreta de la barra de cerca incremental per a canviar entre les poderoses barres de cerca i de substitució.
- → → (F3)
Repeteix l'última operació de cerca, si n'hi ha cap, sense cridar la barra de cerca incremental, i cercant cap endavant pel document començant des de la posició del cursor.
- → → (Maj+F3)
Repeteix l'última operació de cerca, si n'hi ha cap, sense cridar la barra de cerca incremental, i cercant cap enrere pel document en comptes de cap endavant.
- → → (Ctrl+H)
Cerca la següent ocurrència del text seleccionat.
- → → (Ctrl+Maj+H)
Cerca l'ocurrència anterior del text seleccionat.
- → (Ctrl+R)
Obre la barra de cerca i substitueix. A la part inferior de la finestra de l'editor, en el costat esquerre de la barra hi ha un botó amb una icona per a tancar la barra, seguit d'un petit quadre de text per a introduir el patró de cerca.
Podeu controlar el mode de cerca seleccionant les opcions Text net, Paraules completes, Seqüències d'escapada o Expressió regular des de la llista desplegable.
Si s'ha marcat Seqüències d'escapada o Expressions regulars, l'element del menú, a la part inferior del menú contextual dels quadres de text i us permetrà afegir elements d'expressió regular al patró de cerca o substitució a partir d'una llista predefinida.
Empreu els botons
o
per a saltar a la següent o anterior coincidència en el document.
Introduïu el text a substituir en el quadre de text Substitueix i feu clic al botó per a substituir només el text seleccionat o el botó per a substituir el text de cerca en tot el document.
Podeu modificar el comportament de cerca i substitueix seleccionant les diferents opcions a la part inferior de la barra. Seleccionant
es trobaran les entrades que coincideixin amb (majúscules o minúscules) cadascun dels caràcters en el patró de cerca.
, només cercarà i substituirà dins de la selecció actual. El botó Cerca-ho tot ressaltarà totes les coincidències en el document i en mostrarà el nombre en una petita finestra emergent.
Feu clic al botó
a la part dreta de la barra de cerca i substitueix per a veure la barra de cerca incremental.
- → → (Ctrl+6)
Mou el cursor al parèntesi d'obertura o tancament associat.

- → (Ctrl+A)
Selecciona tot el document. Això pot resultar molt útil per a copiar tot el fitxer a una altra aplicació.
- → (Ctrl+Maj+A)
Desselecciona el text seleccionat a l'editor (si n'hi ha).
- → (Ctrl+Maj+B)
Canvia el mode de selecció. Quan el mode de selecció sigui BLOC, la barra d'estat contindrà [BLOC] i podreu fer seleccions verticals, p. ex., seleccionar des de la columna 5 a la 10 en les línies 9 a la 15.
- → (Ctrl+D)
Afegeix un espai al començament de la línia en la qual estigui el cursor de text o al començament del conjunt de qualsevol línia seleccionada.
- → (Ctrl+Maj+D)
Elimina un espai (si n'hi ha cap) del començament de la línia en la qual estigui situat el cursor de text o des del començament del conjunt de qualsevol línia seleccionada.
- → (Ctrl+J)
Uneix les línies seleccionades, o la línia actual i la línia anterior amb un espai en blanc com a separació. Eliminarà els espais en blanc inicials/finals unint les línies pels extrems afectats.
- → (Ctrl+Alt+U)
Posa en majúscula la primera lletra del text seleccionat o la paraula actual.
- → (Ctrl+U)
Canvia a majúscules el text seleccionat o la lletra després del cursor.
- → (Ctrl+Maj+U)
Canvia a minúscules el text seleccionat o la lletra després del cursor.
- →
Neteja el sagnat per a la selecció actual o per a la línia en la qual es trobi el cursor. Netejar el sagnat assegura que tot el text seleccionat segueixi el mode de sagnat que heu escollit.
- →
Causa una realineació de la línia actual o de les línies seleccionades utilitzant el mode de sagnat i la configuració del sagnat en el document.
- →
Aquesta ordre alinea les línies del bloc seleccionat o de tot el document a la columna indicada per una expressió regular que se us demanarà.
Si proporcioneu un patró buit, s'alinearà al primer caràcter no blanc de manera predeterminada.
Si el patró té una captura, se sagnarà en la coincidència capturada.
Exemples:
Amb «
-
» s'inseriran espais abans del primer «-» de cada línia per a alinear-les totes a la mateixa columna.Amb «
alignon :\\s+(.)
» s'inseriran espais abans del primer caràcter no blanc que hi hagi després de dos punts (:) per a alinear-les totes a la mateixa columna.- →
Aplica l'ajust de línia estàtic en tot el document. Això vol dir que s'iniciarà automàticament una nova línia de text quan la línia excedeixi de la longitud especificada per l'opció Ajusta les paraules a: a la pestanya Edició en el menú → .

- →
Crea una altra finestra que conté el document actual. Tots els canvis al document en una finestra es reflecteixen en l'altra finestra i viceversa.
- → (F7)
Mostra la línia d'ordres a la KatePart a la part inferior de la finestra. A la línia d'ordres, escriviu
help
per a obtenir ajuda ihelp list
per a obtenir una llista de les ordres. Per a més informació sobre la línia d'ordres, vegeu El component de la línia d'ordres de l'editor.- → (Ctrl++)
Augmenta la mida del tipus de lletra a visualitzar.
- → (Ctrl+-)
Minva la mida del tipus de lletra a visualitzar.
- → → (F10)
Canvia l'ajust dinàmic de les paraules a la vista actual. L'ajust dinàmic de les paraules fa que tot el text es mostri a la vista visible sense necessitat de desplaçament horitzontal, visualitzant una línia real en més línies sempre que sigui necessari.
- → →
Escull quan i com es mostraran els indicadors d'ajust dinàmic de paraules. Tan sols estarà disponible si l'opció Ajust dinàmic de les paraules està marcada.
- → →
Si aquesta opció està marcada, es dibuixarà una línia vertical a l'ajust de línia tal com s'ha definit a → en la pestanya Edició. Cal tenir present que la marca d'ajust de línia només es dibuixarà si utilitzeu un tipus de lletra amb mida fixa.
- → → (F6)
Aquest element és un commutador. Si està marcat farà visible una vora d'icona al costat esquerre de l'editor actiu, i viceversa. La vora per a les icones indica les posicions de les línies marcades a l'editor.
- → → (F11)
Aquest element és un commutador. Si està marcat crearà una subfinestra al costat esquerre de l'editor actiu mostrant els números de línia del document visible, i viceversa.
- → →
Si aquesta opció està marcada, la vista mostrarà els marcadors a la barra de desplaçament vertical. Les marques són l'equivalent als marcadors a la Vora de la icona.
- → →
Substitueix a la barra de desplaçament amb una visualització del document actual. Per a més informació sobre el mapa en miniatura a la barra de desplaçament, vegeu «El mapa en miniatura a la barra de desplaçament».
- →
Aquestes opcions pertanyen a Usar el plegat del codi:
- (F9)
Mostra o oculta la subfinestra de marques de plegat a la part esquerra de la vista.
Contrau la regió que conté el cursor.
Expandeix la regió que conté el cursor.
- (Ctrl+Maj+-)
Contrau totes les regions al nivell superior en el document. Feu clic al triangle situat a la dreta per a expandir totes les regions al nivell superior.
- (Ctrl+Maj++)
Expandeix totes les regions que hi ha al document.
Mostra/oculta el quadre contenidor al voltant dels espais no imprimibles.

- → (Ctrl+G)
Obre la barra de línia «ves a» a la part inferior de la finestra que s'utilitza per a tenir el salt del cursor a una línia en particular (especificada pel número) en el document. El número de la línia es pot introduir directament en el quadre de text o gràficament fent clic sobre les fletxes amunt i avall situades al costat del quadre de text. La fletxa cap amunt incrementarà el número de la línia i la fletxa cap avall la disminuirà. Tanqueu la barra amb un clic al botó amb una icona al costat esquerre de la barra.
- → (Ctrl+E)
Aquesta acció salta a la línia d'edició anterior en la configuració multicursor.
- → (Ctrl+Maj+E)
Aquesta acció salta a la línia d'edició següent en la configuració multicursor.
- →
Les línies que s'han canviat des que es va obrir el fitxer, s'anomenen línies modificades. Aquesta acció saltarà a la línia modificada anterior.
- →
Les línies que s'han canviat des que es va obrir el fitxer, s'anomenen línies modificades. Aquesta acció saltarà a la línia modificada següent.
- → (Ctrl+Maj+6)
Selecciona el text entre els parèntesis d'obertura i de tancament associats.
- → (Ctrl+Maj+6)
A sota de les entrades aquí descrites, hi haurà disponible una entrada per a cada punt en el document actiu. El text estarà format per les primeres paraules de la línia marcada. Escolliu un element per a moure el cursor cap al començament de la línia. L'editor es desplaçarà fins que la línia sigui visible.
- → → (Ctrl+B)
Defineix o elimina un punt a la línia actual del document actiu (si hi és, s'elimina, si no hi és el defineix).
- → →
Eliminarà tots els punts del document així com de la llista de punts situada a la part inferior d'aquest element de menú.
- → → (Alt+Re Pàg)
Desplaçarà el cursor al començament de la línia anterior amb un punt. El text de l'element del menú inclourà el número de la línia i la primera part del text d'aquesta. Aquest element només estarà disponible quan hi hagi un punt en una línia per sobre del cursor.
- → → (Alt+Av Pàg)
Desplaçarà el cursor al començament de la següent línia amb un punt. El text de l'element del menú inclourà el número de la línia i la primera part del text d'aquesta. Aquest element només estarà disponible quan hi hagi un punt en una línia per sota del cursor.

- →
Estableix el document actual al mode de només lectura. Això evita que es pugui afegir text o canvis en el format del document.
- →
Escolliu l'esquema de tipus de fitxer que preferiu per al document actiu. Aquest sobreescriurà el mode de tipus de fitxer establert globalment a → a la pestanya Tipus de fitxer només per al document actual.
- →
Escolliu l'esquema de ressaltat que preferiu per al document actiu. Això sobreescriurà el mode de ressaltat establert globalment a → només per al document actual.
- →
Escolliu l'estil de sagnat que voleu per al document actiu. Això sobreescriurà el mode de sagnat establert globalment a → només per al document actual.
- →
Podeu sobreescriure la codificació establerta de manera predeterminada a → a la pàgina Obre/Desa per a establir una codificació diferent per al document actual. La codificació assignada aquí només serà vàlida per al document actual.
- →
Escolliu el mode de final de línia preferit per al document actiu. Això sobreescriurà el mode de final de línia configurat globalment a → només per al document actual.
- →
Seleccionant aquesta acció de forma explícita, podeu afegir una marca d'ordre de byte per als documents codificats amb Unicode. La marca d'ordre de byte (BOM) és un caràcter Unicode utilitzat per a indicar l'ordre dels bytes en un fitxer de text o un flux, per a obtenir més informació, vegeu La marca d'ordre de byte.
- →
Aquest submenú conté una llista de totes les accions dels scripts. La llista es pot modificar per a escriure scripts propis. D'aquesta manera, la KatePart es pot estendre amb les eines definides per l'usuari.
- → →
- → →
- → → →
Ordena el text seleccionat o la paraula actual en ordre ascendent.
- → → → (Ctrl+Maj+Fletxa avall)
Mou cap avall les línies seleccionades.
- → → → (Ctrl+Maj+Fletxa amunt)
Mou cap amunt les línies seleccionades.
- → → → (Ctrl+Alt+Fletxa avall)
Duplica les línies seleccionades cap avall.
- → → → (Ctrl+Alt+Fletxa amunt)
Duplica les línies seleccionades cap amunt.
- → → →
Codifica el text seleccionat de manera que pugui ser utilitzat com a part d'una cadena de consulta en un URL, substituirà la selecció amb el text codificat.
- → → →
Si se selecciona una part de la cadena de consulta d'un URL, es descodificarà i substituirà la selecció amb el text original en text pla.
- → →
- → → →
Converteix el text seleccionat a un parell d'etiquetes HTML o XML d'obertura i tancament. Per exemple, si se selecciona
div
, aquest element se substituirà amb<div></div>
.- → → →
Embolcalla el text seleccionat amb l'etiqueta proporcionada a la línia d'ordres.
- → → →
Si el cursor es troba dins d'una etiqueta d'obertura HTML/XML, aquesta opció mourà el cursor fins a l'etiqueta de tancament. Si el cursor es troba dins de l'etiqueta de tancament, en el seu lloc passarà a l'etiqueta d'obertura.
- → → →
Quan el cursor es troba dins d'un parell d'etiquetes HTML/XML, aquesta opció canviarà la selecció per a incloure el contingut d'aquestes etiquetes, sense seleccionar les etiquetes en si.
- → → →
Quan el cursor es troba dins d'un parell d'etiquetes HTML/XML, aquesta opció canviarà la selecció per a incloure el contingut d'aquestes etiquetes, incloent-hi les etiquetes en si.
- → → →
Si la part seleccionada no és un comentari, aquesta opció inclourà la porció en els comentaris HTML/XML (p. ex.,
<!-- text seleccionat -->
). Si la part seleccionada és un comentari, en el seu lloc s'eliminaran les etiquetes de comentari.- → → →
Si el cursor es troba actualment dins d'una etiqueta HTML/XML, aquesta opció eliminarà completament l'etiqueta.
- → → →
Aquest element restarà un al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona
5
, esdevindrà4
.- → → →
Aquest element restarà deu al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona
15
, esdevindrà5
.- → → →
Aquest element restarà 0,1 al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona
4,5
, esdevindrà4,4
.- → → →
Aquest element sumarà un al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona
5
, esdevindrà6
.- → → →
Aquest element sumarà deu al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona
5
, esdevindrà15
.- → → →
Aquest element sumarà 0,1 al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona
4,5
, esdevindrà4,6
.
- → (Ctrl+Espai)
Invoca manualment la compleció d'ordres, utilitzant normalment una drecera limitada a aquesta acció.
- →
(Ctrl+9) i (Ctrl+8) completen el text escrit actualment mitjançant la cerca de paraules similars cap enrere o cap endavant des de la posició actual del cursor. fa aparèixer un quadre de compleció amb les entrades coincidents.
- → → (Ctrl+Maj+O)
Quan està activada, el text mal escrit és subratllat en el document sobre la marxa.
- → →
Inicia el programa de correcció ortogràfica -un programa dissenyat per a ajudar a l'usuari a corregir qualsevol error ortogràfic-. Fent clic en aquesta entrada s'iniciarà el corrector i apareixerà un diàleg a través del qual podreu controlar el procés. Hi ha quatre opcions alineades verticalment en el centre del diàleg amb les seves corresponents etiquetes a l'esquerra. Començant per dalt són:
- Paraula desconeguda:
Aquí el corrector ortogràfic indicarà la paraula a considerar. Això succeeix quan el corrector troba una paraula que no troba en el seu diccionari -un fitxer contenint una llista de paraules correctes contra què es compara cada paraula en l'editor-.
- Substitueix per:
Si el corrector troba alguna paraula similar en el seu diccionari aquesta serà la primera a llistar-se. L'usuari pot acceptar el consell, escriure la seva pròpia correcció, o escollir un consell diferent des del quadre de text següent.
- Idioma:
Si heu instal·lat múltiples diccionaris, aquí podreu seleccionar quin diccionari/idioma haurà d'usar-se.
Sobre la part dreta del diàleg es troben sis botons que permeten a l'usuari controlar el procés de correcció ortogràfica. Aquests són:
Prémer aquest botó afegirà la Paraula desconeguda: al diccionari del corrector. Això voldrà dir que en el futur el corrector considerarà sempre aquesta paraula com a correcta.
- Suggereix
El corrector llistarà aquí una sèrie de possibles substitucions per a la paraula que s'estigui considerant. Fer clic sobre una farà que aquesta paraula s'introdueixi en el quadre Substitueix per:.
Aquest botó substituirà la paraula que s'estigui considerant en el document per la paraula en el quadre Substitueix per:.
Aquest botó causarà que el corrector no només substitueixi la Paraula desconeguda: actual, sinó també que se substitueixi automàticament qualsevol altra aparició de la mateixa en el document.
Activar aquest botó farà que el corrector continuï sense realitzar cap canvi.
Aquest botó indica al corrector que no faci res amb la Paraula desconeguda: actual i que ignori qualsevol altra aparició de la mateixa en la resta del document.
Nota
Tan sols s'aplicarà a la correcció ortogràfica que s'estigui realitzant. Si s'executa altra vegada el corrector s'aturarà en la mateixa paraula.
Hi ha tres botons més localitzats horitzontalment al llarg de la part inferior del diàleg de la correcció ortogràfica. Aquests són:
Invoca al sistema d'ajuda del KDE iniciant-lo a les pàgines d'ajuda per a aquest diàleg.
Aquest botó finalitza el procés de correcció ortogràfica, i torna al document.
Aquest botó cancel·la el procés de correcció ortogràfica, anul·lant totes les modificacions, i tornant al vostre document.
- → →
Això inicia el programa de correcció ortogràfica però començant en la posició actual del cursor en comptes des de l'inici del document.
- → →
Realitza la correcció ortogràfica en la selecció actual.
- → →
Mostra una llista desplegable amb tots els diccionaris disponibles per a revisar l'ortografia a la part inferior de la finestra de l'editor. Això permet un canvi fàcil del diccionari de correcció ortogràfica, p. ex., per a la correcció ortogràfica automàtica de text en diferents idiomes.

- →
Aquest menú llista els esquemes de color disponibles. Aquí el podeu canviar per a la vista actual. Per a canviar l'esquema predeterminat necessitareu utilitzar la pàgina Tipus de lletra i colors del diàleg de configuració.
La KatePart té la configuració comuna al KDE i els elements dels menús i . Per a obtenir més informació, vegeu les seccions sobre El menú Arranjament i El menú Ajuda en els Fonaments del KDE.

Les ordres i , disponibles des del menú us permeten afegir o eliminar marques de comentari per a la selecció, o de la línia actual si no hi ha cap selecció. El format dels comentaris dependrà del format del text que esteu editant.
Les regles que determinen com hauran de ser els comentaris s'estableixen en les definicions de sintaxi, de manera que si no s'utilitza el ressaltat de la sintaxi, no serà possible fer això.
Alguns formats defineixen marques de comentaris d'una sola línia, d'altres de múltiples línies i d'altres utilitzen ambdues possibilitats. Si no hi ha disponibles les marques de comentaris de múltiples línies, no serà possible comentar una selecció en què l'última línia d'aquesta no estigui inclosa completament.
Si hi ha disponible una marca de comentari d'una sola línia, és preferible comentar les línies individualment, atès que així s'eviten problemes de comentaris imbricats.
En eliminar les marques de comentari, s'haurà de seleccionar el text sense comentar. En eliminar les marques de comentari multilínia d'una selecció, s'ignorarà qualsevol espai en blanc que quedi fora de les marques de comentari.
Per a posar marques de comentari, utilitzeu l'element → del menú o la drecera de teclat corresponent, de manera predeterminada és Ctrl+D.
Per a eliminar marques de comentari, utilitzeu l'element → del menú o la drecera de teclat corresponent, de manera predeterminada és Ctrl+Maj+D.

El component editor de la KatePart té una línia d'ordres interna, permetent-vos dur a terme diverses accions des d'una IGU mínima. La línia d'ordres és una entrada de text a la part inferior de l'àrea d'edició, i per a veure-la només haureu de seleccionar → o utilitzar la drecera (de manera predeterminada és F7). L'editor proveeix un joc d'ordres com les que es documenten a continuació, així com aquelles altres que es puguin proveir a partir dels connectors.
Per a executar una ordre, escriviu-la i després premeu la tecla Retorn. La línia d'ordres indicarà què ha succeït mostrant un possible missatge. Si entreu a la línia d'ordres i premeu F7 aquest missatge s'ocultarà automàticament després d'uns pocs segons. Per a esborrar el missatge i introduir una ordre nova, premeu F7 altra vegada.
La línia d'ordres té un sistema d'ajuda inclòs, escriviu l'ordre help per a iniciar-la. Per a veure una llista de totes les ordres disponibles escriviu help list. Per a veure l'ajuda específica d'una ordre, escriviu help ordre
.
La línia d'ordres té integrat un historial, de manera que podreu tornar a utilitzar les ordres ja teclejades. Per a navegar a través de l'historial, utilitzeu les tecles Fletxa amunt i Fletxa avall. Quan es mostrin les ordres de l'historial, restarà seleccionada la part de l'argument, permetent-vos tornar a escriure-les amb facilitat.
Tipus d'arguments
- BOOLEÀ
Aquest s'utilitza amb ordres que activen o desactiven coses. Els valors acceptats són:
on
(activat),off
(desactivat),true
(cert),false
(fals),1
(activat) o0
(desactivat).- ENTER
Un nombre enter.
- CADENA
Una cadena, entre cometes simples (') o cometes dobles (") si conté espais.
Aquestes ordres són les proporcionades pel component editor, i permeten configurar només la vista i el document actiu. Això és especialment pràctic si voleu utilitzar una configuració diferent de la predeterminada, per exemple per al sagnat.
set-tab-width {ENTER amplada}
Estableix l'amplada de la pestanya al número
amplada
.set-indent-width {ENTER amplada}
Estableix l'amplada del sagnat al número
amplada
. Només s'utilitza si esteu sagnant amb espais.set-word-wrap-column {ENTER amplada}
Estableix l'amplada per a l'ajust de línia al número
amplada
. Només s'utilitza si teniu l'ajust de línia automàtic.set-icon-border {BOOLEÀ enable}
Estableix la visibilitat de la vora de les icones.
set-folding-markers {BOOLEÀ enable}
Estableix la visibilitat de la subfinestra de les marques de plegat.
set-line-numbers {BOOLEÀ enable}
Estableix la visibilitat de la subfinestra dels números de línia.
set-replace-tabs {BOOLEÀ enable}
Si està activat, se substitueixen els espais de tabulació per espais normals mentre aneu escrivint.
set-remove-trailing-space {BOOLEÀ enable}
Si està activat, els espais en blanc finals seran eliminats en el moment en què el cursor surti d'una línia.
set-show-tabs {BOOLEÀ enable}
Si està activat, els caràcters de tabulació i espais en blanc finals es veuran com un punt petit.
set-show-indent {BOOLEÀ enable}
Si està activat, el sagnat es veurà com una línia puntejada vertical.
set-indent-spaces {BOOLEÀ enable}
Si està activat, l'editor farà un sagnat amb
indent-width
espais per a cada nivell de sagnat, en comptes d'un caràcter de tabulació.set-mixed-indent {BOOLEÀ enable}
Si està activat, la KatePart utilitzarà una barreja de tabulacions i espais per al sagnat. Cada nivell de sagnat serà d'amplada
indent-width
, i els diferents nivells de sagnat s'optimitzaran utilitzant el màxim de caràcters de tabulació com sigui possible.Quan s'executa, aquesta ordre activa el sagnat amb espais, i si no s'especifica l'amplada se li assignarà un valor igual que la meitat de
tab-width
per al document en temps d'execució.set-word-wrap {BOOLEÀ enable}
Activa l'ajust dinàmic de la línia d'acord amb el valor
enable
.set-replace-tabs-save {BOOLEÀ enable}
Quan està activat, les tabulacions seran substituïdes amb espais en blanc en desar el document.
set-remove-trailing-space-save {BOOLEÀ enable}
Quan està activat, els espais finals seran eliminats de cada línia en desar el document.
set-indent-mode {CADENA nom}
Estableix el mode de sagnat automàtic a
nom
. Sinom
és desconegut, el mode seleccionat serà «none». Els modes vàlids són «none», «normal», «cstyle», «haskell», «lilypond», «lisp», «python», «ruby» i «xml».set-auto-ident {BOOLEÀ script}
Activa o desactiva el sagnat automàtic.
set-highlight {CADENA ressaltat}
Estableix el sistema de ressaltat de la sintaxi per al document. L'argument haurà de ser un nom de ressaltat vàlid, com aquells que es poden veure en el menú → . Aquesta ordre proveeix una llista de compleció automàtica per als seus arguments.
reload-scripts
Torna a carregar tots els scripts en JavaScript emprats pel Kate, inclosos els scripts de sagnat i de línia d'ordres.
set-mode {CADENA mode}
Tria l'esquema del tipus de fitxer per al document actual.
nn[oremap] {CADENA original} {CADENA mapped}
Mapa de la seqüència de tecles
original
amapped
.
Aquestes ordres modifiquen el document actual.
indent
Sagna les línies seleccionades o la línia actual.
unindent
Treu el sagnat de les línies seleccionades o la línia actual.
cleanindent
Treu el sagnat de les línies seleccionades o la línia actual d'acord amb la configuració de sagnat que teniu establerts al document.
comment
Insereix marques de comentari fent que la selecció, les línies seleccionades o la línia actual siguin un comentari d'acord amb el format de text que s'hagi definit al ressaltat de la sintaxi per al document.
uncomment
Elimina les marques de comentari de la selecció, de les línies seleccionades o la línia actual, d'acord amb el format del text tal com és definit per la definició de ressaltat de la sintaxi per al document.
kill-line
Elimina la línia actual.
replace {CADENA patró} {CADENA substitució}
Substitueix el text en què coincideixi el
patró
amb el valor desubstitució
. Si voleu incloure espais en blanc en elpatró
, haureu de posar entre cometes tant elpatró
com lasubstitució
amb cometes simples o dobles. Si els arguments no es troben entre cometes, s'utilitzarà la primera paraula com apatró
i la resta com asubstitució
. Si lasubstitució
està buida, cada ocurrència delpatró
serà eliminada.Podeu establir etiquetes per a configurar la cerca afegint dos punts, seguits d'una o més lletres cadascuna de les quals representa una configuració, quedant de la forma
replace:opcions patró substitució
. Les opcions disponibles són:b
Cerca enrere.
c
Cerca des de la posició del cursor.
e
Cerca només en el text seleccionat.
r
Cerca utilitzant una expressió regular. Si està establerta, podeu utilitzar
\N
a on N serà un número per a representar captures en la cadena de substitució.s
Cerca distingint entre majúscules i minúscules.
p
Demana permís per a substituir la següent ocurrència.
w
Només coincidiran paraules senceres.
date {CADENA format}
Insereix una cadena de data/hora definida d'acord amb el
format
, o si aquest no s'especifica s'utilitzarà el format «aaaa-MM-dd hh:mm:ss». La interpretació delformat
serà la següent:d
El dia com a número sense zeros a l'esquerra (1-31). dd
El dia com a número amb dos dígits (01-31). ddd
L'abreujament del nom del dia segons la localització (p. ex., «Dl»..«Dg»). dddd
El nom llarg del dia segons la localització (p. ex., «Dilluns»..«Diumenge»). M
El mes com a número sense zeros a l'esquerra (1-31). MM
El mes com a número amb dos dígits (01-31). MMMM
El nom llarg del mes segons la localització (p. ex., «Gener»..«Desembre»). MMM
El nom abreujat del mes segons la localització (p. ex., «Gen»..«Dec»). yy
L'any amb un número de dos dígits (00-99). yyyy
L'any amb un número de quatre dígits (1752-8000). h
L'hora sense zeros a l'esquerra (0..23 o 1..12 si es mostra AM/PM). hh
L'hora amb dos dígits (00..23 o 01..12 si es mostra AM/PM). m
Els minuts sense zeros a l'esquerra (0..59). mm
Els minuts amb dos dígits (00..59). s
Els segons sense zeros a l'esquerra (0..59). ss
Els segons amb dos dígits (00..59). z
Els mil·lisegons sense zeros a l'esquerra (0..999). zzz
Els mil·lisegons amb tres dígits (000..999). AP
S'usa per a mostrar AM/PM. AP serà substituït per «AM» o «PM». ap
S'usa per a mostrar am/pm. ap serà substituït per «am» o «pm». char {CADENA identificador}
Aquesta ordre permet inserir caràcters literals pel seu identificador numèric, en format decimal, octal o hexadecimal. Per a utilitzar-la llanceu el diàleg Ordre d'edició i escriviu
char:[número]
en el quadre d'entrada, després premeu .- s///[ig] %s///[ig]
Aquesta ordre realitzarà una operació de cerca/substitució similar a les de «sed» sobre la línia actual o en tot el fitxer (%s///).
Abreujat, se cerca en el text alguna cadena que coincideixi amb el patró de cerca, l'expressió regular entre la primera i la segona barra, i quan es troba una coincidència, la part coincident del text és substituïda per l'expressió continguda entre les barres segona i última. Els parèntesis en el patró de cerca creen referències enrere, és a dir, que l'ordre recorda quina part de la cadena es correspon amb els parèntesis; aquestes cadenes es poden tornar a utilitzar en el patró de substitució, referint-se a elles com a
\1
per al primer conjunt de parèntesis,\2
per al segon i així successivament.Per a fer una cerca literal de
(
o)
, haureu d'escapar el caràcter emprant un altre caràcter de barra inversa:\(\)
Si poseu una
i
al final de l'expressió, les coincidències distingiran majúscules i minúscules. Si poseu unag
al final, se substituiran totes les ocurrències del patró, en qualsevol altre cas només se substituirà la primera ocurrència.Exemple 5.2. Substitució de text en la línia actual
El vostre bon amic l'ordinador s'ha aturat, dient que la classe
myClass
mencionada en la línia 3902 del fitxer font no està definida.«Llamps i trons!» Pensareu. Per descomptat és
MyClass
. Anireu fins a la línia 3902 i en comptes d'intentar cercar la paraula en el text, obrireu el diàleg Ordre d'edició, introduireus/myclass/MyClass/i
, premereu el botó , desareu el fitxer i tornareu a compilar aquesta vegada sense l'error.Exemple 5.3. Substitució de text en tot el fitxer
Imagineu que teniu un fitxer, en el que mencioneu a «Miss Jensen» diverses vegades, quan resulta que algú ve i us diu que s'acaba de casar amb «Mr Jones». Per descomptat, voldreu substituir cada ocurrència de «Miss Jensen» per «Ms Jones».
Entreu a la línia d'ordres, escriviu l'ordre
%s/Miss Jensen/Ms Jones/
, una vegada premeu Retorn ja estarà fet.Exemple 5.4. Un exemple més avançat
Aquest exemple fa ús de referències enrere així com d'una classe de caràcter (si no sabeu què és això, si us plau, consulteu la documentació mencionada a sota).
Suposeu que teniu la següent línia:
void MyClass::DoStringOps( String &foo, String &bar, String *p, int &a, int &b )
Però us adoneu que aquest codi no està bé i decidiu que voleu utilitzar la paraula clau
const
per a tots els arguments «adreça de», que es caracteritzen per tenir un operador & al davant del nom de l'argument. També voldreu simplificar l'espai en blanc, de manera que només n'hi hagi un entre cada paraula.Obriu el diàleg Ordre d'edició i introduïu:
s/\s+(\w+)\s+(&)/ const \1 \2/g
, i després premeu el botó . Lag
al final de l'expressió fa que l'expressió regular recompili cada coincidència per a desar les referències enrere.Eixida:
void MyClass::DoStringOps( const String &foo, const String &bar, String *p, const int &a, const int &b )
Missió completada! Ara, què ha passat? Vaja, hem cercat algun espai en blanc (
\s+
) seguit d'un o més caràcters alfabètics (\w+
) seguits d'algun espai en blanc (\s+
) seguit del símbol «&», i en el procés hem desat el bloc alfabètic i el caràcter «&» per a tornar a emprar-los en l'operació de substitució. Aleshores hem substituït la part coincident de la nostra línia per un espai en blanc seguit de «const» seguit d'un espai en blanc seguit del nostre bloc alfabètic (\1
) seguit d'un espai en blanc seguit del nostre caràcter «&» emmagatzemat (\2
)En alguns casos el bloc alfabètic era «String», en d'altres «int», de manera que emprant la classe de caràcter
\w
i el quantificador+
ens ha proveït d'un valuós actiu.sort
Ordena el text seleccionat o tot el document.
natsort
Ordena el text seleccionat o tot el document de forma natural.
Exemple 5.5. sort vs. natsort
sort(a10, a1, a2)
resulta ena1, a10, a2
natsort(a10, a1, a2)
resulta ena1, a2, a10
moveLinesDown
Mou cap avall les línies seleccionades.
moveLinesUp
Mou cap amunt les línies seleccionades.
uniq
Elimina les línies duplicades del text seleccionat o de tot el document.
rtrim
Elimina els espais finals del text seleccionat o de tot el document.
ltrim
Elimina els espais al començament del text seleccionat o de tot el document.
join [separador CADENA]
Uneix les línies seleccionades o tot el document. De manera opcional pren un paràmetre definint un separador, per exemple:
join ', '
rmblank
Elimina tots els espais en blanc del text seleccionat o de tot el document.
alignon
Aquesta ordre alinea les línies del bloc seleccionat o de tot el document a la columna indicada per una expressió regular proporcionada com a argument.
Si proporcioneu un patró buit, s'alinearà al primer caràcter no blanc de manera predeterminada.
Si el patró té una captura, se sagnarà en la coincidència capturada.
Exemples:
alignon -
inserirà espais abans del primer «-» de cada línia per a alinear-les totes a la mateixa columna.alignon :\\s+(.)
inserirà espais abans del primer caràcter no blanc que hi hagi després de dos punts (:) per a alinear-les totes a la mateixa columna.unwrap
Ajusta les línies del text seleccionat o de tot el document.
each {CADENA script}
Dona una funció de JavaScript com un argument, aquesta crida a la llista de línies seleccionades i les substitueix pel valor retornat per aquesta crida.
Exemple 5.6. Unir les línies seleccionades
each 'function(lines){return lines.join(", ")}'
O, més curt:
each 'lines.join(", ")'
filter {CADENA script}
Dona una funció de JavaScript com un argument, aquesta crida a la llista de línies seleccionades i elimina les que el valor retornat és «false».
Exemple 5.7. Elimina les línies buides
filter 'function(1){return 1.length > 0;}'
O, més curt:
filter 'line.length > 0'
map {CADENA script}
Dona una funció de JavaScript com un argument, aquesta crida a la llista de línies seleccionades i substitueix la línia amb el valor de la crida.
Exemple 5.8. Elimina les línies buides
map 'function(line){return line.replace(/^s+/,"");}'
O, més curt:
map 'line.replace(/^s+/,"")'
duplicateLinesUp
Duplica les línies seleccionades per sobre de la selecció actual.
duplicateLinesDown
Duplica les línies seleccionades per sota de la selecció actual.
goto {ENTER línia}
Aquesta ordre va a la línia especificada.
grep {CADENA patró}
Cercar al document per al
patró
d'expressió regular. Per a més informació, vegeu Apèndix A, Expressions regulars.find {CADENA patró}
Aquesta ordre navega fins a la primera ocurrència del
patró
d'acord amb la configuració. Les següents ocurrències es poden trobar utilitzant → (la drecera predeterminada és F3).L'ordre «find» pot configurar-se afegint dos punts seguits per una o més opcions, el format serà
find:opcions patró
. Estan suportades les següents opcions:b
Cerca enrere.
c
Cerca des de la posició del cursor.
e
Cerca només en el text seleccionat.
r
Cerca utilitzant una expressió regular. Si està establerta, podeu utilitzar
\N
a on N serà un número per a representar captures en la cadena de substitució.s
Cerca distingint entre majúscules i minúscules.
w
Només coincidiran paraules senceres.
ifind {CADENA patró}
Aquesta ordre proveeix cerca «quan-escriviu». Podeu configurar-ne el comportament o la cerca afegint dos punts seguits per a una o més opcions, de forma similar a:
ifind:patró d'opcions
. Les opcions permeses són:b
Cerca enrere.
r
Cerca mitjançant expressions regulars.
s
Cerca distingint entre majúscules i minúscules.
c
Cerca des de la posició del cursor.
w
Desa el document actual.
wa
Desa tots els documents oberts.
q
Tanca el document actual.
qa
Tanca tots els documents oberts.
wq
Tanca i desa el document obert.
wqa
Tanca i desa tots els documents oberts.
x
Desa el document actual només si ha canviat i després el tanca.
x
Desa tots els documents oberts només si han canviat i després els tanca.
bp
Va al document anterior en la llista de documents.
bn
Va al document següent en la llista de documents.
new
Obre un document nou en una vista dividida horitzontal.
vnew
Obre un document nou en una vista dividida vertical.
e
Torna a carregar el document actual si ha canviat al disc.
enew
Edita un document nou.
print
Obre el diàleg d'impressió per a imprimir el document actual.

El plegat del codi permet ocultar parts d'un document en l'editor, facilitant la visió de documents grans. A la KatePart, les regions plegables es calculen utilitzant regles definides en les definicions de ressaltat de la sintaxi, i per tant només està disponible en alguns formats (típicament codi font de programes, com ara el de marques XML i similars). La majoria de les definicions de ressaltat suporten plegat del codi i també permeten definir manualment regions plegables, generalment utilitzant les paraules clau BEGIN
i END
.
Per a utilitzar la característica de plegat del codi, activeu els marcadors plegables utilitzant l'element → del menú si no estan visibles. La subfinestra dels marcadors plegables a la part esquerra de la pantalla mostra una vista gràfica de les regions plegables, amb els símbols de triangle per a indicar la possible operació sobre una certa regió: Un triangle cap avall vol dir que la regió està desplegada, fent clic sobre seu es plegarà i es mostrarà un triangle apuntant cap a la dreta.
Es proveeixen tres ordres per a manipular l'estat de les regions plegables, vegeu la documentació del menú.
Les línies de plegat es recorden quan es tanca un fitxer, de manera que quan el torneu a obrir els nodes plegats encara ho estaran. Això també s'aplica a les operacions de tornar a carregar.
Si no voleu utilitzar la característica de plegat del codi, podeu desactivar l'opció Mostra els marcadors plegables (si estan disponibles) a la pàgina Aparença de la configuració de l'editor.

Igual que qualsevol editor de text avançat, la KatePart ofereix una varietat de maneres d'estendre la seva funcionalitat. Podeu escriure scripts senzills per a afegir funcionalitat amb JavaScript. Finalment, un cop esteneu la KatePart, us donarem la benvinguda per unir-vos amb nosaltres i compartir les vostres millores amb el món!

El ressaltat de la sintaxi és el que fa que l'editor mostri automàticament text en diferents estils/colors, depenent de la funció de la cadena en relació amb la finalitat del fitxer. En el codi font d'un programa, per exemple, les sentències de control es poden presentar en negreta, mentre que els tipus de dades i els comentaris poden tenir diferents colors que la resta del text. Això millora considerablement la llegibilitat del text, i ajuda a l'autor a ser més eficient i productiu.

Una funció de C++, presentada amb ressaltat de la sintaxi.

La mateixa funció de C++, sense ressaltat.
Dels dos exemples, quin resulta més fàcil de llegir?
La KatePart compta amb un sistema de ressaltat de sintaxi flexible, configurable i capaç, la distribució estàndard proveeix definicions per a una gran varietat de llenguatges de programació, creació de scripts i de marques. A més podeu proveir les vostres pròpies definicions en simples fitxers XML.
La KatePart detectarà automàticament les regles de la sintaxi correctes quan obriu un fitxer, basant-se en el tipus MIME del fitxer, determinat per la seva extensió, o, si no en té, pel seu contingut. Si l'elecció no és la correcta, podreu establir-la manualment des del menú → .
Els estils i colors emprats per a cada definició de ressaltat de sintaxi es poden configurar utilitzant la pestanya Estils del text ressaltat del Diàleg de configuració, mentre que els tipus MIME i extensions de fitxer per als que s'hauran d'utilitzar, es poden gestionar utilitzant la pàgina Modes i tipus de fitxer.
Nota
El ressaltat de la sintaxi té el seu ús en la millora de la llegibilitat del text, però no podeu confiar-hi per a validar que el text és correcte. Marcar el text en funció de la seva sintaxi pot ser difícil, depenent del format que s'estigui emprant, i en alguns casos els autors de les regles de la sintaxi poden estar orgullosos si es processa correctament el 98% del text, si bé caldrà un estil molt rar per a veure el 2% incorrecte.
Aquesta secció tractarà sobre el mecanisme de ressaltat de la sintaxi de la KatePart amb més detall. Recomanem la seva lectura si voleu aprendre sobre seu, o si voleu crear o canviar les definicions de la sintaxi.
Sempre que obriu un fitxer, una de les primeres coses que fa l'editor de la KatePart és detectar quina definició de la sintaxi s'emprarà per al fitxer. Mentre va llegint el text del fitxer, i mentre hi va escrivint, el sistema de ressaltat de la sintaxi analitza el text utilitzant les regles establertes per la definició de la sintaxi i marcant a on comencen i acaben els diferents contexts i estils.
Quan escriviu en el document, el text nou és analitzat i marcat al vol, de manera que si suprimiu un caràcter que marca el començament o el final d'un context, l'estil del text adjacent canviarà en conseqüència.
Les definicions de la sintaxi utilitzades per al sistema de ressaltat de la sintaxi de la KatePart són fitxers XML, que contenen
Regles per a detectar el paper del text, organitzades en blocs segons el context
Llistes de paraules clau
Definicions dels elements d'estil
Quan s'analitza el text, les regles de detecció són avaluades en l'ordre en el qual estan definides, i si el començament de la cadena actual coincideix amb la regla, s'utilitzarà el context relacionat. El punt d'inici del text es mou al punt final en el qual la regla coincideix i comença un nou cicle de regles, començant en el context establert per la regla coincident.
Les regles de la detecció són el nucli del sistema de detecció del ressaltat. Una regla és una cadena, un caràcter o una expressió regular contra què haurà de coincidir el text que s'està analitzant. Conté informació sobre l'estil a emprar per a la part coincident del text. Es pot canviar el context de treball del sistema, ja sigui cap a un context mencionat explícitament o cap a l'anterior context emprat pel text.
Les regles s'organitzen en grups de context. Un grup de context s'utilitza per als conceptes del text principal dins del format, per exemple, les cadenes de text entre cometes o els blocs de comentaris en el codi font d'un programa. Això garanteix que el sistema de ressaltat no necessita realitzar un cicle per a totes les regles quan no és necessari, i que algunes seqüències de caràcters del text es poden tractar de forma diferent depenent del context actual.
En les regles és possible generar contexts dinàmicament per a permetre l'ús de dades específiques d'una instància.
En alguns llenguatges de programació, els nombres enters són tractats pel compilador (el programa que converteix el codi font en un executable binari) d'una forma diferent dels de coma flotant, i poden haver-hi caràcters que tinguin un significat especial dins d'una cadena entre cometes. En aquests casos, té sentit processar-los de diferent manera que el text adjacent, perquè resultin fàcils d'identificar. De manera que si no representen contexts especials, poden ser vistos com a tals pel sistema de ressaltat de la sintaxi, així que són marcats per a un processat diferent.
Una definició de la sintaxi pot contenir tants estils com siguin requerits per a cobrir tots els conceptes del format per què s'utilitza.
En molts formats hi ha llistes de paraules que representen un concepte específic. Per exemple, en els llenguatges de programació, les sentències de control són un concepte, els noms de tipus de dades un altre, i les funcions incloses en el llenguatge són un tercer. El sistema de ressaltat de la sintaxi de la KatePart pot utilitzar aquestes llistes per a detectar i marcar paraules en el text per a emfatitzar conceptes dels formats del text.
Si obriu un fitxer de codi font en C++, un fitxer de codi font en Java™ i un document en HTML a la KatePart, podreu comprovar que tot i que els formats són diferents, i per tant les paraules que reben un tractament especial també són diferents, els colors emprats són els mateixos. Això és perquè la KatePart té una llista predefinida d'estils predeterminats, els quals s'empren en les definicions individuals de la sintaxi.
Això facilita reconèixer conceptes similars en diferents formats de text. Per exemple, els comentaris estan presents en pràcticament qualsevol llenguatge de programació, creació de scripts o de marques, i si es presenten utilitzant el mateix estil en tots els llenguatges, no haureu de parar-vos a pensar i identificar la seva posició en el text.
Suggeriment
Tots els estils de definició de la sintaxi utilitzen un dels estils predeterminats. Hi ha poques definicions de la sintaxi que utilitzin més estils dels que hi ha de manera predeterminada, així que, si empreu un format molt sovint, potser val la pena obrir el diàleg de configuració per a veure si alguns conceptes estan emprant el mateix estil. Per exemple, tan sols hi ha un estil predeterminat per a les cadenes, però com el llenguatge de programació Perl utilitza dos tipus de cadena, podeu millorar el ressaltat configurant ambdues de forma lleugerament diferent. Més endavant s'explicaran tots els estils predeterminats disponibles.
El KatePart utilitza l'entorn de treball per al ressaltat de la sintaxi dels Frameworks del KDE. Els fitxers en XML predeterminats del ressaltat distribuïts amb el KatePart són compilats dintre de la biblioteca de ressaltat de la sintaxi.
Aquesta secció és una introducció al format XML per a la definició del ressaltat. Descriu els components principals, el seu significat i utilització. La següent secció entra en detalls amb les regles de la detecció.
La definició formal, també coneguda com la XSD es troba al repositori del ressaltat de la sintaxi al fitxer language.xsd
Els fitxers .xml
personalitzats per a la definició del ressaltat es troben a org.kde.syntax-highlighting/syntax/
a la carpeta d'usuari que trobareu amb qtpaths
que normalment és --paths GenericDataLocation
i $HOME
/.local/share//usr/share/
.
En els paquets Flatpak i Snap, la carpeta anterior no funcionarà, ja que la ubicació de les dades és diferent per a cada aplicació. En una aplicació de Flatpak, la ubicació dels fitxers XML generalment és
i en una aplicació de Snap aquesta ubicació és $HOME
/.var/app/nom_paquet_flatpak
/data/org.kde.syntax-highlighting/syntax/
. $HOME
/snap/nom_paquet_snap
/current/.local/share/org.kde.syntax-highlighting/syntax/
Al Windows® aquests fitxers es troben a %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\syntax
. %USERPROFILE%
que generalment s'expandeix a C:\Users\
.usuari
En resum, per a la majoria de les configuracions, la carpeta dels fitxers XML personalitzats és la següent:
Per a l'usuari local |
|
Per a tots els usuaris | /usr/share/org.kde.syntax-highlighting/syntax/ |
Per als paquets Flatpak |
|
Per als paquets Snap |
|
A Windows® | %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\syntax |
Si hi ha múltiples fitxers per al mateix llenguatge, es carregarà el fitxer amb l'atribut version
més alt en l'element language
.
Principals seccions dels fitxers de definició del ressaltat de la KatePart
- Tots els fitxers de ressaltat contenen una capçalera que estableix la versió XML:
<?xml version="1.0" encoding="UTF-8"?>
- La part principal del fitxer de la definició és l'element
language
. Els atributs disponibles són: Atributs requerits:
name
estableix el nom del llenguatge. Després apareixerà als menús i als diàlegs.section
especifica la categoria.extensions
defineix les extensions dels fitxers, com "*.cpp;*.h"version
especifica la versió actual del fitxer de definició en termes d'un nombre enter. Sempre que es canvia un fitxer de definició del ressaltat, assegureu-vos d'augmentar aquest número.kateversion
especifica l'última versió implementada de la KatePart.Atributs opcionals:
mimetype
fitxers associats amb el tipus MIME.casesensitive
defineix quan les paraules clau distingeixen o no les majúscules i minúscules.priority
és necessària si una altra definició de ressaltat utilitza les mateixes extensions. S'emprarà la de major prioritat.author
conté el nom de l'autor i la seva adreça de correu electrònic.license
conté la llicència, normalment la llicència del MIT per a fitxers nous de ressaltat de la sintaxi.style
conté el llenguatge proporcionat i és utilitzat pels sagnadors per a l'atributrequired-syntax-style
.indenter
defineix quin sagnat emprar de manera predeterminada. Els atributs disponibles són: ada, normal, cstyle, cmake, haskell, latex, lilypond, lisp, lua, pascal, python, replicode, ruby i xml.hidden
defineix quan hauria d'aparèixer el nom en els menús de la KatePart.De manera que la línia següent pot tenir un aspecte similar a:
<language name="C++" version="1" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" />
- A continuació estaria l'element
highlighting
, el qual conté l'element opcionallist
i els elements requeritscontexts
iitemDatas
. Els elements
list
contenen una llista de paraules clau. En aquest cas les paraules clau són class i const. Podeu afegir tantes llistes com us calguin.Des del Frameworks del KDE 5.53, una llista pot incloure paraules clau d'una altra llista o llenguatge/fitxer, utilitzant l'element
include
. Els caràcters##
s'utilitzen per a separar el nom de la llista i el nom de la definició del llenguatge, de la mateixa manera que a la reglaIncludeRules
. Això és útil per a evitar la duplicació de llistes de paraules clau, si necessiteu incloure les paraules clau d'un altre llenguatge/fitxer. Per exemple, la llista altre_nom conté la paraula clau str i totes les paraules clau de la llista types, la qual pertany al llenguatge C++ de l'ISO.L'element
contexts
conté tots els contexts. El primer és l'emprat de manera predeterminada i amb aquest s'iniciarà el ressaltat. Hi ha dues regles en el context text_normal, el qual farà coincidir la llista de paraules clau amb el nom algun_nom i una regla que detecta una cometa i canvia el context a cadena. Per a aprendre més sobre les regles llegiu el següent capítol.La tercera part és l'element
itemDatas
. Conté tots els colors i tipus de lletra que necessiten els contexts i les regles. En aquest exemple, s'utilitzenitemData
text_normal, cadena i paraula_clau.<highlighting> <list name="algun_nom"> <item>class</item> <item>const</item> </list> <list name="altre_nom"> <item>str</item> <include>types##ISO C++</include> </list> <contexts> <context attribute="text_normal" lineEndContext="#pop" name="text_normal" > <keyword attribute="paraula_clau" context="#stay" String="algun_nom" /> <keyword attribute="paraula_clau" context="#stay" String="altre_nom" /> <DetectChar attribute="cadena" context="cadena" char=""" /> </context> <context attribute="cadena" lineEndContext="#stay" name="cadena" > <DetectChar attribute="cadena" context="#pop" char=""" /> </context> </contexts> <itemDatas> <itemData name="text_normal" defStyleNum="dsNormal" /> <itemData name="paraula_clau" defStyleNum="dsKeyword" /> <itemData name="cadena" defStyleNum="dsString" /> </itemDatas> </highlighting>
- L'última part de la definició del ressaltat és la secció opcional
general
. Pot contenir informació sobre paraules clau, plegat del codi, comentaris, sagnat, línies buides i verificació de l'ortografia. La secció
comment
defineix amb quina cadena s'introdueix un comentari en una línia senzilla. També podeu definir un comentari en múltiples línies utilitzant multiLine amb l'atribut addicional end. Això s'empra si l'usuari prem la drecera corresponent per a comenta/descomenta.La secció
keywords
defineix si les llistes de paraules clau distingeixen les majúscules i minúscules o no. Més endavant s'explicaran altres atributs.Les altres seccions,
folding
,emptyLines
ispellchecking
, normalment no són necessàries i s'expliquen més endavant.<general> <comments> <comment name="singleLine" start="#"/> <comment name="multiLine" start="###" end="###" region="CommentFolding"/> </comments> <keywords casesensitive="1"/> <folding indentationsensitive="0"/> <emptyLines> <emptyLine regexpr="\s+"/> <emptyLine regexpr="\s*#.*"/> </emptyLines> <spellchecking> <encoding char="á" string="\'a"/> <encoding char="à" string="\`a"/> </spellchecking> </general> </language>
Aquesta part descriu tots els atributs disponibles per als contexts, llistes de dades, paraules clau, comentaris, plegat del codi i sagnat.
- L'element
context
pertany al grupcontexts
. Un context defineix les regles específiques de context que s'han de seguir quan el sistema de ressaltat abasta el final d'una línia. Els atributs disponibles són: name
estableix el nom del context. Les regles utilitzaran el nom per a especificar el context al qual canviar si les regles coincideixen.lineEndContext
defineix el context al qual canviarà el sistema de ressaltat si abasta el final de la línia. Pot ser un nom o un altre context,#stay
permetrà que no es canviï el context (p. ex., no fer res) o#pop
farà que deixi aquest context. És possible utilitzar, per exemple#pop#pop#pop
per a sortir tres vegades, o fins i tot#pop#pop!AltreContext
perquè aparegui dues vegades i canviar a un context anomenatAltreContext
. També és possible canviar a un context que pertanyi a una altra definició de llenguatge, de la mateixa manera que en les reglesIncludeRules
, p. ex.,AlgunContext##JavaScript
. Cal tenir en compte que no és possible utilitzar aquest canvi de context en combinació amb#pop
, p. ex.,#pop!AlgunContext##JavaScript
no és vàlid. Els canvis de context també es descriuen a «Regles de detecció del ressaltat».lineEmptyContext
defineix el context si es troba una línia buida. La nomenclatura dels commutadors de context és la mateixa que s'ha descrit anteriorment a lineEndContext. De manera predeterminada: #stay.fallthroughContext
especifica el context següent al que canviar si no coincideix cap regla. La nomenclatura dels commutadors de context és la mateixa que s'ha descrit anteriorment a lineEndContext. De manera predeterminada: #stay.fallthrough
defineix si el sistema de ressaltat canviarà al context especificat afallthroughContext
si no coincideix cap regla. Cal tenir en compte que, des dels Frameworks 5.62 del KDE, aquest atribut està en desús a favor defallthroughContext
, ja que si està present aquest atribut, s'entendrà implícitament que el valor defallthrough
és true (cert). De manera predeterminada: false (fals).noIndentationBasedFolding
inhabilita el plegat basat en el sagnat dintre del context. Si el plegat basat en el sagnat no està activat, aquest atribut és inútil. Això es defineix en l'element folding del grup general. De manera predeterminada a: false.- L'element
itemData
es troba en el grupitemDatas
. Defineix l'estil i els colors dels tipus de lletra. Per tant és possible definir els vostres propis estils i colors. Encara que recomanem utilitzar els estils predeterminats, atès que així l'usuari veurà colors homogenis per als diferents llenguatges. Si bé, algunes vegades no hi ha altres possibilitats i és necessari canviar el color i els atributs dels tipus de lletra. Els atributs «name» i «defStyleNum» són necessaris, els altres són opcionals. Els atributs disponibles són: name
estableix el nom del «itemData». Els contexts i les regles utilitzaran aquest nom en els seus atributs attribute per a fer referència a un «itemData».defStyleNum
defineix quin estil s'emprarà de manera predeterminada. Més endavant s'explicaran els estils predeterminats disponibles.color
defineix un color. Els formats vàlids són «#rrggbb» o «#rgb».selColor
defineix el color de la selecció.italic
si està a true, el text es mostrarà en cursiva.bold
si està a true, el text es mostrarà en negreta.underline
si està a true, el text es mostrarà subratllat.strikeout
si està a true, el text es mostrarà taxat.spellChecking
si està a true, el text es mostrarà amb la verificació ortogràfica.- L'element
keywords
en el grupgeneral
defineix les propietats «keyword». Els atributs disponibles són: casesensitive
pot ser true o false. Si està a true, totes les paraules clau distingiran les majúscules i minúscules.weakDeliminator
és una llista de caràcters que no actuen com a delimitadors de paraules (delimitador feble). Per exemple, el punt«.»
és un delimitador de paraula. Si tenim una paraula clau en unalist
que conté un punt, tan sols la trobareu si especifiqueu el punt com a delimitador feble.additionalDeliminator
defineix delimitadors addicionals.wordWrapDeliminator
defineix els caràcters al darrere dels quals pot ocórrer un ajust de la línia.Els delimitadors predeterminats i els d'ajust de la línia són els caràcters
.():!+,-<=>%&*/;?[]^{|}~\
, espai (« »
) i tabulació («\t»
).- L'element
comment
en el grupcomments
defineix les propietats dels comentaris emprats per a → , → i → . Els atributs disponibles són: name
pot ser singleLine o multiLine. Si escolliu multiLine es necessiten els atributs end i region. Si escolliu singleLine podreu afegir l'atribut opcional position.start
defineix la cadena que s'utilitza per a iniciar un comentari. En C++ seria "/*" en comentaris multilínia. Aquest atribut és requerit per als tipus multiLine i singleLine.end
defineix la cadena utilitzada per a tancar un comentari. En C++ seria "*/". Només està disponible aquest atribut i es necessita per als comentaris del tipus multiLine.region
serà el nom amb el qual es desarà el comentari multilínia. Si assumim que tenim una regió beginRegion="Comentari" ... endRegion="Comentari" en les regles, haureu d'emprar region="Comentari". D'aquesta manera es descomentarà fins i tot si no heu seleccionat tot el text en un comentari multilínia. El cursor només haurà d'estar dins del comentari multilínia. Només està disponible aquest atribut i es necessita per als comentaris del tipus multiLine.position
defineix on s'insereix el comentari d'una sola línia. De manera predeterminada, el comentari d'una sola línia es col·loca al començament de la línia a la columna 0, però si utilitzeu position="afterwhitespace", el comentari s'insereix a la dreta després dels espais en blanc inicials, abans del primer caràcter que no sigui un espai en blanc. Això és útil per a posar comentaris correctament en llenguatges on la sagnia és important, com el Python o YAML. Aquest atribut és opcional i l'únic valor possible és afterwhitespace. Només està disponible per als tipus singleLine.- L'element
folding
en el grupgeneral
defineix les propietats de plegat del codi. Els atributs disponibles són: indentationsensitive
si està a true, els marcadors de plegat del codi seran afegits al sagnat, com en el llenguatge per a la creació de scripts en Python. Normalment no caldrà establir-lo, ja que de manera predeterminada és false.- L'element
emptyLine
pertany al grupemptyLines
defineix quines línies s'hauran de tractar com a línies buides. Això permet modificar el comportament de l'atribut lineEmptyContext en els elementscontext
. Els atributs disponibles són: regexpr
defineix una expressió regular que es tractarà com una línia buida. De manera predeterminada, les línies buides no contenen cap caràcter, per tant, això afegirà línies buides addicionals, per exemple, si voleu que les línies amb espais també es consideren com a línies buides. No obstant això, en la majoria de les definicions de la sintaxi no caldrà establir aquest atribut.- L'element
encoding
en el grupspellchecking
defineix una codificació de caràcters per a la verificació ortogràfica. Els atributs disponibles són: char
, és un caràcter codificat.string
és una seqüència de caràcters que es codificaran com el caràcter char a la verificació ortogràfica. Per exemple, en el llenguatge LaTeX, la cadena\"{A}
representa el caràcterÄ
.
Els estils predeterminats ja s'han explicat, a manera de resum: Els estils predeterminats són tipus de lletra i estils de colors predefinits.
- Estils predeterminats en general:
dsNormal
, quan no es requereix un ressaltat especial.dsKeyword
, paraules clau incloses.dsFunction
, crides a funcions i definicions.dsVariable
, si és aplicable: noms de les variables (p. ex., $algunaVar als llenguatges PHP/Perl).dsControlFlow
, controla el flux de paraules clau com «if», «else», «switch», «break», «return», «yield»...dsOperator
, operadors com + - * / :: < >dsBuiltIn
, funcions, classes i objectes inclosos.dsExtension
, extensions comunes, com les classes de les Qt™ i les funcions/macros en els llenguatges C++ i Python.dsPreprocessor
, declaracions del preprocessador o de definicions de macros.dsAttribute
, anotacions com «@override» i «__declspec(...)».- Estils predeterminats relacionats amb les cadenes:
dsChar
, caràcters sols, com ara «x».dsSpecialChar
, caràcters amb un significat especial en cadenes com escapades, substitucions o els operadors d'expressions regulars.dsString
, cadenes com «hello world».dsVerbatimString
, cadenes literals o sense processar com «raw \backlash» en els llenguatges Perl, CoffeeScript i intèrprets d'ordres, així com «r'\raw'» en llenguatge Python.dsSpecialString
, SQL, expressions regulars, documentació HERE, mode matemàtic de LATEX...dsImport
, importar, incloure o requerir mòduls.- Estils predeterminats relacionats amb números:
dsDataType
, tipus de dades incloses com «int», «void», «u64».dsDecVal
, valors decimals.dsBaseN
, valors en una base diferent de 10.dsFloat
, valors de coma flotant.dsConstant
, definicions incloses i definides per l'usuari com PI.- Estils predeterminats relacionats amb la documentació i els comentaris:
dsComment
, comentaris.dsDocumentation
, «/** Comentaris de documentació */» o «"""cadenes_de_documentació"""».dsAnnotation
, ordres de la documentació com «@param», «@brief».dsCommentVar
, els noms de les variables utilitzades en les ordres anteriors, com «foobar» a «@param foobar».dsRegionMarker
, marcadors de regió com els comentaris «//BEGIN», «//END».- Altres estils predeterminats:
dsInformation
, notes i consells com «@note» al doxygen.dsWarning
, avisos com «@warning» al doxygen.dsAlert
, paraules especials com «Per fer», «TODO», «FIXME», «XXXX».dsError
, errors de ressaltat i sintaxi incorrecta.dsOthers
, quan res més s'hi ajusti.
Aquesta secció descriu les regles de detecció del ressaltat.
Cada regla pot coincidir en cap o amb diversos caràcters al començament de la cadena amb què es comparen. Si la regla coincideix, als caràcters coincidents se'ls assigna l'estil o attribute definit per la regla, tanmateix una regla pot demanar que es canviï el context actual.
Una regla té aquest aspecte:
<NomRegla attribute="(identificador)" context="(identificador)" [atributs específics de la regla] />
L'attribute identifica l'estil que utilitzaran els caràcters coincidents per nom, i el context identifica el context a utilitzar des d'aquí.
El context es pot identificar per:
Un identifier, el qual és el nom de l'altre context.
Una order us indica al motor que romandrà en el context actual (
#stay
), o que salti al context anterior (#pop
).Per a retrocedir més passos, es pot repetir la paraula clau #pop:
#pop#pop#pop
Una ordre seguida per un signe d'exclamació (!) i un identificador, el qual farà que el motor segueixi primer l'ordre i després passi a l'altre context, p. ex.,
#pop#pop!AltreContext
.Un identificador, el qual és un nom de context, seguit de dos coixinets (
##
) i un altre identificador, el qual és el nom d'una definició de llenguatge. Aquest nom és similar al què s'utilitza en les reglesIncludeRules
i permet canviar a un context que pertany a una altra definició de ressaltat de la sintaxi, p. ex.,AlgunContext##JavaScript
. Cal tenir en compte que no és possible utilitzar aquest canvi de context en combinació amb#pop
, p. ex.,#pop!AlgunContext##JavaScript
no és vàlid.
Els atributs específics de la regla varien, i es descriuen en les següents seccions.
Atributs comuns
Totes les regles tenen els següents atributs comuns i estan disponibles sempre que apareixen (atributs comuns)
. attribute i context són atributs requerits, els altres són opcionals.
attribute: Un mapa d'atributs d'un itemData definit.
context: Especifica el context al que canviarà el sistema de ressaltat si les regles coincideixen.
beginRegion: Inicia un bloc de plegat del codi. De manera predeterminada: unset.
endRegion: Tanca un bloc de plegat del codi. De manera predeterminada: unset.
lookAhead: Si està a true, el sistema de ressaltat no processarà les longituds coincidents. De manera predeterminada: false.
firstNonSpace: Només coincidiran si la cadena no conté un espai en blanc al començament de la línia. De manera predeterminada: false.
column: Només coincideix, si la columna coincideix. De manera predeterminada: unset.
Regles dinàmiques
Algunes regles permeten l'atribut opcional dynamic
de tipus lògic que de manera predeterminada és false. Si dynamic està a true, la regla podrà utilitzar arguments que representin el text coincident amb una regla d'una expressió regular que canviï al context actual per al contingut en els atributs string
o char
. En un string
, l'argument %N
(a on N és un número) se substituirà amb el corresponent N
capturat des de l'expressió regular cridada, començant per 1. En un char
l'argument haurà de ser un número N
i serà substituït amb el primer caràcter de la corresponent N
capturada des de l'expressió regular cridada. Sempre que un regla permeti aquest atribut haurà de contenir un (dynamic).
dinàmic: pot ser (true|false).
Com funciona:
A les expressions regulars de la regla RegExpr
, tot el text entre parèntesis (PATRÓ)
serà capturat i recordat. Aquestes captures es podran utilitzar en el context al qual es canvia, en les regles amb l'atribut dynamic
true, per %N
(a String) o N
(a char).
És important esmentar que un text capturat en una regla RegExpr
només s'emmagatzemarà per al context del canvi, especificat en el seu atribut context
.
Suggeriment
Si no s'utilitzen les captures, tant per a les regles dinàmiques com en la mateixa expressió regular, s'han d'utilitzar grups sense captura:
(?:PATRÓ)
Els grups lookahead (anticipada) o lookbehind (cerca cap enrere) com
(?=PATRÓ)
,(?!PATRÓ)
(?<=PATRÓ)
no seran capturats. Per a obtenir més informació, vegeu la secció sobre expressions regulars.Els grups amb captura es poden utilitzar dins de la mateixa expressió regular, emprant
\N
en lloc de%N
respectivament. Per a més informació, vegeu Captura del text coincident (referències enrere) a les Expressions regulars.
Exemple 1:
En aquest senzill exemple, el text que coincideix amb l'expressió regular =*
serà capturat i inserit din de %1
a la regla dinàmica. Això permet que el comentari acabi amb la mateixa quantitat de =
que al començament. Això coincideix amb el text com: [[ comentari ]]
, [=[ comentari ]=]
o [=====[ comentari ]=====]
.
A més, les captures només estaran disponibles en el context del canvi Comentari de múltiples línies.
<context name="Normal" attribute="Text normal" lineEndContext="#stay"> <RegExpr context="Comentari de múltiples línies" attribute="Comentari" String="\[(=*)\[" beginRegion="RegionComment"/> </context> <context name="Comentari de múltiples línies" attribute="Comentari" lineEndContext="#stay"> <StringDetect context="#pop" attribute="Comentari" String="]%1]" dynamic="true" endRegion="RegionComment"/> </context>
Exemple 2:
A la regla dinàmica, %1
es correspon amb la captura que coincideix #+
, i %2
amb "+
. Això coincidirà amb el text de: #label""""dins del context""""#
.
Aquestes captures no estaran disponibles en altres contextos, com OtherContext, FindEscapes o AlgunContext.
<context name="AlgunContext" attribute="Normal Text" lineEndContext="#stay"> <RegExpr context="#pop!NamedString" attribute="String" String="(#+)(?:[\w-]|[^[:ascii:]])("+)"/> </context> <context name="NamedString" attribute="String" lineEndContext="#stay"> <RegExpr context="#pop!OtherContext" attribute="String" String="%2(?:%1)?" dynamic="true"/> <DetectChar context="FindEscapes" attribute="Escape" char="\"/> </context>
Exemple 3:
Això coincidirà amb el text com: Class::function<T>( ... )
.
<context name="Normal" attribute="Normal Text" lineEndContext="#stay"> <RegExpr context="FunctionName" lookAhead="true" String="\b([a-zA-Z_][\w-]*)(::)([a-zA-Z_][\w-]*)(?:<[\w\-\s]*>)?(\()"/> </context> <context name="FunctionName" attribute="Normal Text" lineEndContext="#pop"> <StringDetect context="#stay" attribute="Class" String="%1" dynamic="true"/> <StringDetect context="#stay" attribute="Operator" String="%2" dynamic="true"/> <StringDetect context="#stay" attribute="Function" String="%3" dynamic="true"/> <DetectChar context="#pop" attribute="Normal Text" char="4" dynamic="true"/> </context>
Delimitadors locals
Algunes regles permeten els atributs opcionals weakDeliminator
i additionalDeliminator
, els quals es combinen amb atributs del mateix nom d'etiqueta de keywords
. Per exemple, quan '%'
és un delimitador feble de keywords
, només podrà esdevenir un delimitador de paraula per a una regla posant-lo en el seu atribut additionalDeliminator
. Sempre que una regla permeti aquests atributs, contindrà un (delimitadors locals).
weakDeliminator: llista de caràcters que no actuen com a delimitadors de paraula.
additionalDeliminator: defineix delimitadors addicionals.
- DetectChar
Detecta un únic caràcter específic. Normalment s'utilitza per a trobar el final de les cadenes entre cometes.
<DetectChar char="(caràcter)" (atributs comuns) (dinàmic) />
L'atribut
char
defineix el caràcter a comparar.- Detect2Chars
Detecta dos caràcters especificats en l'ordre definit.
<Detect2Chars char="(caràcter)" char1="(caràcter)" (atributs comuns) />
L'atribut
char
defineix el primer caràcter a comparar,char1
el segon.- AnyChar
Detecta un caràcter d'un conjunt de caràcters especificats.
<AnyChar String="(cadena)" (atributs comuns) />
L'atribut
String
defineix el conjunt de caràcters.- StringDetect
Detecta una cadena exacta.
<StringDetect String="(cadena)" [insensitive="true|false"] (atributs comuns) (dinàmic) />
L'atribut
String
defineix la cadena a comparar. L'atributinsensitive
predeterminat ésfalse
i es passa a la funció de comparació de la cadena. Si el valor éstrue
la comparació no distingirà les majúscules i minúscules.- WordDetect
Detectar una cadena exacta requereix límits de paraula com un punt
«.»
o un espai en blanc al començament i al final de la paraula. Penseu en\b<cadena>\b
en termes d'una expressió regular, però és més ràpid que la reglaRegExpr
.<WordDetect String="(cadena)" [insensitive="true|false"] (atributs comuns) (delimitadors locals) />
L'atribut
String
defineix la cadena a comparar. L'atributinsensitive
predeterminat ésfalse
i es passa a la funció de comparació de la cadena. Si el valor éstrue
la comparació no distingirà les majúscules i minúscules.Des del: Kate 3.5 (KDE 4.5)
- RegExpr
Cerca la coincidència amb una expressió regular.
<RegExpr String="(cadena)" [insensitive="true|false"] [minimal="true|false"] (atributs comuns) (dinàmic) />
L'atribut
String
defineix l'expressió regular.insensitive
de manera predeterminada ésfalse
i és passada al motor d'expressions regulars.minimal
de manera predeterminada ésfalse
i és passada al motor d'expressions regulars.Atès que les regles coincideixen amb el començament de la cadena actual, una expressió regular que comenci amb l'accent circumflex (
^
) indica que la regla tan sols s'haurà de comparar amb el començament d'una línia.Per a obtenir més informació, vegeu la secció sobre expressions regulars.
- keyword
Detecta una paraula clau des d'una llista especificada.
<keyword String="(nom de la llista)" (atributs comuns) (delimitadors locals) />
L'atribut
String
identifica la llista de paraules clau pel seu nom. Haurà d'existir una llista amb aquest nom.El sistema de ressaltat processa les regles de paraules clau d'una manera molt optimitzada. Això fa que sigui una necessitat absoluta que qualsevol paraula clau que coincideixi necessitarà estar envoltada pels delimitadors definits, ja sigui implícitament (els delimitadors predeterminats), o explícitament especificat dins la propietat additionalDeliminator de l'etiqueta keywords.
Si una paraula clau coincideix haurà de contenir un caràcter de delimitador, aquest caràcter respectiu haurà d'afegir-se a la propietat weakDeliminator de l'etiqueta keywords. Aquest caràcter perdrà la seva propietat delimitadora en totes les regles keyword. També és possible utilitzar l'atribut weakDeliminator de la keyword perquè aquesta modificació només s'apliqui a aquesta regla.
- Int
Detecta un nombre enter (com l'expressió regular:
\b[0-9]+
).<Int (atributs comuns) (delimitadors locals) />
Aquesta regla no té atributs específics.
- Decimals
Detecta un nombre decimal (com l'expressió regular:
(\b[0-9]+\.[0-9]*|\.[0-9]+)([eE][-+]?[0-9]+)?
).<Float (atributs comuns) (delimitadors locals) />
Aquesta regla no té atributs específics.
- HlCOct
Detecta una representació numèrica d'un nombre octal (com l'expressió regular:
\b0[0-7]+
).<HlCOct (atributs comuns) (delimitadors locals) />
Aquesta regla no té atributs específics.
- HlCHex
Detecta una representació numèrica d'un nombre hexadecimal (com una expressió regular:
\b0[xX][0-9a-fA-F]+
).<HlCHex (atributs comuns) (delimitadors locals) />
Aquesta regla no té atributs específics.
- HlCStringChar
Detecta un caràcter escapat.
<HlCStringChar (atributs comuns) />
Aquesta regla no té atributs específics.
Localitza representacions literals de caràcters que habitualment s'utilitzen en el codi de programació, per exemple
\n
(línia nova) o\t
(tabulació).Els següents caràcters coincideixen amb la regla si segueixen a una barra inversa (
\
):abefnrtv"'?\
. A més seran vàlids els nombres hexadecimals escapats com per exemple\xff
, i els nombres octals escapats, per exemple\033
.- HlCChar
Detecta un caràcter C.
<HlCChar (atributs comuns) />
Aquesta regla no té atributs específics.
Localitza caràcters C tancats en una marca (Exemple:
'c'
). La marca pot ser un caràcter simple o un caràcter escapat. Vegeu «HICStringChar» per a localitzar seqüències de caràcters escapats.- RangeDetect
Detecta una cadena amb caràcters d'inici i de final definits.
<RangeDetect char="(caràcter)" char1="(caràcter)" (atributs comuns) />
char
defineix el caràcter que inicia l'interval,char1
el caràcter que finalitza l'interval.És molt útil per a detectar, per exemple, petites cadenes entre cometes i similars, però teniu en compte que el motor de ressaltat només pot treballar amb una línia a la vegada, de manera que no es detectaran les cadenes que estiguin dividides en dues línies o més.
- LineContinue
Coincideix amb un caràcter específic al final d'una línia.
<LineContinue (atributs comuns) [char="\"] />
L'atribut
char
defineix un caràcter opcional a comparar, de manera predeterminada és la barra inversa ('\'
). Nou des del KDE 4.13.Aquesta regla és pràctica per a canviar el context al final de la línia. Això és necessari per exemple en C/C++ per a continuar macros o cadenes.
- IncludeRules
Inclou regles des d'un altre context o llenguatge/fitxer.
<IncludeRules context="contextlink" [includeAttrib="true|false"] />
L'atribut
context
defineix el context a incloure.Si és una cadena simple, inclourà totes les regles definides en el context actual, exemple:
<IncludeRules context="anotherContext" />
Si la cadena conté un
##
el sistema de ressaltat cercarà un context d'una altra definició del llenguatge amb el nom indicat, per exemple,<IncludeRules context="String##C++" />
inclouria el context String des de la definició de ressaltat en C++.
Si l'atribut
includeAttrib
està a true, canvia l'atribut de destinació per un altre de la font. Això és necessari, per exemple, per al treball de comentar, si el text coincideix amb el context inclòs s'utilitzarà un ressaltat diferent que amb el context amfitrió.- DetectSpaces
Detecta els espais en blanc.
<DetectSpaces (atributs comuns) />
Aquesta regla no té atributs específics.
Utilitzeu aquesta regla si sabeu que hi poden haver diversos espais en blanc al davant, per exemple, al començament de les línies sagnades. Aquesta regla ometrà tots els espais en blanc a la vegada, en comptes de comprovar múltiples regles i saltar coincidències.
- DetectIdentifier
Detecta identificadors de cadenes (com l'expressió regular:
[a-zA-Z_][a-zA-Z0-9_]*
).<DetectIdentifier (atributs comuns) />
Aquesta regla no té atributs específics.
Utilitzeu aquesta regla per a saltar d'una vegada una cadena de paraula de caràcters, en comptes de comprovar múltiples regles a la vegada i saltar coincidències.
Una vegada que hàgiu entès com funciona el canvi de context serà fàcil escriure definicions de ressaltat. Tot i que haureu de tenir cura de comprovar en quina situació s'hauria de seleccionar una regla. Les expressions regulars són molt potents, però són lentes en comparació amb altres regles. Per això haureu de tenir en compte els següents consells.
Si només heu de localitzar dos caràcters, utilitzeu
Detect2Chars
en comptes deStringDetect
. El mateix s'aplica aDetectChar
.Les expressions regulars són fàcils d'emprar, però a vegades hi ha formes molt més ràpides d'obtenir el mateix resultat. Imagineu que només desitgeu localitzar el caràcter
«#»
si aquest és el primer caràcter de la línia. Una solució basada en una expressió regular seria quelcom semblant a això:<RegExpr attribute="Macro" context="macro" String="^\s*#" />
Podeu aconseguir el mateix molt més ràpid utilitzant:
<DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" />
Si voleu que l'expressió regular localitzi
«^#»
també podeu utilitzarDetectChar
amb l'atributcolumn="0"
. L'atributcolumn
compta els caràcters, per tant el tabulador és només un caràcter.A les regles
RegExpr
, utilitzeu l'atributcolumn="0"
si el patró^PATRÓ
s'utilitza per a fer coincidir el text amb el començament d'una línia. Això millorarà el rendiment, ja que evitarà cercar coincidències en la resta de les columnes.En les expressions regulars, utilitzeu grups sense captura
(?:PATRÓ)
en lloc dels grups amb captura(PATRÓ)
, si les captures no s'utilitzen per a la mateixa expressió regular o en regles dinàmiques. Això evita emmagatzemar innecessàriament les captures.Podeu canviar de context sense processar els caràcters. Suposeu que voleu canviar de context quan trobeu una cadena
*/
, però cal processar aquesta cadena en el següent context. La regla de sota coincidirà, i l'atributlookAhead
farà que es desi la cadena coincident per al següent context.<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
Utilitzeu
DetectSpaces
si sabeu quants espais en blanc hi ha.Utilitzeu
DetectIdentifier
en comptes de l'expressió regular«[a-zA-Z_]\w*»
.Utilitza els estils predeterminats sempre que es pugui. D'aquesta manera l'usuari es trobarà un entorn familiar.
Mireu altres fitxers XML per a comprovar de quina forma altra gent implementa les regles delicades.
Podeu validar tots els fitxers XML utilitzant l'ordre validatehl.sh language.xsd mySyntax.xml. Els fitxers
validatehl.sh
ilanguage.xsd
estan disponibles al repositori del ressaltat de la sintaxi.Si tot sovint repetiu expressions regulars complexes podeu utilitzar ENTITIES. Exemple:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [ <!ENTITY la_meva_ref "[A-Za-z_:][\w.:_-]*"> ]>
Ara podeu utilitzar &la_meva_ref; en comptes de l'expressió regular.

Els temes de color defineixen els colors de l'àrea d'edició de text i del ressaltat de la sintaxi. Un tema de color abasta el següent:
L'estil del text, utilitzat per a ressaltar la sintaxi mitjançant els atributs predeterminats d'estil. Per exemple, el color del text i el del text seleccionat.
El fons de l'àrea d'edició de text, inclosa la selecció del text i la línia actual.
La vora de la icona de l'àrea de text: el seu fons, la línia de separació, els números de línia, els marcadors per a l'ajust de les paraules a la línia, les marques de línia modificada i el plegat de codi.
Els decoradors de text com els marcadors de cerca, el sagnat i les marques de línia per a tabulació/espai, la coincidència dels claudàtors i la verificació ortogràfica.
Marcadors i retalls.
Per evitar confusions, el següent queda fora de l'àmbit:
El tipus i mida de la lletra.
Els colors de l'aplicació d'edició de text, com el mapa de la barra de desplaçament, els menús, la barra de pestanyes, el color de la finestra, etc. En les aplicacions KDE, com el Kate o el KDevelop, aquests colors es defineixen mitjançant l'
esquema de color global del Plasma
, el qual s'estableix en el mòdul «Colors» a l'Arranjament del sistema o des de la mateixa aplicació en el menú → .

Temes de color «Brisa clara» i «Brisa fosca» amb ressaltat de la sintaxi del «C++».
El marc de treball KSyntaxHighlighting, el qual és el motor del ressaltat de la sintaxi, és la biblioteca que proporciona i gestiona els temes de color
. Aquest forma part dels Frameworks del KDE i s'utilitza en els editors de text del KDE com el Kate, KWrite, Kile i KDevelop. Aquesta dependència té el següent aspecte:

Dependència de les biblioteques dels Frameworks del KDE en els editors de text.
El marc de treball KSyntaxHighlighting inclou una varietat de temes integrats que es mostren a la pàgina «Temes de color» del lloc web de l'editor Kate.
El marc de treball KTextEditor, el qual és el motor d'edició de text, proporciona una interfície d'usuari per a crear i editar els temes de color, inclosa una eina per a importar i exportar els temes. Aquesta és la forma més senzilla de crear-los i editar-los, podeu accedir-hi des del diàleg «Configura» de l'editor de text. Hi ha més detalls a «Els temes de color de la IGU».

La IGU per a gestionar els temes de color a la configuració del Kate.
És important esmentar que, en els editors de text del KDE com el Kate o el KDevelop, els temes de color de KSyntaxHighlighting s'utilitzen des dels Frameworks 5.75 del KDE, llançats el 10 d'octubre de 2020. Anteriorment, s'utilitzaven els esquemes de color del Kate (configuració d'esquema basada en el KConfig) i ara estan en desús. No obstant això, és possible convertir els antics esquemes del Kate als temes de color de KSyntaxHighlighting. El repositori KSyntaxHighlighting inclou l'script utils/kateschema_to_theme_converter.py
i la utilitat utils/schema-converter/
per a aquest propòsit.
Els temes de color s'emmagatzemen en fitxers de format JSON, amb l'extensió .theme
.
En el codi font de KSyntaxHighlighting, els fitxers JSON dels temes integrats es troben a la carpeta data/themes/
. Cal tenir en compte que en els editors de text, els temes integrats es compilen a dins de la biblioteca KSyntaxHighlighting, per tant, la forma d'accedir-hi és a través del codi font o exportant-la des de la IGU per a gestionar els temes de KTextEditor.
També és possible afegir amb facilitat temes addicionals o personalitzats, els quals es carreguen des del sistema de fitxers. Els fitxers de tema personalitzats per l'usuari es troben a la carpeta org.kde.syntax-highlighting/themes/
en la vostra carpeta d'usuari, la qual trobareu amb l'ordre qtpaths
que normalment és --paths GenericDataLocation
i $HOME
/.local/share//usr/share/
.
En els paquets Flatpak i Snap, la carpeta anterior no funcionarà, ja que la ubicació de les dades és diferent per a cada aplicació. En una aplicació de Flatpak, aquesta ubicació generalment és
i en una aplicació de Snap aquesta ubicació és $HOME
/.var/app/nom_paquet_flatpak
/data/org.kde.syntax-highlighting/themes/
. $HOME
/snap/nom_paquet_snap
/current/.local/share/org.kde.syntax-highlighting/themes/
Al Windows® aquests fitxers es troben a %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes
. %USERPROFILE%
que generalment s'expandeix a C:\Users\
.nom_usuari
En resum, per a la majoria de les configuracions, la carpeta de temes personalitzats és la següent:
Per a l'usuari local |
|
Per a tots els usuaris | /usr/share/org.kde.syntax-highlighting/themes/ |
Per als paquets Flatpak |
|
Per als paquets Snap |
|
A Windows® | %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes |
Si hi ha múltiples fitxers de tema amb el mateix nom, es carregarà el fitxer amb la revisió
més alta.
L'estructura d'un fitxer JSON s'explica al seu lloc web. Bàsicament, un fitxer de format JSON consta de:
Col·leccions de parells clau/valor, separats per comes i agrupats en
{}
, els quals anomenarem «objectes».Llistes ordenades de valors, separats per comes i agrupats en
[]
, a les quals anomenarem «matriu».
En aquest article s'utilitzaran les nomenclatures «clau», «valor», «objecte» i «matriu». Si és la primera vegada que treballeu amb fitxers JSON, comprendre'ls és tan senzill com mirar els exemples que hi ha a continuació.
L'objecte arrel del fitxer JSON de tema de color conté les claus d'esquema següents:
metadata
: És obligatòria. El valor és un objecte amb les metadades del tema, com el nom, la revisió i la llicència.Això es detalla a «Metadades».
editor-colors
: És obligatòria. El valor és un objecte amb els colors de l'àrea per a l'edició de text, com el fons, la vora d'icones i la decoració del text.Això es detalla a «Colors de l'editor».
text-styles
: És obligatòria. El valor és un objecte amb els atributs d'estil per al text predeterminat del ressaltat de la sintaxi. Cada atribut defineix el seu color del text, el seu color del text seleccionat o si està en negreta o cursiva, per exemple. Es pot fer referència als estils de text des dels atributs dels fitxers XML per a definició de la sintaxi.Això es detalla a «Estils de text predeterminats».
custom-styles
: És opcional. Defineix estils de text per als atributs de les definicions específiques del ressaltat de la sintaxi. Per exemple, en una definició del ressaltat com enPython
oMarkdown
, podreu especificar un estil de text diferent que superposi el predeterminat definit atext-styles
.Això es detalla a «Estils personalitzats per al text ressaltat».
El llenguatge JSON no admet comentaris. No obstant això, podeu fer servir la clau opcional _comments
en l'objecte arrel per a escriure els comentaris, per exemple, si esteu adaptant un tema existent, podeu posar l'URL del repositori original. La forma més pràctica és utilitzar una matriu de cadenes.
A continuació es mostra un fitxer d'exemple per al tema «Breeze Light». Podeu observar que, per a evitar que l'exemple sigui massa gran, els objectes editor-colors
i text-styles
no contenen totes les claus requerides. Podeu veure tot el fitxer del tema «Breeze Light» al repositori de KSyntaxHighlighting.
{ "_comments": [ "Aquest és un comentari.", "Si aquest tema és una adaptació d'un altre, poseu l'enllaç cap al repositori original." ], "metadata": { "name" : "Breeze Light", "revision" : 5, "copyright": [ "SPDX-FileCopyrightText: 2016 Volker Krause <vkrause@kde.org>", "SPDX-FileCopyrightText: 2016 Dominik Haumann <dhaumann@kde.org>" ], "license": "SPDX-License-Identifier: MIT" }, "editor-colors": { "BackgroundColor" : "#ffffff", "CodeFolding" : "#94caef", "BracketMatching" : "#ffff00", "CurrentLine" : "#f8f7f6", "IconBorder" : "#f0f0f0", "IndentationLine" : "#d2d2d2", "LineNumbers" : "#a0a0a0", "CurrentLineNumber" : "#1e1e1e",Les altres claus per al color de l'editor...
}, "text-styles": { "Normal" : { "text-color" : "#1f1c1b", "selected-text-color" : "#ffffff", "bold" : false, "italic" : false, "underline" : false, "strike-through" : false }, "Keyword" : { "text-color" : "#1f1c1b", "selected-text-color" : "#ffffff", "bold" : true }, "Function" : { "text-color" : "#644a9b", "selected-text-color" : "#452886" }, "Variable" : { "text-color" : "#0057ae", "selected-text-color" : "#00316e" },Les altres claus per a l'estil del text...
}, "custom-styles": { "ISO C++": { "Data Type": { "bold": true, "selected-text-color": "#009183", "text-color": "#00b5cf" }, "Keyword": { "text-color": "#6431b3" } }, "YAML": { "Attribute": { "selected-text-color": "#00b5cf", "text-color": "#00b5cf" } } } }
L'objecte JSON de la clau de metadata
conté informació rellevant sobre el tema. Aquest objecte té les següents claus:
name
: És una cadena que estableix el nom de l'idioma. Apareixerà posteriorment en els menús i diàlegs. És obligatòria.revision
: És un nombre enter que especifica la revisió actual del fitxer de tema. Sempre que actualitzeu un fitxer per a tema de colors, assegureu-vos d'augmentar aquest número. És obligatòria.license
: És una cadena que defineix la llicència del tema, utilitzant l'identificadorSPDX-License-Identifier
des del format SPDX estàndard per a la comunicació de la llicència. És opcional.Podeu veure la llista completa dels identificadors de llicència SPDX aquí.
copyright
: És una matriu de cadenes que especifica els autors del tema, utilitzant l'identificadorSPDX-FileCopyrightText
des del format SPDX estàndard per a la comunicació de la llicència. És opcional.
"metadata": { "name" : "Breeze Light", "revision" : 5, "copyright": [ "SPDX-FileCopyrightText: 2016 Volker Krause <vkrause@kde.org>", "SPDX-FileCopyrightText: 2016 Dominik Haumann <dhaumann@kde.org>" ], "license": "SPDX-License-Identifier: MIT" }
Aquesta secció detalla tots els atributs de color disponibles i les opcions de configuració disponibles del color.
Correspon als colors de l'àrea per a l'edició de text.
En el fitxer de tema JSON, la clau respectiva editor-colors
té com a valor un objecte on cada clau fa referència a un color d'atribut de l'editor de text. Aquí, totes les claus disponibles són obligatòries
, els seus valors són cadenes
amb codis de color en hexadecimal, com «#00B5CF».
A la IGU per a gestionar els temes de KTextEditor, aquests atributs es poden modificar a la pestanya Colors
.
Les claus disponibles són les següents; les claus utilitzades en el fitxer JSON es llisten en negreta, els noms utilitzats a la IGU es mostren entre parèntesis.
- Colors de fons de l'editor
BackgroundColor
(Àrea de text)Aquest és el fons predeterminat per a l'àrea d'edició, serà el color dominant a l'àrea d'edició.
TextSelection
(Text seleccionat)Aquest és el fons per al text seleccionat.
CurrentLine
(Línia actual)Estableix el color per a la línia actual. Estableix aquesta opció una mica diferent del fons del text normal per a ajudar a mantenir el focus en la línia actual.
SearchHighlight
(Ressaltat de la cerca)Ajusta el color per al text que coincideixi amb la vostra última cerca.
ReplaceHighlight
(Ressaltat de la substitució)Ajusta el color per al text que coincideixi amb la vostra última operació de substitució.
- Vora de la icona
IconBorder
(Àrea de fons)Aquest color s'utilitza per a les marques, números de línia i vores de les marques de plegat del codi situats al costat esquerre de la vista d'edició quan aquests siguin mostrats.
LineNumbers
(Números de línia)Aquest color s'utilitza per a dibuixar els números de línia al costat esquerre quan siguin mostrats.
CurrentLineNumber
(Número de la línia actual)Aquest color s'utilitza per a dibuixar el número de línia de la línia actual, quan es mostra, a la banda esquerra de la vista. Establir això una mica diferent de «LineNumbers» ajudarà a mantenir l'enfocament sobre la línia actual.
Separator
(Separador)Aquest color s'utilitza per a dibuixar la línia vertical que separa la vora d'icones del fons de l'àrea de text.
WordWrapMarker
(Marcador d'ajust de les paraules)Aquest color s'utilitza per a dibuixar un patró a l'esquerra de les línies ajustades dinàmicament quan siguin alineades verticalment, i també per a les marques d'ajust estàtic de les línies.
CodeFolding
(Plegat de codi)Aquest color s'utilitza per a ressaltar la secció del codi que es plega quan feu clic a la fletxa de plegat del codi a l'esquerra d'un document. Per a obtenir més informació, vegeu la documentació per al plegat del codi.
ModifiedLines
(Línies modificades)Aquest color s'utilitza per a ressaltar a l'esquerra algunes línies del document que han estat modificades però no desades. Per a obtenir més informació, vegeu «Indicadors de modificació de línia».
SavedLines
(Línies desades)Aquest color s'utilitza per a ressaltar a l'esquerra algunes línies del document que han estat modificades i desades en aquesta sessió. Per a obtenir més informació, vegeu «Indicadors de modificació de línia».
- Decoracions de text
SpellChecking
(Línia amb error ortogràfic)Aquest color s'utilitza per a indicar els errors ortogràfics.
TabMarker
(Marcadors de tabulació i espai)Aquest color s'utilitza per a dibuixar els indicadors d'espai en blanc, quan estan activats.
IndentationLine
(Línia amb sagnat)Aquest color s'utilitza per a dibuixar una línia a l'esquerra dels blocs de sagnat, si aquesta característica està activada.
BracketMatching
(Ressaltat dels parèntesis)Aquest color s'utilitza per a dibuixar el fons dels claudàtors emparellats.
- Colors dels marcadors
MarkBookmark
(Punt)Aquest color s'utilitza per a indicar els punts. Cal recordar que aquest color té una opacitat del 22% (i del 33% per a la línia actual) pel que fa al fons. Per a més informació, vegeu «Ús dels punts».
MarkBreakpointActive
(Punt d'interrupció actiu)El connector GDB utilitza aquest color per a indicar un punt d'interrupció actiu. Cal tenir en compte que aquest color té una opacitat del fons. Per a més informació, vegeu la documentació del connector GDB.
MarkBreakpointReached
(S'ha arribat a un punt d'interrupció)El connector GDB utilitza aquest color per a indicar un punt d'interrupció que heu assolit durant la depuració. Cal tenir en compte que aquest color té una opacitat del fons. Per a més informació, vegeu la documentació del connector GDB.
MarkBreakpointDisabled
(Punt d'interrupció desactivat)El connector GDB utilitza aquest color per a indicar un punt d'interrupció inactiu. Cal tenir en compte que aquest color té una opacitat del fons. Per a més informació, vegeu la documentació del connector GDB.
MarkExecution
(Execució)Aquest color és utilitzat pel connector GDB en la línia que s'està executant. Cal tenir en compte que aquest color té una opacitat del fons. Per a més informació, vegeu la documentació del connector GDB.
MarkWarning
(Avís)El connector de compilació utilitza aquest color per a indicar una línia que ha provocat un avís del compilador. Cal tenir en compte que aquest color té una opacitat del fons. Per a més informació, vegeu la documentació del connector de construcció.
MarkError
(Error)El connector de construcció utilitza aquest color per a indicar una línia que ha provocat un error de compilació. Cal tenir en compte que aquest color té una opacitat del fons. Per a més informació, vegeu la documentació del connector de construcció.
- Plantilles i retalls de text
TemplateBackground
(Fons)El connector Retalls del Kate utilitza aquest color per a marcar el fons d'un retall. Per a més informació, vegeu la documentació dels Retalls del Kate.
TemplatePlaceholder
(Text variable editable)El connector Retalls del Kate utilitza aquest color per a marcar un text variable en el qual podreu fer clic per a editar-lo manualment. Per a més informació, vegeu la documentació de Retalls del Kate.
TemplateFocusedPlaceholder
(Text variable editable amb el focus)El connector Retalls del Kate utilitza aquest color per a marcar el text variable que esteu editant. Per a més informació, vegeu la documentació de Retalls del Kate.
TemplateReadOnlyPlaceholder
(Text variable no editable)Aquest color és utilitzat pel connector Retalls del Kate per a marcar un text variable que no es pot editar de forma manual, com el que s'omple automàticament. Per a obtenir més informació, vegeu la documentació per al connector Retalls del Kate.
Els estils predeterminats del text són heretats pels estils del text ressaltat, el qual permet a l'editor presentar el text d'una manera molt coherent, per exemple, el text dels comentaris utilitza el mateix estil en gairebé tots els formats de text que pot ressaltar el KSyntaxHighlighting.
Nota
Es pot fer referència a aquests estils de text des dels estils predeterminats
utilitzats en els fitxers XML de definició per al ressaltat de la sintaxi, per exemple, l'atribut «Normal» és equivalent a «dsNormal» en els fitxers XML i «DataType» és equivalent a «dsDataType». Vegeu «Estils predeterminats disponibles» a la documentació del ressaltat de la sintaxi.
Suggeriment
Assegureu-vos de triar colors llegibles amb bon contrast, especialment en combinació amb els Colors de l'editor
. Vegeu «Contrast dels colors del text».
En el fitxer JSON, la clau respectiva text-styles
té com a valor un objecte on cada clau correspon al nom d'un estil predeterminat de text, el qual és equivalent a l'utilitzat en les definicions de ressaltat de la sintaxi. Aquí, totes les claus d'estil de text disponibles són obligatòries
, es llisten a continuació.
"text-styles": {
"Normal" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : false,
"italic" : false,
"underline" : false,
"strike-through" : false
},
"Keyword" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : true
},
"Function" : {
"text-color" : "#644a9b",
"selected-text-color" : "#452886"
},
Les altres claus de l'estil de text...
}
- Cada clau de l'estil predeterminat del text té un objecte JSON com a valor, on s'especifiquen valors com color, negreta, cursiva, etc. Aquestes claus són les següents:
text-color
: És una cadena amb el color del text en el codi de color hexadecimal. Aquesta clau/valor és obligatòria.selected-text-color
: El color del text quan se selecciona generalment és el mateix valor que «text-color». Quan se selecciona el text, el fons és definit pel valor de TextSelection als Colors de l'editor, de manera que haureu d'assegurar-vos que el text tingui un bon contrast i sigui llegible amb aquest fons. El valor és una cadena amb un codi de color hexadecimal. Aquesta clau/valor és obligatòria.bold
: És un valor booleà que determina si el text està en negreta. Aquesta clau és opcional, el valor predeterminat ésfalse
.italic
: És un booleà que determina si el text està corbat. Aquesta clau és opcional, el valor predeterminat ésfalse
.underline
: És un booleà que determina si el text està subratllat. Aquesta clau és opcional, el valor predeterminat ésfalse
.strike-through
: És un booleà que determina si el text està taxat. Aquesta clau és opcional, el valor predeterminat ésfalse
.background-color
: Determina el fons del text, utilitzat per exemple en alertes en els comentaris. El valor és una cadena amb un codi de color en hexadecimal. Aquesta clau és opcional, de manera predeterminada no hi ha cap fons.selected-background-color
: Determina el fons del text quan se selecciona. El valor és una cadena amb un codi de color en hexadecimal. Aquesta clau és opcional, de manera predeterminada no hi ha cap fons.
A la IGU per a gestionar els temes de color de KTextEditor, aquests atributs es poden modificar a la pestanya Estils predeterminats de text
. El nom de la llista d'estils utilitza l'estil configurat per a l'element, el qual proporciona una vista prèvia immediata en configurar un estil. Cada estil permet seleccionar atributs comuns, així com els colors de primer pla i de fons. Per a treure un color de fons, feu clic dret per a emprar el menú contextual.
Les claus d'estil de text disponibles són les següents; les claus utilitzades en el fitxer JSON es llisten en negreta, els noms utilitzats en la IGU es mostraran entre parèntesis si són diferents.
- Text normal i codi font
Normal
: Estil predeterminat de text per al text normal i codi font sense un ressaltat especial.Keyword
: Estil de text per a les paraules clau dels llenguatges integrats.Function
: Estil de text per a les definicions de funcions i crides a funcions.Variable
: Estil de text per a les variables, si escau. Per exemple, les variables en PHP/Perl generalment comencen amb un signe$
, de manera que tots els identificadors que segueixen el patró$foo
es ressaltaran com a variables.ControlFlow
(Flux de control): Estil de text per a les paraules clau del flux de control, com if, then, else, return, switch, break, yield, continue, etc.Operator
: Estil de text per als operadors, com+
,-
,*
,/
,%
, etc.BuiltIn
(Incorporat): Estil de text per a classes de llenguatges, funcions i objectes integrats.Extension
: Estil de text per a les extensions conegudes, com les classes de les Qt™, funcions/macros en C++ i Python o boost.Preprocessor
: Estil de text per a les declaracions de preprocessador o definicions de macro.Attribute
: Estil de text per a les anotacions o atributs de funcions o objectes, p. ex.@override
en Java o__declspec(...)
i__attribute__((...))
en C++.- Nombres, tipus i constants
DataType
(Tipus de dades): Estil de text per a tipus de dades integrades com int, char, float, void, u64, etc.DecVal
(Decimal/valor): Estil de text per als valors decimals.BaseN
(Enter base-N): Estil de text per als números amb una base diferent que 10.Float
(Coma flotant): Estil de text per als nombres de coma flotant.Constant
: Estil de text per a les constants del llenguatge i les constants definides per l'usuari, p. ex. True, False, None en Python o nullptr en C/C++; o les constants matemàtiques com PI.- Cadenes i caràcters
Char
(Caràcter): Estil de text per als caràcters individuals com'x'
.SpecialChar
(Caràcter especial): Estil de text per als caràcters d'escapament en les cadenes, p. ex. «hola\n
» i altres caràcters amb un significat especial en les cadenes, com les substitucions o operadors d'expressió regular.String
: Estil de text per a les cadenes com «hola món
».VerbatimString
(Cadena literal): Estil de text per a les cadenes de text o sense processar com'raw \backlash'
en Perl, CoffeeScript i els intèrprets d'ordres, així comr'\raw'
en Python o com en els documents HERE.SpecialString
(Cadena especial): Estil de text per a les cadenes especials, com expressions regulars en ECMAScript, el mode matemàtic LATEX, SQL, etc.Import
(Importacions, mòduls i inclusions): Estil de text per a les inclusions, importacions, mòduls o paquets de LATEX.- Comentaris i documentació
Comment
: Estil de text per als comentaris normals.Documentation
: Estil de text per als comentaris que reflecteixen la documentació de l'API, com/** doxygen comments */
o"""docstrings"""
.Annotation
: Estil de text per a les anotacions en comentaris o documentació d'ordres, com@param
en Doxygen o JavaDoc.CommentVar
(Variable de comentari): Estil de text que es refereix als noms de les variables utilitzades en les ordres anteriors en un comentari, comfoobar
a «@param foobar
», en Doxygen o JavaDoc.RegionMarker
(Marcador de regió): Estil de text per als marcadors de regió, normalment definits per//BEGIN
i//END
en els comentaris.Information
: Estil de text per a la informació, notes i consells, com la paraula clau@note
en Doxygen.Warning
: Estil de text per als avisos, com ara la paraula clau@warning
en Doxygen.Alert
: Estil de text per a les paraules especials en els comentaris, comTODO
,FIXME
,XXXX
iWARNING
.- Miscel·lània
Error
: Estil de text que indica error ressaltat i sintaxi incorrecta.Others
: Estil de text per als atributs que no coincideixen amb cap dels altres estils predeterminats.
Aquí podreu establir els estils de text per a una definició específica del ressaltat de la sintaxi, superposant l'estil de text predeterminat
descrit a la secció anterior.
En el fitxer de tema JSON, això es correspon amb la clau custom-styles
, el valor és un objecte on cada clau de subesquema es correspon amb el nom d'una definició de ressaltat de la sintaxi
. El seu valor és un objecte on cada clau es refereix al nom dels atributs d'estil
definit en els elements itemData
del fitxer XML de ressaltat de la sintaxi, i el valor respectiu és un subobjecte amb les claus text-color, selected-text-color, bold, italic, underline, strike-through, background-color i selected-background-color definides a la secció anterior. Cadascun d'aquests valors és opcional, ja que si no hi són presents, es considerarà l'estil establert a text-styles
.
Per exemple, en aquest fragment de codi, la definició de ressaltat de la sintaxi «ISO C++» té un estil de text especial per als atributs «Modificadors de tipus» i «Classes estàndard». En el fitxer XML corresponent «isocpp.xml», l'atribut definit «Classes estàndard» utilitza l'estil predeterminat BuiltIn
(o dsBuiltIn
). En aquest atribut, només se sobreescriurà el valor de text-color
amb el nou color «#6431b3».
"custom-styles": { "ISO C++": { "Standard Classes": { "text-color": "#6431b3" }, "Type Modifiers": { "bold": true, "selected-text-color": "#009183", "text-color": "#00b5cf" } } }
Nota
Heu de considerar que aquests estils de text estan associats amb els noms dels atributs definits en els fitxers XML de ressaltat de la sintaxi. Si s'actualitza un fitxer XML i es canvia el nom o s'eliminen alguns atributs, l'estil personalitzat definit en el tema ja no s'aplicarà.
Les definicions del ressaltat de la sintaxi sovint inclouen altres definicions. Per exemple, el ressaltador de «QML» inclou el ressaltador de «JavaScript», ja que comparteixen la funcionalitat en el ressaltat.
A la IGU per a gestionar els temes de KTextEditor, aquests atributs es poden modificar a la pestanya Estils del text ressaltat
. De manera predeterminada, l'editor preselecciona el ressaltat del document actual. Notareu que molts ressaltats contenen altres ressaltats representats per grups en la llista d'estils. Per exemple, la majoria dels ressaltats importen el ressaltat «Alert», i molts formats de codi font importen el ressaltat «Doxygen».
La forma més senzilla de crear i editar temes de color és mitjançant la IGU dins del diàleg «Configura» proporcionat per KTextEditor. Per a accedir-hi, seleccioneu → a la barra de menús del vostre editor de text. Això obrirà el diàleg Configura, allà seleccioneu Temes de color a la barra lateral.

Diàleg de configuració del Kate amb la gestió del tema de color.
En aquest diàleg podreu configurar tots els colors en qualsevol tema que tingueu, així com crear/copiar temes nous, eliminar-los, exportar-los a un fitxer .theme
amb format JSON o importar-los des de fitxers .theme
externs. Cada tema té les opcions de configuració per als colors i els estils de text.
De manera predeterminada, els temes integrats no es poden modificar. Per a fer això, els haureu de copiar i donar un nom nou.
Per a utilitzar un tema de forma permanent en el vostre editor de text, haureu de seleccionar-lo en el quadre combinat anomenat Tema predeterminat per a l'aplicació
que hi ha a la part inferior del diàleg i prémer o . De manera predeterminada, l'opció Selecció automàtica
està activada, la qual triarà un tema de color més apropiat d'acord amb l'esquema de color del Plasma utilitzat en l'aplicació d'edició de text; normalment es tria «Brisa clara» i «Brisa fosca» si l'esquema és clar o fosc, respectivament.
Suggeriment
Podeu ajustar l'esquema de color global del KDE en el mòdul «Colors» a l'Arranjament del sistema. També el podreu canviar individualment en algunes aplicacions com el Kate o el KDevelop, des del menú → .
Per a crear un tema nou, primer cal copiar-ne un d'existent. Seleccioneu un tema existent que voleu utilitzar com a base, com el «Brisa clar» o «Brisa fosca» i feu clic a . Després escriviu un nom per al tema nou.
Si voleu modificar un tema integrat o només de lectura, primer l'haureu de copiar amb un nom diferent.
Amb el botó podreu exportar un tema seleccionat (inclosos els integrats) a un fitxer JSON amb l'extensió .theme
. Això obrirà un diàleg per a desar el fitxer. Per a afegir un tema de color des d'un fitxer JSON extern, senzillament premeu el botó i seleccioneu el fitxer .theme
des del diàleg.
Suggeriment
Com s'ha esmentat anteriorment, els fitxers de tema personalitzat per l'usuari s'emmagatzemen a la carpeta
org.kde.syntax-highlighting/themes/
. Quan feu còpies o creeu un tema, apareixerà automàticament allà. A més, importar o afegir un tema és equivalent a copiar un fitxer.theme
extern en aquesta carpeta. El KSyntaxHighlighting recollirà automàticament els fitxers de tema de color des d'aquesta carpeta.Si voleu publicar un tema creat per vós, és fonamental comprovar l'objecte metadata del fitxer JSON, afegint-hi la llicència respectiva i comprovant el número de la revisió.
Aquí s'ajusten els colors de l'àrea d'edició de text. Aquests es detallen a «Colors de l'editor».
Els estils predeterminats del text són heretats pels estils del text ressaltat, el qual permet a l'editor presentar el text d'una manera molt coherent, per exemple, el text dels comentaris utilitza el mateix estil en gairebé tots els formats de text que pot ressaltar el KSyntaxHighlighting.
El nom en la llista d'estils utilitza l'estil configurat per a l'element, proporcionant-vos una vista prèvia quan un estil està configurat.
Cada estil permet seleccionar atributs comuns com els colors de fons i de primer pla. Per a desseleccionar un color de fons, feu clic dret per a utilitzar el menú contextual.
Els atributs d'aquesta àrea es detallen a «Estils de text predeterminats».
Aquí podeu editar els estils de text utilitzats per una definició de ressaltat específica. L'editor preselecciona el ressaltat usat per al vostre document actual. Per a treballar amb un ressaltat diferent, seleccioneu-ne un en el quadre combinat Ressaltat sobre la llista d'estil.
El nom en la llista d'estils utilitza l'estil configurat per a l'element, proporcionant-vos una vista prèvia quan un estil està configurat.
Cada estil us permet seleccionar atributs comuns com els colors de fons i de primer pla. Per a desseleccionar un color de fons, feu clic dret per a utilitzar el menú contextual. A més podreu veure si un estil és igual que l'estil predeterminat utilitzat per l'element, i assignar-lo si no l'és.
Cal tenir present que molts ressaltats contenen d'altres ressaltats representats per grups en la llista d'estil. Per exemple, la majoria dels ressaltats inclouen el ressaltat Alerta, i molts dels formats de codi font inclouen el ressaltat Doxygen. Editar colors en aquests grups només afectarà els estils quan s'usin en el format de ressaltat editat.
Un aspecte important en treballar amb els temes de color és triar un contrast de text que faciliti la lectura, especialment en combinació amb el fons.
L'aplicació Kontrast
és un verificador del contrast de color. Us indicarà que les combinacions del color de text i color de fons són llegibles i accessibles, de manera que aquesta és una excel·lent eina per a ajudar-vos a crear temes de color.
Podeu descarregar el Kontrast
des del lloc web d'aplicacions del KDE o des del paquet Flatpak a Flathub (només a GNU/Linux).
L'aplicació Contrast
de GNOME és similar. Podeu descarregar el paquet Flatpak a Flathub (només en GNU/Linux).
El KSyntaxHighlighting inclou més de 300 definicions de ressaltat de la sintaxi, de manera que és ideal assegurar-vos que el nou tema es vegi bé en totes les definicions de ressaltat de la sintaxi. Els temes de color incorporats tenen les següents similituds que es recomana (però no és obligatori) seguir per a aconseguir una visualització correcta de totes les definicions de ressaltat de la sintaxi:
Utilitzeu negreta per als estils de text «Keyword» i «ControlFlow».
No utilitzeu el color de fons en cap estil de text, excepte «Alert» i «RegionMarker».
La majoria dels ressaltadors de la sintaxi estan pensats perquè es vegi bé en els temes predeterminats «Brisa clara» i «Brisa fosca», per tant, una altra forma de mantenir la coherència és utilitzar colors similars en els estils de text, com el green per a «Preprocessor» i «Others», blue per a «DataType» i «Attribute», o purple per a «Function».
Recordeu que aquestes recomanacions no són obligatòries quan es crea i publica un tema.

El component d'edició de la KatePart és fàcilment extensible, escrivint scripts. El llenguatge per a crear scripts és ECMAScript (conegut com a JavaScript). La KatePart admet dos tipus de script: de sagnat i de línia d'ordres.
Els scripts de sagnat: També coneguts com a «indenters», sagnen automàticament el codi font en escriure text. Com a exemple, després de prémer la tecla de retorn el nivell de sagnat sovint és incrementat.
En les següents seccions es descriuen pas a pas com crear l'esquelet d'un sagnat simple. Com a primer pas, creeu un fitxer *.js
nou anomenat, p. ex., javascript.js
a la carpeta d'inici local $
. En aquest sentit, la variable d'entorn XDG_DATA_HOME
/katepart5/script/indentationXDG_DATA_HOME
normalment s'expandeix a ~/.local
o ~/.local/share
.
Al Windows® aquests fitxers es troben a %USERPROFILE%\AppData\Local\katepart5\script\indentation
. %USERPROFILE%
que generalment s'expandeix a C:\\Users\\
.usuari
La capçalera del fitxer javascript.js
està incrustada com un JSON al començament del document de la forma següent:
var katescript = { "name": "JavaScript", "author": "Nom exemple <nom.exemple@alguna.adreça.org>", "license": "BSD License", "revision": 1, "kate-version": "5.1", "required-syntax-style": "javascript", "indent-languages": ["javascript"], "priority": 0, }; // kate-script-header, haurà d'estar al començament del fitxer sense comentaris
Cada entrada s'explica en detall tot seguit:
name
[requerit]: Aquest és el nom del sagnat que apareix al menú → i en el diàleg de configuració.author
[opcional]: El nom de l'autor i la informació de contacte.license
[opcional]: La forma curta de la llicència, com ara BSD o LGPLv3.revision
[requerit]: La revisió de l'script. Aquest número ha de ser major cada vegada que es modifica l'script.kate-version
[requerit]: La versió mínima requerida per la KatePart.required-syntax-style
[opcional]: L'estil de la sintaxi requerida, el qual coincideix ambstyle
especificat als fitxers de ressaltat de la sintaxi. Això és important per als sagnats que es basen en la informació de ressaltat específica en el document. Si s'especifica un estil de la sintaxi requerit, el sagnat només estarà disponible amb el ressaltat actiu apropiat. Això evita «comportament sense definir» causat per l'ús del sagnat sense l'esquema del ressaltat esperat. Per exemple, el sagnat de Ruby en fa ús en els fitxersruby.js
iruby.xml
.indent-languages
[opcional]: Una matriu JSON dels estils de la sintaxi que pot sagnar correctament, p. ex.:["c++", "java"]
.priority
[opcional]: Si els diversos sagnats són adequats per a un determinat fitxer ressaltat, la prioritat decideix quin sagnat és triat com a sagnat predeterminat.
Després d'haver especificat la capçalera aquesta secció explica com funciona la creació de scripts de sagnat. L'esquelet bàsic del cos s'assembla a això:
// es necessiten les biblioteques «js» de katepart, per exemple, «range.js» // si utilitzeu «Range» require ("range.js"); triggerCharacters = "{}/:;"; function indent(line, indentWidth, ch) { // crida per a cada línia nova (ch == «\n») i tots els caràcters s'especifiquen en // la variable global triggerCharacters. Quan es crida → // la variable ch és buidada, és a dir, ch == «». // // Vegeu també: L'API per a crear scripts return -2; }
La funció indent()
té tres paràmetres:
line
: La línia que ha d'estar amb sagnat.indentWidth
: L'amplada del sagnat en nombre d'espais.ch
: o bé un caràcter de línia nova (ch == '\n'
),el caràcter de tall especificat entriggerCharacters
o buida si l'usuari invoca l'acció → .
El valor retornat de la funció indent()
especifica com se sagna la línia. Si el valor retornat és un nombre enter simple, aquest s'interpreta de la següent manera:
El valor retornat
-2
: No fa res.El valor retornat
-1
: Es manté el sagnat (cerca la línia anterior que no estigui en blanc).El valor retornat
0
: Un número >= 0 especifica la profunditat del sagnat en nombre d'espais.
Alternativament, un conjunt de dos elements poden retornar:
return [ indent, align ];
En aquest cas, el primer element és la profunditat de sagnat com anteriorment amb el mateix significat dels valors especials. No obstant això, el segon element és un valor absolut que representa una columna d'«alineació». Si aquest valor és major que el valor de sagnat, la diferència representa un nombre d'espais a afegir després del sagnat del primer paràmetre. En cas contrari, el segon nombre serà ignorat. L'ús de tabulacions i espais per al sagnat sovint és referit com «mode mixt».
Considerem el següent exemple: Suposem que s'utilitzen tabulacions per a sagnar, i l'amplada de la tabulació és 4. Aquí, <tab> representa una tabulació i «.» un espai:
1: <tab><tab>foobar("hola", 2: <tab><tab>......."món");
Quan se sagna la línia 2, la funció indent()
retorna [8, 15]. Com a resultat, s'insereixen dues tabulacions per a sagnar fins a la columna 8, i s'afegeixen 7 espais per a alinear el segon paràmetre a la primera, de manera que quedi alineat si el fitxer es veu amb una amplada de tabulació diferent.
Una instal·lació predeterminada del KDE ens dona la KatePart amb diversos sagnats. El corresponent codi font de JavaScript d'origen pot trobar-se en $
.XDG_DATA_DIRS
/katepart5/script/indentation
Al Windows® aquests fitxers es troben a %USERPROFILE%\AppData\Local\katepart5\script\indentation
. %USERPROFILE%
que generalment s'expandeix a C:\\Users\\
. usuari
El desenvolupament d'un sagnat requereix tornar a carregar els scripts per a veure si els canvis es comporten adequadament. En comptes de reiniciar l'aplicació, simplement canvieu a la línia d'ordres i crideu l'ordre reload-scripts.
Si desenvolupeu scripts útils, si us plau, considereu contribuir al projecte KatePart posant-vos en contacte amb la llista de correu.
Com és difícil satisfer les necessitats de tothom, la KatePart suporta unes quantes eines d'ajuda per a la manipulació ràpida de text a través de la línia d'ordres inclosa. Per exemple, l'ordre sort s'implementa com un script. En aquesta secció s'explica com crear fitxers *.js
per a estendre la KatePart amb scripts d'ajuda arbitrària.
Els scripts de línia d'ordres es troben a la mateixa carpeta que els scripts de sagnat. Així que com a primer pas, creeu un fitxer *.js
nou anomenat myutils.js
a la carpeta d'inici local $
. En aquest sentit, la variable d'entorn XDG_DATA_HOME
/katepart5/script/commandsXDG_DATA_HOME
normalment s'expandeix a ~/.local
o ~/.local/share
.
Al Windows® aquests fitxers es troben a %USERPROFILE%\AppData\Local\katepart5\script\commands
. %USERPROFILE%
que generalment s'expandeix a C:\\Users\\
. usuari
La capçalera de cada script de la línia d'ordres està incrustada en el JSON al començament de l'script de la forma següent:
var katescript = { "author": "Nom exemple <nom.exemple@alguna.adreça.org>", "license": "LGPLv2+", "revision": 1, "kate-version": "5.1", "functions": ["sort", "moveLinesDown"], "actions": [ { "function": "sort", "name": "Sort Selected Text", "category": "Editing", "interactive": "false" }, { "function": "moveLinesDown", "name": "Move Lines Down", "category": "Editing", "shortcut": "Ctrl+Shift+Down", "interactive": "false" } ] }; // kate-script-header, haurà d'estar al començament del fitxer sense comentaris
Cada entrada s'explica en detall tot seguit:
author
[opcional]: El nom de l'autor i la informació de contacte.license
[opcional]: La forma curta de la llicència, com ara BSD o LGPLv2.revision
[requerit]: La revisió de l'script. Aquest número ha de ser major cada vegada que es modifica l'script.kate-version
[requerit]: La versió mínima requerida per la KatePart.functions
[requerit]: Matriu JSON de les ordres a l'script.actions
[opcional]: La matriu JSON dels objectes JSON que defineixen les accions que apareixen al menú de l'aplicació. Es proporciona informació detallada a la secció Vincular dreceres.
Atès que el valor de functions
és una matriu JSON, un únic script és capaç de contenir un nombre arbitrari d'ordres de la línia d'ordres. Cada funció està disponible a través de la línia d'ordres integrada a la KatePart.
Totes les funcions especificades a la capçalera s'han d'implementar a l'script. Per exemple, el fitxer de script en l'exemple anterior necessita implementar les dues funcions sort i moveLinesDown. Totes les funcions tenen la següent sintaxi:
// es necessiten les biblioteques «js» de la katepart, p. ex., «range.js» // si utilitzeu «Range» require ("range.js"); function <nom>(arg1, arg2...) { // «...» implementació, vegeu també: L'API de creació de scripts. }
Els arguments en la línia d'ordres es passen a la funció com arg1
, arg2
, etc. Per tal de proveir documentació per a cada ordre, simplement implementeu la funció «help
» de la següent manera:
{ if (cmd == "sort") { return i18n("Ordena el text seleccionat."); } else if (cmd == "...") { // ... } }
Executar help sort a la línia d'ordres crida a aquesta funció d'ajuda amb l'argument cmd
establert en l'ordre donada, és a dir, cmd == "sort"
. La KatePart presentarà el text retornat com a documentació per a l'usuari. Assegureu-vos de traduir les cadenes.
El desenvolupament d'un script de línia d'ordres requereix tornar a carregar els scripts per a veure si els canvis es comporten adequadament. En comptes de reiniciar l'aplicació, simplement canvieu a la línia d'ordres i crideu l'ordre reload-scripts.
Per tal de fer que els scripts siguin accessibles al menú de l'aplicació i assignar dreceres, l'script ha de proporcionar una capçalera de script adequada. En l'exemple anterior, ambdues funcions sort
i moveLinesDown
apareixen al menú per la següent part a la capçalera de l'script:
var katescript = { ... "actions": [ { "function": "sort", "name": "Sort Selected Text", "icon": "", "category": "Editing", "interactive": "false" }, { "function": "moveLinesDown", "name": "Move Lines Down", "icon": "", "category": "Editing", "shortcut": "Ctrl+Shift+Down", "interactive": "false" } ] };
Els camps per a una acció són els següents:
function
[requerit]: La funció que ha d'aparèixer al menú → .name
[requerit]: El text apareix al menú de l'script.icon
[opcional]: La icona apareix al costat del text en el menú. Aquí es poden utilitzar tots els noms d'icones del KDE.category
[opcional]: Si s'especifica una categoria, l'script apareixerà en un submenú.shortcut
[opcional]: La drecera indicada serà la drecera predeterminada. Exemple:Ctrl+Alt+t
. Per a més detalls, vegeu la Documentació de les Qt™.interactive
[opcional]: Si l'script necessita utilitzar l'entrada a la línia d'ordres, establiu-ho atrue
(cert).
Si desenvolupeu scripts útils, si us plau, considereu contribuir al projecte KatePart posant-vos en contacte amb la llista de correu.
L'API per a crear scripts que es presenta aquí està disponible per a tots els scripts, p. ex., els scripts de sagnat i una ordre de línia d'ordres. Les classes Cursor
i Range
són proporcionades pels fitxers de la biblioteca a $
. Si voleu utilitzar-los en el seu vostre script, serà necessari utilitzar algunes de les funcions XDG_DATA_DIRS
/katepart5/librariesDocument
o View
, si us plau, afegiu la biblioteca necessària mitjançant:
// es necessiten les biblioteques «js» de la katepart, p. ex., «range.js» // si utilitzeu «Range» require ("range.js");
Per a estendre la norma de l'API per a crear scripts amb les vostres pròpies funcions i prototips n'hi ha prou amb crear un fitxer nou a la carpeta de configuració local del KDE $
i incloure'l a l'script utilitzant: XDG_DATA_HOME
/katepart5/libraries
require ("nom_script.js");
Al Windows® aquests fitxers es troben a %USERPROFILE%\AppData\Local\katepart5\libraries
. %USERPROFILE%
que generalment s'expandeix a C:\\Users\\
.usuari
Per a estendre els prototips com Cursor
o Range
, la manera més recomanable és no modificar els fitxers *.js
globals. En el seu lloc, canvieu el prototip Cursor
en JavaScript, després afegiu el cursor.js
al vostre script mitjançant require
.
Com la KatePart és un editor de text, tota l'API per a la creació de scripts es basa en els cursors i els intervals sempre que sigui possible. Un Cursor és una simple (line, column)
que representa una posició del text en el document. Un «Range» s'estén pel text des de la posició del cursor fins a una posició final del cursor. L'API s'explica amb detall en les següents seccions.
Cursor();
Constructor. Retorna un cursor a la posició
(0, 0)
.Exemple:
var cursor = new Cursor();
Cursor(
int
,línia
int
);columna
Constructor. Retorna un cursor a la posició (línia, columna).
Exemple:
var cursor = new Cursor(3, 42);
Cursor(
Cursor
);altra
El constructor de còpia. Retorna una còpia del cursor
altra
.Exemple:
var copy = new Cursor(altra);
Cursor Cursor.clone();
Retorna una còpia del cursor.
Exemple:
var clone = cursor.clone();
Cursor.setPosition(
int
,línia
int
);columna
Estableix la posició del cursor a
línia
icolumna
.Des del: KDE 4.11
bool Cursor.isValid();
Comproveu si el cursor és vàlid. El cursor no és vàlid, si la línia i/o la columna s'estableix a
-1
.Exemple:
var valid = cursor.isValid();
Cursor Cursor.invalid();
Retorna un cursor nou no vàlid situat a
(-1, -1)
.Exemple:
var invalidCursor = cursor.invalid();
int Cursor.compareTo(
Cursor
);altra
Compara aquest cursor al cursor
altra
. Retorna-1
, si el cursor està situat abans del cursoraltra
,0
, si tots dos cursors són iguals i+1
, si el cursor està situat després del cursoraltra
.
bool Cursor.equals(
Cursor
);altra
Retorna
true
(cert), si aquest cursor i el cursoraltra
són iguals, en cas contrari retornaràfalse
(fals).String Cursor.toString();
Retorna el cursor com una cadena de la forma «
Cursor(line, column)
».
Range();
El constructor. Crida
new Range()
retornant un interval (0, 0) - (0, 0).Range(
Cursor
,inici
Cursor
);final
El constructor. Crida
new Range(
retorna l'interval de (inici
,final
)inici
,final
).Range(
int
,líniaInici
int
,columnaInici
int
,líniaFinal
int
);columnaFinal
El constructor. Crida
new Range(
retorna l'interval de (líniaInici
,columnaInici
,líniaFinal
,columnaFinal
)líniaInici
,columnaInici
) a (líniaFinal
,columnaFinal
).Range(
Range
);altra
El constructor de còpia. Retorna una còpia de l'interval
altra
.Range Range.clone();
Retorna una còpia de l'interval.
Exemple:
var clone = range.clone();
bool Range.isEmpty();
Retorna
true
(cert), si inici i final del cursor són iguals.Exemple:
var empty = range.isEmpty();
Des del: KDE 4.11
bool Range.isValid();
Retorna
true
(cert), si inici i final del cursor són vàlids, en cas contrari retornaràfalse
(fals).Exemple:
var valid = range.isValid();
Range Range.invalid();
Retorna l'interval de (-1, -1) a (-1, -1).
bool Range.contains(
Cursor
);cursor
Retorna
true
(cert) si aquest interval conté la posició de cursor, en cas contrari retornaràfalse
(fals).bool Range.contains(
Range
);altra
Retorna
true
(cert), si aquest interval conté l'intervalaltra
, en cas contrari retornaràfalse
(fals).bool Range.containsColumn(
int
);columna
Retorna
true
(cert), sicolumna
està en l'interval obert mig[start.column, end.column)
, en cas contrari retornaràfalse
(fals).bool Range.containsLine(
int
);línia
Retorna
true
(cert), silínia
està en l'interval obert mig[start.line, end.line)
, en cas contrari retornaràfalse
(fals).bool Range.overlaps(
Range
);altre
Retorna
true
(cert), si aquest interval i l'intervalaltre
comparteixen una regió comuna, en cas contrari retornaràfalse
(fals).bool Range.overlapsLine(
int
);línia
Retorna
true
(cert), silínia
està en l'interval[start.line, end.line]
, en cas contrari retornaràfalse
(fals).bool Range.overlapsColumn(
int
);columna
Retorna
true
(cert), sicolumna
està en l'interval[start.column, end.column]
, en cas contrari retornaràfalse
(fals).bool Range.onSingleLine();
Retorna
true
(cert), si l'interval comença i finalitza a la mateixa línia, és a dir siLínia.comença.interval == Línia.finalitza.interval
.Des del: KDE 4.9
bool Range.equals(
Range
);altra
Retorna
true
(cert), si aquest interval i l'intervalaltra
són iguals, en cas contrari retornaràfalse
(fals).String Range.toString();
Retorna l'interval com una cadena de la forma «
Rang(Cursor(line, column), Cursor(line, column))
».
Aquesta secció llista totes les funcions globals.
String read(
String
);fitxer
Cercarà el
fitxer
donat en relació amb el directorikatepart5/script/files
i retorna el seu contingut com una cadena.
void require(
String
);fitxer
Cercarà el
fitxer
donat en relació amb el directorikatepart5/script/libraries
i l'avaluarà.require
està internament protegit contra inclusions múltiples del mateixfitxer
.Des del: KDE 4.10
void debug(
String
);text
Imprimeix
text
astdout
a la consola de llançament de l'aplicació.
Per tal de donar suport a la completa localització, hi ha diverses funcions per a convertir cadenes en els scripts, anomenades i18n
, i18nc
, i18np
i i18ncp
. Aquestes funcions es comporten exactament com les funcions de traducció del KDE.
Les funcions de traducció tradueixen les cadenes embolcallades a través del sistema de traducció del KDE per a l'idioma utilitzat en l'aplicació. Les cadenes als scripts es desenvolupen a les fonts oficials de la KatePart i s'extrauen de forma automàtica i traduïble. En altres paraules, com a desenvolupador de la KatePart no haureu de preocupar-vos per l'extracció dels missatges i la traducció. Però cal assenyalar que la traducció només funciona dins de la infraestructura del KDE, és a dir, les cadenes noves als scripts de terceres parts desenvolupats fora del KDE no seran traduïbles. Per tant, considereu en contribuir els vostres scripts al Kate, de tal manera que sigui possible una traducció apropiada.
void i18n(
String
,text
arg1
...);Tradueix
text
a l'idioma emprat per l'aplicació. Els argumentsarg1
..., són opcionals i s'utilitzen per a substituir els arguments%1
,%2
, etc.void i18nc(
String
,context
String
,text
arg1
...);Tradueix
text
a l'idioma emprat per l'aplicació. A més, la cadenacontext
és visible a l'equip de traducció perquè puguin oferir una millor traducció. Els argumentsarg1
..., són opcionals i s'utilitzen per a substituir els arguments%1
,%2
, etc.void i18np(
String
,singular
String
,plural
int
,número
arg1
...);Tradueix
singular
oplural
a l'idioma emprat per l'aplicació, en funció delnúmero
indicat. Els argumentsarg1
..., són opcionals i s'utilitzen per a substituir els arguments%1
,%2
, etc.void i18ncp(
String
,context
String
,singular
String
,plural
int
,número
arg1
...);Tradueix
singular
oplural
a l'idioma emprat per l'aplicació, en funció delnúmero
indicat. A més, la cadenacontext
és visible a l'equip de traducció perquè puguin oferir una millor traducció. Els argumentsarg1
..., són opcionals i s'utilitzen per a substituir els arguments%1
,%2
, etc.
Cada vegada que s'executa un script, si hi ha una variable global «view
» que representa la vista actual de l'editor actiu. La següent és una llista de totes les funcions «View» disponibles.
void view.copy()
Copia la selecció si n'hi ha una, en cas contrari la línia actual si s'ha establert l'opció
[] Copia/retalla la línia actual si no hi ha cap selecció
.Des del: Frameworks del KDE 5.79
void view.cut()
Retalla la selecció si n'hi ha una, en cas contrari la línia actual si s'ha establert l'opció
[ ] Copia/retalla la línia actual si no hi ha cap selecció
.Des del: Frameworks del KDE 5.79
void view.paste()
Enganxa el contingut del porta-retalls.
Des del: Frameworks del KDE 5.79
Cursor view.cursorPosition()
Retorna la posició actual del cursor en la vista.
void view.setCursorPosition(
int
,línia
int
); void view.setCursorPosition(columna
Cursor
);cursor
Estableix la posició actual del cursor a (línia, columna) o el cursor indicat.
Cursor view.virtualCursorPosition();
Retorna la posició del cursor virtual amb cada tabulació comptant la corresponent quantitat d'espais depenent de l'amplada de la tabulació actual.
void view.setVirtualCursorPosition(
int
,línia
int
); void view.setVirtualCursorPosition(column
Cursor
);cursor
Estableix la posició actual del cursor virtual (línia, columna) o el cursor indicat.
String view.selectedText();
Retorna el text seleccionat. Si no hi ha text seleccionat, la cadena retornada estarà buida.
bool view.hasSelection();
Retorna
true
(cert), si la vista conté el text seleccionat, en cas contrari retornaràfalse
(fals).Range view.selection();
Retorna l'interval de text seleccionat. L'interval retornat no serà vàlid si no hi ha text seleccionat.
void view.setSelection(
Range
);rang
Estableix el text seleccionat a l'interval indicat.
void view.removeSelectedText();
Elimina el text seleccionat. Si la vista no té cap text seleccionat, no farà res.
void view.selectAll();
Selecciona el text sencer en el document.
void view.clearSelection();
Neteja la selecció de text sense eliminar-lo.
void view.setBlockSelection(bool on);
Activa o desactiva el mode de selecció de blocs («on» o «off»).
bool view.blockSelection();
Retorna
true
(cert), si el mode de selecció de blocs està activat, en cas contrari retornaràfalse
(fals).void view.align(
Range
);interval
Torna a sagnar correctament les línies dins de l'
interval
segons els paràmetres actuals del sagnat.void view.alignOn(
Range
,interval
String
);patró
= ""Alinea les línies de l'
interval
a la columna indicada pelpatró
de l'expressió regular. Amb unpatró
buit s'alinearà amb el primer caràcter no blanc de manera predeterminada. Si el patró té una captura, se sagnarà a la coincidència capturada.Exemples:
view.alignOn(document.documentRange(), '-');
inserirà espais abans del primer-
de cada línia per a alinear-les totes a la mateixa columna.>
view.alignOn(document.documentRange(), ':\\s+(.)');
inserirà espais abans del primer caràcter no blanc que hi hagi després de dos punts (:) per a alinear-les totes a la mateixa columna.object view.executeCommand(
String
,ordre
String
,args
Range
);interval
Executa l'
ordre
des de la línia d'ordres amb els argumentsargs
opcionals i l'interval
opcional. L'objecte
retornat tindrà una propietat booleanaobject.ok
, la qual indica que l'execució de l'ordre
ha tingut èxit. En cas d'error, la cadenaobject.status
contindrà un missatge d'error.Des del: Frameworks del KDE 5.0
Range view.searchText(
Range
,interval
String
,patró
bool
);enrere
= falseCerca la primera ocurrència de
patró
a l'interval
i retorna l'interval coincident. La cerca es porta a terme cap enrere si el paràmetre booleà opcionalenrere
s'estableix acert
.L'interval retornat no és vàlid (vegeu Range.isValid()) si el
patró
no s'ha trobat en l'interval
.Des del: Frameworks del KDE 5.97
Cada vegada que s'executa un script, si hi ha una variable global «document
» que representa el document actiu actual. La següent és una llista de totes les funcions de «Document» disponibles.
String document.fileName();
Retorna el nom de fitxer del document o una cadena buida per a la memòria cau del text sense desar.
String document.url();
Retorna l'URL complet del document o una cadena buida per a la memòria cau del text sense desar.
String document.mimeType();
Retorna el tipus MIME del document o el tipus MIME
application/octet-stream
si no es pot trobar un tipus MIME adequat.String document.encoding();
Retorna la codificació emprada actualment per a desar el fitxer.
String document.highlightingMode();
Retorna el mode de ressaltat global emprat per a tot el document.
String document.highlightingModeAt(
Cursor
);pos
Retorna el mode de ressaltat emprat a la posició indicada en el document.
Array document.embeddedHighlightingModes();
Retorna una cadena dels modes de ressaltat incrustats en aquest document.
bool document.isModified();
Retorna
true
(cert), si el document conté canvis sense desar (modificat), en cas contrari retornaràfalse
(fals).String document.text();
Retorna el contingut complet del document en una cadena de text única. Els salts de línia estan marcats amb el caràcter de nova línia «
\n
».String document.text(
int
,desDeLínia
int
,desDeColumna
int
,alaLínia
int
); String document.text(alaColumna
Cursor
,desDe
Cursor
); String document.text(a
Range
);rang
Retorna el text en l'interval donat. Es recomana utilitzar el cursor i la versió basada en l'interval per a una millor lectura del codi font.
String document.line(
int
);línia
Retorna la línia de text donada com a cadena. La cadena estarà buida si la línia demanada està fora de l'interval.
String document.wordAt(
int
,línia
int
); String document.wordAt(columna
Cursor
);cursor
Retorna la paraula a la posició del cursor donada.
-
Range document.wordRangeAt(
int
,línia
int
); Range document.wordRangeAt(columna
Cursor
);cursor
Retorna l'interval de la paraula a la posició del cursor donada. L'interval retornat no serà vàlid (vegeu Range.isValid()), si la posició del text és després del final d'una línia. Si no hi ha paraula al cursor donat, es retornarà un interval buit.
Des del: KDE 4.9
String document.charAt(
int
,línia
int
); String document.charAt(columna
Cursor
);cursor
Retorna el caràcter a la posició del cursor donada.
String document.firstChar(
int
);línia
Retorna el primer caràcter en la
línia
donada que no és un espai en blanc. El primer caràcter és a la columna 0. Si la línia està buida o només conté espais en blanc, la cadena retornada estarà buida.String document.lastChar(
int
);línia
Retorna l'últim caràcter de la
línia
donada que no és un espai en blanc. Si la línia està buida o només conté espais en blanc, la cadena retornada estarà buida.bool document.isSpace(
int
,línia
int
); bool document.isSpace(columna
Cursor
);cursor
Retorna
true
(cert), si el caràcter a la posició del cursor donada és un espai en blanc, en cas contrari retornaràfalse
(fals).bool document.matchesAt(
int
,línia
int
,columna
String
); bool document.matchesAt(text
Cursor
,cursor
String
);text
Retorna
true
(cert), si eltext
donat coincideix a la posició del cursor corresponent, en cas contrari retornaràfalse
(fals).bool document.startsWith(
int
,línia
String
,text
bool
);skipWhiteSpaces
Retorna
true
(cert), si la línia comença ambtext
, en cas contrari retornaràfalse
(fals). L'argumentskipWhiteSpaces
controla si s'han d'ometre els espais en blanc al davant.bool document.endsWith(
int
,línia
String
,text
bool
);skipWhiteSpaces
Retorna
true
(cert), si la línia acaba ambtext
, en cas contrari retornaràfalse
(fals). L'argumentskipWhiteSpaces
controla si s'han d'ometre els espais en blanc finals.bool document.setText(
String
);text
Estableix el text a tot el document.
bool document.clear();
Elimina tot el text en el document.
bool document.truncate(
int
,línia
int
); bool document.truncate(columna
Cursor
);cursor
Trunca la línia donada a la columna o la posició donada del cursor. Retorna
true
(cert) en cas d'èxit, ofalse
(fals) si la línia donada no forma part de l'interval del document.bool document.insertText(
int
,línia
int
,columna
String
); bool document.insertText(text
Cursor
,cursor
String
);text
Insereix el
text
a la posició donada del cursor. Retornatrue
(cert) en cas d'èxit, ofalse
(fals), si el document està en el mode de només lectura.bool document.removeText(
int
,desDeLínia
int
,desDeColumna
int
,alaLínia
int
); bool document.removeText(alaColumna
Cursor
,desDe
Cursor
); bool document.removeText(a
Range
);rang
Elimina el text dins de l'interval donat. Retorna
true
(cert) en cas d'èxit, ofalse
(fals), si el document està en el mode de només lectura.bool document.insertLine(
int
,línia
String
);text
Insereix text en la línia donada. Retorna
true
(cert) en cas d'èxit, ofalse
(fals), si el document està en el mode de només lectura o la línia no està en l'interval del document.bool document.removeLine(
int
);línia
Elimina la línia de text donada. Retorna
true
(cert) en cas d'èxit, ofalse
(fals), si el document està en el mode de només lectura o la línia no està en l'interval del document.bool document.wrapLine(
int
,línia
int
); bool document.wrapLine(columna
Cursor
);cursor
Ajusta la línia a la posició del cursor donada. Retorna
true
(cert) en cas d'èxit, ofalse
(fals), p. ex. si la línia < 0.Des del: KDE 4.9
void document.joinLines(
int
,iniciLínia
int
);finalLínia
S'uneix a les línies de
iniciLínia
afinalLínia
. Dues línies de text successives sempre estan separades per un espai.int document.lines();
Retorna el nombre de línies en el document.
bool document.isLineModified(
int
);línia
Retorna
true
(cert), si lalínia
actual conté dades sense desar.Des del: KDE 5.0
bool document.isLineSaved(
int
);línia
Retorna
true
(cert), si lalínia
ha canviat, però el document ha estat desat. Per tant, la línia actual no conté cap dada sense desar.Des del: KDE 5.0
bool document.isLineTouched(
int
);línia
Retorna
true
(cert), si lalínia
actual conté dades sense desar o que s'han canviat abans.Des del: KDE 5.0
bool document.findTouchedLine(
int
,iniciLínia
bool
);avall
Cerca la següent línia tocada començant per la
línia
. La cerca es realitza amunt o avall depenent de la direcció especificada aavall
.Des del: KDE 5.0
int document.length();
Retorna el nombre de caràcters en el document.
int document.lineLength(
int
);línia
Retorna la longitud de la
línia
.void document.editBegin();
Comença un grup d'edició per a agrupar desfer/refer. Assegureu-vos de cridar sempre
editEnd()
tan aviat com crideueditBegin()
. La cridaeditBegin()
utilitza internament un comptador de referència, és a dir, aquesta crida es pot imbricar.void document.editEnd();
Finalitza un grup d'edició. L'última crida de
editEnd()
(és a dir, una per a la primera crida deeditBegin()
) finalitza el pas d'edició.int document.firstColumn(
int
);línia
Retorna la primera columna que no està en blanc en la
línia
donada. Si només hi ha espais en blanc a la línia, el valor retornat serà-1
.int document.lastColumn(
int
);línia
Retorna la darrera columna que no està en blanc en la
línia
donada. Si només hi ha espais en blanc a la línia, el valor retornat serà-1
.int document.prevNonSpaceColumn(
int
,línia
int
); int document.prevNonSpaceColumn(columna
Cursor
);cursor
Retorna la columna no buida que conté un caràcter no en blanc a partir de la posició donada del cursor i cercant cap enrere.
int document.nextNonSpaceColumn(
int
,línia
int
); int document.nextNonSpaceColumn(columna
Cursor
);cursor
Retorna la columna no buida que conté un caràcter no en blanc a partir de la posició donada del cursor i cercant cap endavant.
int document.prevNonEmptyLine(
int
);línia
Retorna la línia següent no buida que conté caràcters no en blanc a la cerca cap enrere.
int document.nextNonEmptyLine(
int
);línia
Retorna la línia següent no buida que conté caràcters no en blanc a la cerca cap endavant.
bool document.isInWord(
String
,caràcter
int
);atribut
Retorna
true
(cert), si elcaràcter
donat amb l'atribut
donat pot formar part d'una paraula, en cas contrari retornaràfalse
(fals).bool document.canBreakAt(
String
,caràcter
int
);atribut
Retorna
true
(cert), si elcaràcter
donat amb l'atribut
donat és adequat com a embolcall d'una línia, en cas contrari retornaràfalse
(fals).bool document.canComment(
int
,iniciAtribut
int
);finalAtribut
Retorna
true
(cert), si un interval inicial i final amb els atributs donats es presten a ser descomentats, en cas contrari retornaràfalse
(fals).String document.commentMarker(
int
);atribut
Retorna el marcador de comentari per als comentaris de línia única per a un
atribut
donat.String document.commentStart(
int
);atribut
Retorna el marcador de comentari per al començament de comentaris de múltiples línies per a un
atribut
donat.String document.commentEnd(
int
);atribut
Retorna el marcador de comentari per al final de comentaris de múltiples línies per a un
atribut
donat.Range document.documentRange();
Retorna un interval que abasta tot el document.
Cursor documentEnd();
Retorna un cursor situat a l'última columna de l'última línia al document.
bool isValidTextPosition(
int
,línia
int
); bool isValidTextPosition(columna
Cursor
);cursor
Retorna
true
(cert), si la posició indicada del cursor està situada a una posició vàlida del text. Una posició de text només és vàlida si es localitza al començament, al mig o al final d'una línia vàlida. A més, una posició de text no serà vàlida si es troba en un substitut Unicode.Des del: KDE 5.0
int document.attribute(
int
,línia
int
); int document.attribute(columna
Cursor
);cursor
Retorna l'atribut a la posició del cursor donada.
bool document.isAttribute(
int
,línia
int
,columna
int
); bool document.isAttribute(atribut
Cursor
,cursor
int
);atribut
Retorna
true
(cert), si l'atribut a la posició del cursor és igual que l'atribut
, en cas contrari retornaràfalse
(fals).String document.attributeName(
int
,línia
int
); String document.attributeName(columna
Cursor
);cursor
Retorna el nom de l'atribut com a text llegible. Això equival al nom
itemData
en els fitxers de ressaltat de la sintaxi.bool document.isAttributeName(
int
,línia
int
,columna
String
); bool document.isAttributeName(nom
Cursor
,cursor
String
);nom
Retorna
true
(cert), si el nom de l'atribut en una posició determinada del cursor coincideix amb elnom
donat, en cas contrari retornaràfalse
(fals).String document.variable(
String
);clau
Retorna el valor de la variable de document demanada
clau
. Si la variable de document no existeix, el valor retornat serà una cadena buida.void document.setVariable(
String
,clau
String
);valor
Estableix el valor de la variable de document demanada
clau
.Vegeu també: variables de document del Kate
Des del: KDE 4.8
int document.firstVirtualColumn(
int
);línia
Retorna la columna virtual del primer caràcter que no està en blanc a la línia donada o
-1
, si la línia està buida o només conté caràcters d'espai en blanc.int document.lastVirtualColumn(
int
);línia
Retorna la columna virtual de l'últim caràcter que no està en blanc a la línia donada o
-1
, si la línia està buida o només conté caràcters d'espai en blanc.int document.toVirtualColumn(
int
,línia
int
); int document.toVirtualColumn(columna
Cursor
); Cursor document.toVirtualCursor(cursor
Cursor
);cursor
Converteix la posició «real» donada del cursor a una posició virtual del cursor, d'altra manera retorna un «int» o un objecte «Cursor».
int document.fromVirtualColumn(
int
,línia
int
); int document.fromVirtualColumn(virtualColumna
Cursor
); Cursor document.fromVirtualCursor(virtualCursor
Cursor
);virtualCursor
Converteix la posició virtual donada del cursor a una posició «real» del cursor, d'altra manera retorna un «int» o un objecte «Cursor».
Cursor document.anchor(
int
,línia
int
,columna
Char
); Cursor document.anchor(caràcter
Cursor
,cursor
Char
);caràcter
Cerca enrere pel caràcter donat a partir del cursor donat. Com a exemple, si es passa «(» com a caràcter, aquesta funció retornarà la posició de l'obertura «(». Això compta la referència, és a dir, els altres «(...)» seran ignorats.
Cursor document.rfind(
int
,línia
int
,columna
String
,text
int
); Cursor document.rfind(atribut
= -1Cursor
,cursor
String
,text
int
);atribut
= -1Cerca cap enrere el text donat amb l'
atribut
adequat. L'argumentatribut
s'ignorarà si s'estableix a-1
. El cursor retornat no serà vàlid, si el text no s'ha pogut trobar.int document.defStyleNum(
int
,línia
int
); int document.defStyleNum(columna
Cursor
);cursor
Retorna l'estil predeterminat utilitzat a la posició donada del cursor.
bool document.isCode(
int
,línia
int
); bool document.isCode(columna
Cursor
);cursor
Retorna
true
(cert), si l'atribut a la posició donada del cursor no és igual per a tots els següents estils:dsComment
,dsString
,dsRegionMarker
,dsChar
,dsOthers
.bool document.isComment(
int
,línia
int
); bool document.isComment(columna
Cursor
);cursor
Retorna
true
(cert), si l'atribut del caràcter a la posició del cursor ésdsComment
, en cas contrari retornaràfalse
(fals).bool document.isString(
int
,línia
int
); bool document.isString(columna
Cursor
);cursor
Retorna
true
(cert), si l'atribut del caràcter a la posició del cursor ésdsString
, en cas contrari retornaràfalse
(fals).bool document.isRegionMarker(
int
,línia
int
); bool document.isRegionMarker(columna
Cursor
);cursor
Retorna
true
(cert), si l'atribut del caràcter a la posició del cursor ésdsRegionMarker
, en cas contrari retornaràfalse
(fals).bool document.isChar(
int
,línia
int
); bool document.isChar(columna
Cursor
);cursor
Retorna
true
(cert), si l'atribut del caràcter a la posició del cursor ésdsChar
, en cas contrari retornaràfalse
(fals).bool document.isOthers(
int
,línia
int
); bool document.isOthers(columna
Cursor
);cursor
Retorna
true
(cert), si l'atribut del caràcter a la posició del cursor ésdsOthers
, en cas contrari retornaràfalse
(fals).void document.indent(
Range
,interval
int
);canvi
Sagna totes les línies de l'
interval
canviant
les tabulacions ocanviant
tabSize
vegades els espais depenent de les preferències dels usuaris. El paràmetrecanvi
pot ser negatiu.
A més de l'API del document i la visualització, hi ha una API general de l'editor que proporciona funcions per a la funcionalitat per a crear scripts general de l'editor.
Cadena editor.clipboardText();
Retorna el text que es troba actualment al porta-retalls global.
Des del: Frameworks del KDE 5.0
Cadena editor.clipboardHistory();
L'editor manté un historial del porta-retalls que conté fins a 10 entrades. Aquesta funció retorna totes les entrades que actualment es troben a l'historial del porta-retalls.
Des del: Frameworks del KDE 5.0
void editor.setClipboardText(
String
);text
Estableix el contingut del porta-retalls al
text
. Eltext
serà afegit a l'historial del porta-retalls.Des del: Frameworks del KDE 5.0

Seleccionant → apareixerà el diàleg Configura. Aquest diàleg es pot utilitzar per a alterar un cert nombre d'opcions diferents. Les opcions disponibles per a cada categoria poden variar d'acord amb la categoria que l'usuari escull en el llistat vertical que hi ha a la part esquerra del diàleg. Mitjançant els tres botons del quadre de baix del quadre, l'usuari podrà controlar el procés.
És possible demanar Ajuda al sistema, acceptar la configuració actual i tancar el diàleg mitjançant el botó , o el procés. Les categories Aparença, Tipus de lletra i colors, Edició, Obre/desa i Extensions seran detallades a continuació.
Aquest grup conté totes les pàgines relacionades amb el component editor de la KatePart. La majoria de les opcions de configuració que es troben aquí són les predeterminades, i poden ser sobreescrites per les definicions del tipus de fitxer, per les variables de document o pels canvis en el mateix document durant una sessió d'edició.
- Tipus de lletra de l'editor
Aquí podreu escollir el tipus de lletra de l'editor de text. Podeu escollir qualsevol tipus de lletra disponible en el vostre sistema, i establir la mida predeterminada. Es mostra un text d'exemple a la part inferior del diàleg, de manera que podeu veure l'efecte de la vostra elecció.
Per a obtenir més informació sobre com triar un tipus de lletra, vegeu la secció Triar els tipus de lletra a la documentació Fonaments del KDE.
- Mostra els indicadors dels espais en blanc
- Mai
L'editor no mostrarà punts per a indicar la presència dels espais en blanc.
- Al final de línia
L'editor mostrarà punts per a indicar la presència d'espais en blanc extra al final de les línies.
- Sempre
L'editor mostrarà sempre punts per a indicar la presència dels espais en blanc.
- Mida de l'indicador dels espais en blanc
Utilitzeu el control lliscant per a canviar la mida del marcador d'indicador visible.
- Mostra els indicadors dels tabuladors
Quan està marcada, l'editor mostrarà un símbol » per a indicar la presència d'un tabulador en el text.
- Mostra el marc del focus al voltant de l'editor
Quan està marcada, l'editor mostrarà el marc del focus al voltant del control de text principal.
- Concordança de parèntesis
- Ressalta l'interval entre els parèntesis seleccionats
Si està activat, es ressaltarà l'interval entre la parella de parèntesis seleccionats.
- Mostra una vista prèvia del parèntesi obert que coincideix
Quan estigui habilitada, l'editor mostrarà un consell d'eina sobre la línia del parèntesi concordant obert.
- Flaix del parèntesi concordant quan el cursor es mou al parèntesi emparellat
Si està activada, es mourà sobre els parèntesis que coincideixin ({, [, ], }, ( o )) farà parpellejar ràpidament el parèntesi corresponent.
- Mostra les línies de sagnat
Si està marcada, l'editor mostrarà línies verticals per a ajudar a identificar el sagnat de les línies.
- Comptadors
- Mostra el comptador de paraules
Mostra el nombre de paraules i caràcters que hi ha al document i a la selecció actual a la barra d'estat. Aquesta opció també està disponible al menú contextual de la barra d'estat.
- Mostra el comptador de línies
Mostra a la barra d'estat el nombre total de línies del document. Aquesta opció també està disponible al menú contextual de la barra d'estat.
- Plega la primera línia
Si està activat, es plegarà la primera línia, si és possible. Això és útil, si el fitxer comença amb un comentari, com ara els drets d'autor
- Ajust dinàmic de les paraules
Si marqueu aquesta opció, les línies de text s'ajustaran a la vora de la vista en la pantalla.
- Ajusta dinàmicament al marcador d'ajust estàtic de les paraules
Quan està marcada, l'editor envoltarà dinàmicament les línies a la posició de l'ajust estàtic de les línies.
- Ignora els límits de paraula per a l'ajust dinàmic
Quan està marcada, l'editor no tindrà en compte els límits de paraula quan s'ajustin les línies de text.
- Indicadors de l'ajust dinàmic de les paraules
Escull quan i com es mostraran els indicadors d'ajust dinàmic de les paraules, ja sigui Inactiu, Segueix els números de línia o Sempre actiu.
- Sagna les línies ajustades:
A més, permet establir l'amplada màxima de la pantalla, com a un percentatge, després del qual les línies ajustades dinàmicament no s'alinearan verticalment. Per exemple, al 50%, les línies amb nivells de sagnat més gran del 50% de l'amplada de la pantalla no se'ls aplicarà l'alineació vertical.
- Multiplicador de l'alçada de les línies
Aquest valor es multiplicarà per l'alçada predeterminada de les línies de la lletra. Un valor d'1,0 vol dir que s'emprarà l'alçada predeterminada.
- Plegat de bloc de codi
- Mostra les fletxes per reduir els blocs de codi
Si aquesta opció està marcada, la vista actual mostrarà marques per al plegat del codi, si el plegat del codi està disponible.
- Mostra una vista prèvia dels blocs plegats en passar per sobre
Si aquesta opció està activada, en passar per sobre d'una regió plegada es mostrarà una vista prèvia del text plegat en una finestra emergent.
- Visibilitat de les fletxes de plegat
Canvia les fletxes de plegat entre i .
- Costat esquerre
- Mostra les marques
Si està marcada, veureu una vora per a les icones al costat esquerre. La vora per a les icones mostrarà els signes de punt.
- Mostra els números de les línies
Si està marcada, veureu els números de les línies al costat esquerre.
- Ressalta les línies canviades i sense desar
Si aquesta opció està marcada, els marcadors de modificació de línia seran visibles. Per a obtenir més informació, vegeu «Indicadors de modificació de línia».
- Barres de desplaçament
- Mostra les marques
Si aquesta opció està marcada, la vista actual mostrarà marques a la barra de desplaçament vertical. Aquestes marques per exemple, mostraran els punts.
- Mostra una vista prèvia en passar per sobre la barra de desplaçament
Si aquesta opció està marcada, i desplaceu la barra de desplaçament amb el cursor del ratolí, es mostrarà una petita vista prèvia del text amb diverses línies del document actual al voltant de la posició del cursor. Això permet canviar ràpidament a una altra part del document.
- Mapa en miniatura
- Mostra un mapa en miniatura
Si marqueu aquesta opció, cada vista nova mostrarà un mapa en miniatura del document a la barra de desplaçament vertical.
Per a més informació sobre el mapa en miniatura a la barra de desplaçament, vegeu «El mapa en miniatura a la barra de desplaçament».
- Amplada del mapa en miniatura
Ajusta l'amplada del mapa en miniatura a la barra de desplaçament, definida en píxels.
- Visibilitat de les barres de desplaçament
Commuta la barra de desplaçament o només la mostra quan sigui necessària. Feu clic amb el botó
del ratolí sobre el rectangle blau per a mostrar l'interval de números de línia del document que es mostra a la pantalla. Manteniu premut el botó del ratolí fora del rectangle blau per a desplaçar-vos automàticament a través del document.
- Ordena el menú dels punts
- Per data de creació
Cada punt nou s'afegirà a baix, independentment d'on estigui situat en el document.
- Per número de línia
Els punts s'ordenaran pel número de línia en la qual estan situats.
Aquesta secció del diàleg permet configurar tots els colors en qualsevol esquema de color que tingueu, i crear temes nous, suprimir els existents o Segueix l'esquema de color del sistema. Cada esquema té opcions de configuració per als colors i ressaltat dels estils de text.
La KatePart preseleccionarà el tema actualment actiu, si voleu treballar sobre un tema diferent, seleccioneu-lo en el quadre combinat Selecció del tema. Amb els botons i podreu crear un tema nou (copiant l'existent) o suprimir els existents.
Això es descriu en detall a «Els temes de color de la IGU».
- Ajust de les paraules
L'ajust de línia és una característica que causarà que l'editor iniciï automàticament una nova línia de text i desplaci (ajusti) el cursor al començament de la nova línia. La KatePart iniciarà automàticament una nova línia de text quan la línia actual abasti la longitud especificada per l'opció Ajusta les paraules a:.
- Ajusta les paraules a una columna fixada
Activa o desactiva l'ajust estàtic de les paraules.
- Dibuixa una línia vertical a la columna d'ajust de les paraules
Si aquesta opció està marcada, es dibuixarà una línia vertical a l'ajust de la línia tal com s'ha definit a → a la pestanya Editor. Cal tenir present que la marca d'ajust de la línia només es dibuixarà si utilitzeu un tipus de lletra de mida fix.
- Ajusta les paraules a:
Si l'opció Ajusta les paraules a una columna fixada està seleccionada, aquesta entrada determina la longitud (en caràcters) després de la qual l'editor iniciarà una nova línia automàticament.
- Mode d'entrada predeterminat:
El mode d'entrada vi seleccionat s'activarà en obrir una vista nova. Encara podreu commutar el mode d'entrada vi actiu/inactiu per a una vista particular en el menú .
- Claus
Si l'opció Tanca automàticament les claus quan es teclegi una clau d'obertura està seleccionada, quan l'usuari escrigui una clau esquerra ([, (, o {), la KatePart introduirà automàticament la clau dreta (}, ) o ]) a la dreta del cursor.
- Caràcters de tancament:
És possible seleccionar els caràcters de tancament mitjançant la llista desplegable corresponent.
Quan hi hagi text seleccionat, escrivint un d'aquests caràcters s'envoltarà el text seleccionat.
- Copiar i enganxar:
- Mou el text seleccionat en arrossegar
Aquesta opció permet arrossegar i deixar anar el text seleccionat dins la finestra de l'editor.
- Copia/retalla la línia actual si s'invoca sense cap text seleccionat
Si aquesta opció està activada i la selecció de text està buida, les accions copia i retalla es duran a terme per a la línia de text a la posició real del cursor.
- No moure el cursor de text en enganxar amb el ratolí
Si aquesta opció està habilitada i enganxeu algun text a la finestra de l'editor amb el clic del botó KatePart no mourà el cursor de text fins a la posició on heu fet clic.
del ratolí, el
- Moviment del cursor en el text
- Inici i final intel·ligents
Quan estigui seleccionada, prémer la tecla Inici causarà que el cursor salti els espais en blanc i vagi a l'inici del text d'una línia.
- Av Pàg/Re Pàg mouen el cursor
Aquesta opció canvia el comportament del cursor quan l'usuari prem la tecla Re Pàg o Av Pàg. Si no està seleccionada el cursor mantindrà la seva posició relativa en el text visible a la KatePart com el text nou es fa visible com a resultat de l'operació. Així, si el cursor està en el centre del text visible quan l'operació ocorre romandrà allí (excepte quan s'arriba al començament o al final). Amb aquesta opció seleccionada, prémer en primer lloc la tecla causarà que el cursor es mogui a la part superior o inferior del text visible mostrant una nova pàgina de text.
- Activa el moviment del cursor en les majúscules
Aquesta opció canvia el comportament del cursor quan l'usuari prem la drecera Ctrl+Fletxa esquerra o Ctrl+Fletxa dreta. Si no està seleccionada, el cursor de text saltarà sobre les paraules completes. Amb aquesta opció seleccionada, els salts del cursor es trencaran en les majúscules.
- Centra automàticament el cursor:
Estableix el nombre de línies a mantenir visibles per sobre i per sota del cursor, sempre que sigui possible.
- Mode de selecció del text
- Normal
Les seleccions seran sobreescrites pel text escrit i perdudes en moure el cursor.
- Persistent
Les seleccions romandran, fins i tot després del moviment del cursor i el tecleig.
- Permet el desplaçament més enllà del final del document
Aquesta opció permet desplaçar-vos més enllà del final del document. Es pot utilitzar per al centre vertical a la part inferior del document, o el posa a la part superior de la vista actual.
- La tecla de retrocés elimina la base del caràcter amb els seus diacrítics
Quan estan seleccionats, els caràcters compostos s'eliminen amb els seus diacrítics en lloc d'eliminar només el caràcter base. Això és útil per a les configuracions regionals de l'Índic.
- Modificador multicursor
Aquesta opció permet establir el modificador que s'utilitzarà per crear cursors múltiples amb un clic del botó Creació de cursors múltiples per descobrir altres maneres de crear cursors múltiples.
del ratolí. Cal prémer els modificadors i fer clic amb el botó del ratolí per crear un cursor en la ubicació desitjada. Vegeu
- Mode de sagnat predeterminat:
Seleccioneu el mode de sagnat automàtic que voleu utilitzar de manera predeterminada. Es recomana utilitzar
Cap
oNormal
, i utilitzar les configuracions del tipus de fitxer per a assignar altres modes de sagnat per a formats de text com codi en C/C++ o XML.- Sagna usant
- Tabulacions
Quan aquesta opció està activada, l'editor inserirà caràcters de tabulació quan es pressiona la tecla Tab o utilitzarà la sagnia automàtica.
- Espais
Quan estigui activada, l'editor inserirà un nombre d'espais calculat d'acord amb la posició en el text i l'opció
tab-width
(amplada de la tabulació) quan premeu la tecla Tab o utilitzeu el sagnat automàtic.- Tabuladors i espais
Quan aquesta opció està activada, l'editor inserirà espais com es descriu anteriorment, quan se sagni o premi la tecla Tab al començament d'una línia, però inserirà tabulacions quan es premi la tecla Tab al mig o al final d'una línia.
- Amplada de la tabulació:
Això configura el nombre d'espais que es mostren en lloc d'un caràcter de tabulació.
- Amplada del sagnat:
L'amplada del sagnat és el nombre d'espais que s'utilitzen per a aplicar el sagnat a una línia. Si s'ha configurat el sagnat utilitzant tabulacions, un caràcter de tabulació serà inserit si el sagnat és divisible per l'amplada de la tabulació.
- Propietats del sagnat
- Conserva els espais extres
Si aquesta opció està desactivada, en canviar el nivell del sagnat, les línies s'alinearan a un múltiple de l'amplada especificada a Amplada del sagnat.
- Ajusta el sagnat del text enganxat des del porta-retalls
Si aquesta opció està seleccionada, se sagnarà el text enganxat des del porta-retalls. En activar l'acció s'eliminarà el sagnat.
- Accions del sagnat
- La tecla de retrocés en un espai en blanc inicial desfà el sagnat
Si aquesta opció està seleccionada, la tecla de Retrocés disminuirà el nivell de sagnat si el cursor està posicionat a l'espai en blanc inicial d'una línia.
- Acció de la tecla de tabulació (si no existeix cap selecció)
Si voleu utilitzar Tab per a alinear la línia actual en el bloc de codi actual com a l'Emacs, feu que la Tab sigui una drecera a l'acció .
- Avança sempre fins a la posició de la tabulació següent
Si seleccioneu aquesta opció, la tecla Tab sempre inserirà espais en blanc fins que s'abasti la posició de la següent tabulació. Si l'opció Insereix espais en comptes de tabulacions a la pestanya General a la pàgina Edició està activada, s'inseriran espais, en cas contrari, s'inserirà una sola tabulació.
- Augmenta sempre el nivell de sagnat
Si aquesta opció està seleccionada, la tecla Tab sempre sagnarà la línia actual amb el nombre de posicions indicades a Amplada del sagnat.
- Augmenta el nivell de sagnat en un espai en blanc inicial
Si aquesta opció està seleccionada, la tecla Tab sagnarà la línia actual o avançarà fins a la següent posició de tabulació. Si el punt d'inserció és al primer caràcter no blanc o abans de la línia, o hi ha una selecció, la línia actual se sagnarà en el nombre de posicions indicades a Amplada del sagnat. Si el punt d'inserció està després del primer caràcter no blanc de la línia i no hi ha cap selecció, s'inserirà un espai en blanc de manera que s'arribi a la posició de tabulació següent: si l'opció Insereix espais en lloc de tabuladors de la secció Edició està activada, s'inseriran espais; altrament, s'inserirà una única tabulació.
- General
- Activa la compleció automàtica
Si està activada, apareixerà un quadre de compleció emergent per a completar paraules automàticament en escriure, mostrant una llista d'entrades de text per a completar el text actual sota el cursor.
- Selecciona automàticament la primera entrada de compleció
Si està habilitada, sempre estarà preseleccionat el primer element de la compleció automàtica de manera que pugueu inserir-lo prement Retorn. Si no voleu aquest comportament, p. ex., si voleu prémer Retorn per a només inserir una línia nova, inhabiliteu aquest element.
- Longitud mínima de la paraula a completar
En escriure text, les cerques de paraules de completat de paraules en el document s'iniciarà en escriure text. Aquesta opció configura la quantitat mínima de caràcters que es necessiten per a fer que la compleció de paraules sigui activada i aparegui un quadre de compleció emergent.
- Elimina el final en la compleció
Elimina el final de la paraula anterior quan es tria l'element de compleció des d'una llista.
- Compleció de paraules clau
Si està activada, la compleció automàtica integrada utilitzarà les paraules clau definides per al ressaltat de la sintaxi.
Aquestes opcions de configuració es descriuen a la documentació del mòdul Corrector ortogràfic a Arranjament del sistema.
- General
- Permet que les ordres del Vi substitueixin les dreceres del Kate
Quan està seleccionada, les ordres del vi substitueixen les ordres incloses de la KatePart. Per exemple: Ctrl+R refarà, i substituirà l'acció estàndard (mostra el diàleg de cerca i substitució).
- Mostra el número relatiu a la línia
Si està activada, la línia actual sempre es referirà a la línia 0. Les línies per sobre i per sota augmentaran el número de línia de forma relativa.
- Mapatge de tecles
El mapatge de tecles s'utilitza per a canviar el significat de les tecles en escriure. Això permet moure les ordres a altres tecles o crear tecles especials per a fer una sèrie d'ordres.
Exemple:
F2 ->
I--
EscAixò anteposa
I--
a una línia quan es pressiona F2.
- Format del fitxer
- Codificació
Defineix la codificació estàndard a utilitzar per a obrir/desar fitxers, si no s'ha canviat al diàleg obre/desa o utilitzant una opció de la línia d'ordres.
- Detecció de la codificació
Seleccioneu un element de la llista desplegable, o bé desactiveu la detecció automàtica o utilitzeu Universal per a activar la detecció automàtica per a totes les codificacions. Però com això probablement només pot detectar utf-8/utf-16, seleccionant una regió s'utilitzarà l'heurística personalitzada per a obtenir millors resultats. Si no es tria cap codificació com a estàndard, ni s'especifica en el diàleg obre/desa, ni a la línia d'ordres que coincideixi amb el contingut del fitxer, aquesta detecció es durà a terme.
- Codificació de reserva
Defineix la codificació de reserva per a intentar obrir els fitxers si no es tria cap codificació com a estàndard, ni s'especifica en el diàleg obre/desa, ni a la línia d'ordres que coincideixi amb el contingut del fitxer. Abans d'utilitzar-la, es farà una temptativa per a determinar la codificació a utilitzar cercant una marca d'ordre de bytes a l'inici del fitxer: Si es troba, se seleccionarà la codificació unicode correcta, altrament s'executarà la detecció de la codificació, i si les dues fallen, es triarà la codificació de reserva.
- Final de línia
Escolliu el final de línia preferit per al vostre document actiu. Podeu escollir entre UNIX®, DOS/Windows® o Macintosh.
- Detecció automàtica del final de línia
Marqueu-ho si voleu que l'editor detecti automàticament el tipus del final de línia. El primer final de línia trobat s'utilitzarà per a tot el fitxer.
- Activa el marcador d'ordre de bytes (BOM)
La marca d'ordre de bytes és una seqüència especial al començament dels documents codificats amb unicode. Ajuda als editors a obrir documents de text amb la codificació unicode correcta. Per a obtenir més informació, vegeu Marca d'ordre de bytes.
- Límit de longitud de la línia
Lamentablement, a causa de deficiències en les Qt™, la KatePart experimenta un rendiment deficient quan treballa amb línies extremadament llargues. Per aquesta raó, la KatePart ajustarà automàticament les línies quan són més llargues que el nombre de caràcters especificats aquí. Per a desactivar-ho, establiu aquest valor a
0
.
- Neteja automàtica en desar
- Elimina els espais finals
L'editor eliminarà automàticament els espais addicionals als finals de les línies de text en desar el fitxer. Podeu seleccionar Mai per a desactivar aquesta funcionalitat, En les línies modificades per a fer-ho únicament sobre les línies que s'han modificat des de l'última vegada que vau desar el document o En tot el document per a eliminar-los incondicionalment de tot el document.
- Afegeix una línia nova al final del fitxer en desar
L'editor afegirà automàticament un salt de línia al final del fitxer si no hi és després de desar el fitxer.
- Activa el desament automàtic (només fitxers locals)
Marqueu-ho si voleu que l'editor desi automàticament els documents mentre hi esteu treballant.
- Desa automàticament el document quan el focus surt de l'editor
L'editor desarà automàticament els documents quan canvieu a qualsevol altre lloc fora de l'editor, p. ex., el plafó de terminal al Kate.
- Interval del desament automàtic
Aquí podeu indicar l'interval del desament automàtic en segons. Si l'interval és 0, el document no es desarà automàticament després de l'interval.
- Introduïu un fitxer a on desar les còpies de seguretat:
Els fitxers de còpia de seguretat faran que la KatePart copiï el fitxer del disc (la versió del fitxer desada anteriorment) a <prefix><nomfitxer><sufix> abans de desar els canvis nous. Un fitxer de còpia de seguretat pot ajudar a recuperar el treball si quelcom acaba malament en desar o si més tard voleu recuperar la versió anterior del fitxer. El sufix predeterminat és ~ i el prefix restarà buit de manera predeterminada.
- Fitxers locals
Marcar si voleu realitzar còpies de seguretat dels fitxers locals en desar.
- Fitxers remots
Marcar si voleu realitzar còpies de seguretat dels fitxers remots en desar.
- Prefix dels fitxers de còpia de seguretat:
Introduïu el prefix que precedirà al nom dels fitxers de còpia de seguretat.
- Sufix dels fitxers de còpia de seguretat:
Introduïu el sufix a afegir al nom dels fitxers de còpia de seguretat.
- Mode del fitxer d'intercanvi:
La KatePart és capaç de recuperar (principalment) el treball sense desar en el cas d'una fallada o falta de corrent elèctric. Es crea un fitxer d'intercanvi (.<filename>.kate-swp) quan s'edita un document. Si l'usuari no desa els canvis i la KatePart falla, el fitxer d'intercanvi es manté al disc. En obrir un fitxer, la KatePart comprovarà si hi ha un fitxer d'intercanvi per al document i si el troba, demanarà a l'usuari si vol o no recuperar les dades perdudes. L'usuari també disposa de la possibilitat de veure les diferències entre el fitxer original i el recuperat. El fitxer d'intercanvi serà suprimit després de cada acció de desament i en sortir normalment.
La KatePart sincronitza els fitxers d'intercanvi en el disc cada 15 segons, però només si han canviat des de l'última sincronització. L'usuari pot desactivar aquesta sincronització, seleccionant Desactiva, però això pot conduir a una major pèrdua de dades.
Quan el fitxer d'intercanvi està habilitat, és possible canviar entre dos modes, Activat, emmagatzematge en el directori predeterminat i Activat, emmagatzematge en un directori personalitzat.
- Emmagatzema els fitxers d'intercanvi a:
De manera predeterminada, els fitxers d'intercanvi es desaran a la mateixa carpeta que el fitxer. Quan es tria Activat, emmagatzematge en un directori personalitzat per al mode del fitxer d'intercanvi, aquests es crearan a la carpeta especificada. Això és útil per a sistemes de fitxers en xarxa per a evitar el trànsit de xarxa innecessari.
- Desa els fitxers d'intercanvi cada:
La KatePart sincronitza els fitxers d'intercanvi en el disc cada 15 segons, però només si han canviat des de l'última sincronització. Podeu canviar a l'interval de sincronització que vulgueu.
Aquesta pàgina us permetrà substituir la configuració predeterminada per als documents dels tipus MIME especificats. Quan l'editor carrega un document, intenta trobar la màscara o el tipus MIME per a un dels tipus de fitxers definits, i de ser així s'apliquen les variables definides. Si coincideixen diversos tipus de fitxer, s'utilitzarà el de major prioritat.
- Tipus de fitxer:
El tipus de fitxer amb la prioritat més alta és el que es mostra a la llista desplegable. Si hi ha més d'un tipus de fitxer, també es llistaran.
- Nou
S'utilitza per a crear un nou tipus de fitxer. Després que feu clic en aquest botó, els camps inferiors es buidaran i podreu omplir les propietats que vulgueu per al nou tipus de fitxer.
- Suprimeix
Per a eliminar un tipus de fitxer existent, seleccioneu-lo des de la llista desplegable i premeu el botó .
- Propietats del
tipus de fitxer actual
El tipus de fitxer amb la prioritat més alta és el que es mostra a la llista desplegable. Si hi ha més d'un tipus de fitxer, també es llistaran.
- Nom:
El nom del tipus de fitxer que es mostrarà a l'element de menú corresponent. Aquest nom es mostrarà en el menú → .
- Secció:
El nom de la secció utilitzada per a organitzar els tipus de fitxer en menús. També és utilitzat en el menú → .
- Variables:
Aquesta cadena permet configurar les opcions de configuració de la KatePart per als fitxers seleccionats per a aquest tipus MIME utilitzant variables de la KatePart. Podeu establir gairebé qualsevol opció de configuració, com ara el ressaltat, el mode de sagnat, etc.
Premeu per a veure una llista de totes les variables disponibles i les seves descripcions. Seleccioneu la casella de selecció de l'esquerra per a activar una variable en particular i després establiu el valor de la variable a la dreta. Algunes variables proporcionen una llista desplegable per a seleccionar els possibles valors requerits per altres quan introduïu un valor vàlid manualment.
Per a obtenir informació completa sobre aquestes variables, vegeu Configuració amb variables de document.
- Ressaltat:
Si creeu un nou tipus de fitxer, aquesta llista desplegable permet seleccionar un tipus de fitxer a ressaltar.
- Mode de sagnat:
La llista desplegable especifica el mode de sagnat per als documents nous.
- Extensions de fitxer:
Els comodins permeten seleccionar els fitxers segons el seu nom. Una màscara que se sol emprar és un asterisc i l'extensió del fitxer, per exemple
*.txt; *.text
. La cadena és una llista de màscares separades per punt i coma.- Tipus MIME:
Mostra un assistent que ajudarà a seleccionar els tipus MIME amb facilitat.
- Prioritat:
Estableix una prioritat per a aquest tipus de fitxer. Si un document coincideix amb diversos tipus de fitxer, s'escollirà el que disposi d'una prioritat més alta.

Les variables de la KatePart són implementacions de la KatePart de les variables de document, similar als modes de línia d'Emacs i vi. A la katepart, les línies tenen el format kate: NOMVARIABLE VALOR; [ NOMVARIABLE VALOR; ... ]
les línies poden ser un comentari, si el fitxer és en un format amb comentaris. Els noms de les variables són paraules soles (sense espais en blanc), i quelcom que el segueixi fins als dos punts serà el valor. Els dos punts són requerits.
Tot seguit hi ha un exemple de línia de variable, aquesta força la configuració del sagnat per a un fitxer en C++, Java™ o JavaScript:
// kate: replace-tabs on; indent-width 4; indent-mode cstyle;
Nota
Només se cercaran línies de variable en les primeres i últimes 10 línies.
A més, les variables de document es poden posar en un fitxer anomenat .kateconfig
en qualsevol directori, i les opcions configurades s'aplicaran com si els modes de línia es van introduir en cadascun dels fitxers en el directori i els seus subdirectoris. Les variables de document en el .kateconfig
utilitzen la mateixa sintaxi que en els modes de línia, però amb les opcions esteses.
Hi ha variables que suporten la gran majoria de configuracions a la KatePart, i addicionalment els connectors poden utilitzar variables, en el qual cas haurien de ser documentades en la documentació del connector.
El KatePart té suport per a llegir configuracions des de fitxers .editorconfig
quan hi ha instal·lada la biblioteca editorconfig. El KatePart cerca automàticament un fitxer .editorconfig
cada cop que s'obre un fitxer. Tanmateix, dona prioritat als fitxers .kateconfig
.
Quan llegeix la configuració, la katepart cercarà en els següents llocs (en aquest ordre):
La configuració global.
Dades opcionals de la sessió.
La configuració del «tipus de fitxer».
Variables de document en
.kateconfig
.Variables de document en el document mateix.
Opcions canviades durant l'edició des del menú o des de la línia d'ordres.
Com podeu imaginar, les variables de document només seran substituïdes pels canvis realitzats en temps d'execució. Quan es desa un document, es tornaran a llegir les variables de document, i se sobreescriuran els canvis realitzats utilitzant els elements del menú o de la línia d'ordres.
Qualsevol variable no llistada a continuació serà emmagatzemada en el document i podrà ser consultada per altres objectes com connectors, els quals les podran utilitzar per a les seves pròpies finalitats. Per exemple, la variable «indent mode» utilitza variables de document per a la seva configuració.
Les variables aquí llistades són documents de la KatePart versió 5.38. En el futur s'hi poden afegir més variables. Hi ha 3 tipus de valors possibles per a les variables, amb les següents expressions vàlides:
BOOL - on|off|true|false|1|0
INTEGER - qualsevol nombre enter
STRING - tota la resta
auto-brackets [BOOLEÀ]
Activa la inserció automàtica de parèntesis.
auto-center-lines [ENTER]
Defineix el nombre de línies d'autocentrat.
background-color [CADENA]
Estableix el color de fons del document. El valor haurà de ser quelcom a un color vàlid, per exemple «
#ff0000
».backspace-indents [BOOLEÀ]
Activa o desactiva treure el sagnat quan es prem la tecla Retrocés.
block-selection [BOOLEÀ]
Activa o desactiva la selecció per blocs.
bom | byte-order-mark | byte-order-marker [BOOLEÀ]
Activa/desactiva el marcador d'ordre de bytes (BOM) en desar fitxers en el format Unicode (utf8, utf16, utf32).
Des del: Kate 3.4 (KDE 4.4)
bracket-highlight-color [CADENA]
Estableix el color del ressaltat per al claudàtor. El valor haurà de ser quelcom a un color vàlid, per exemple «
#ff0000
».current-line-color [CADENA]
Estableix el color del ressaltat per a la línia actual. El valor haurà de ser quelcom a un color vàlid, per exemple «
#ff0000
».default-dictionary [CADENA]
Defineix el diccionari predeterminat utilitzat per a la correcció ortogràfica.
Des del: Kate 3.4 (KDE 4.4)
dynamic-word-wrap [BOOLEÀ]
Activa o desactiva l'ajust dinàmic de les línies.
eol | end-of-line [CADENA]
Estableix el mode del final de les línies. Les opcions vàlides són «
unix
», «mac
» i «dos
».folding-markers [BOOLEÀ]
Estableix l'ús de la visualització de les marques de plegat («on» o «off»).
folding-preview [BOOLEÀ]
Activa la vista prèvia del text plegat a la vora de l'editor.
font-size [ENTER]
Defineix la mida del punt del tipus de lletra del document.
font [CADENA]
Estableix el tipus de lletra del document. El valor haurà de ser un nom de tipus de lletra vàlid, per exemple «
courier
».hl | syntax [CADENA]
Ajusta el ressaltat de la sintaxi. Les cadenes vàlides són tots els noms disponibles en els menús. Per exemple, per a C + + escriviu
C++
.icon-bar-color [CADENA]
Estableix el color de la barra de les icones. El valor haurà de ser quelcom a un color vàlid, per exemple
#ff0000
.icon-border [BOOLEÀ]
Estableix l'ús de la visualització de la vora de la icona («on» o «off»).
indent-mode [CADENA]
Estableix el mode del sagnat automàtic. Les opcions «
cap
», «normal
», «cstyle
», «haskell
», «lilypond
», «lisp
», «python
», «ruby
» i «xml
» són reconegudes. Vegeu la secció «Usar el sagnat automàtic» per als detalls.indent-pasted-text [BOOLEÀ]
Activa/desactiva l'ajust del sagnat del text enganxat des del porta-retalls.
Des del: Kate 3.11 (KDE 4.11)
indent-width [ENTER]
Estableix l'amplada del sagnat.
keep-extra-spaces [BOOLEÀ]
Estableix l'ús d'espais extra per a calcular l'amplada del sagnat.
line-numbers [BOOLEÀ]
Estableix l'ús de la visualització dels números de línia («on» o «off»).
newline-at-eof [BOOLEÀ]
Afegeix una línia en blanc al final del fitxer (EOF) en desar el document.
Des del: Kate 3.9 (KDE 4.9)
overwrite-mode [BOOLEÀ]
Estableix l'ús del mode de sobreescriptura («on» o «off»).
persistent-selection [BOOLEÀ]
Estableix l'ús de les seleccions persistents («on» o «off»).
replace-tabs-save [BOOLEÀ]
Estableix l'ús de la conversió de les tabulacions a espais durant el desament («on» o «off»).
replace-tabs [BOOLEÀ]
Estableix l'ús de la conversió dinàmica de les tabulacions a espais («on» o «off»).
remove-trailing-spaces [CADENA]
Elimina els espais finals en desar el document. Les opcions vàlides són:
none
,-
o0
: mai elimina els espais finals.modified
,mod
,+
o1
: elimina els espais finals només en les línies modificades. Les línies modificades són marcades pel sistema de modificació de la línia.all
,*
o2
: elimina els espais finals a tot el document.
scrollbar-minimap [BOOLEÀ]
Mostra un mapa en miniatura a la barra de desplaçament.
scrollbar-preview [BOOLEÀ]
Mostra una vista prèvia a la barra de desplaçament.
scheme [CADENA]
Estableix l'esquema de color. La cadena haurà de ser un nom d'esquema de color que ja existeixi a la vostra configuració per a aconseguir qualsevol efecte.
selection-color [CADENA]
Estableix la selecció del color. El valor haurà de ser quelcom que pugui ser avaluat com un color vàlid, per exemple «
#ff0000
».show-tabs [BOOLEÀ]
Estableix l'ús de la visualització del caràcter de tabulació («on» o «off»).
smart-home [BOOLEÀ]
Estableix l'ús de la navegació intel·ligent («on» o «off»).
tab-indents [BOOLEÀ]
Estableix l'ús del sagnat amb la tecla Tab («on» o «off»).
tab-width [ENTER]
Estableix l'amplada del caràcter de tabulació.
undo-steps [ENTER]
Estableix el nombre de passos a desfer que es poden recordar.
Nota: Obsolet des del Kate 3 al KDE 4. Aquesta variable serà ignorada. El compte màxim de passos a desfer serà il·limitat.
word-wrap-column [ENTER]
Estableix l'amplada de l'ajust estàtic de les línies.
word-wrap-marker-color [CADENA]
Estableix el color de la marca del salt de línia. El valor haurà de ser quelcom a un color vàlid, per exemple «
#ff0000
».word-wrap [BOOLEÀ]
Estableix l'ús de l'ajust estàtic de les línies («on» o «off»).
La KatePart sempre cerca per un fitxer .kateconfig
en fitxers locals (no remots). A més, és possible configurar les opcions basades en comodins (extensions de fitxer) de la següent manera:
kate: tab-width 4; indent-width 4; replace-tabs on; kate-wildcard(*.xml): indent-width 2; kate-wildcard(Makefile): replace-tabs off;
En aquest exemple, tots els fitxers utilitzen una amplada de la pestanya de 4 espais, una amplada del sagnat de 4 espais, i les tabulacions se substitueixen expandides a espais. Tanmateix, per a tots els fitxers *.xml
, l'amplada del sagnat s'estableix a 2 espais. I als Makefiles es fan servir tabulacions, és a dir, que les tabulacions no se substitueixen per espais.
Els comodins estan separats per un punt i coma, és a dir, també podeu especificar múltiples extensions de fitxer de la següent manera:
kate-wildcard(*.json;*.xml): indent-width 2;
A més, també podeu utilitzar els tipus MIME per a fer-les coincidir amb certs fitxers, p. ex., per a sagnar tots els fitxers font de C++ amb 4 espais, podeu escriure:
kate-mimetype(text/x-c++src): indent-width 4;
Nota
Al costat del suport en els fitxers .kateconfig
, els comodins i els tipus MIME que depenen de variables de document també són admesos en els mateixos fitxers com a comentaris.

Copyright de la KatePart i el KWrite, 2001-2022 per l'equip del Kate.
Basat en el KWrite original, Copyright 2000 per en Jochen Wilhelmy (digisnap AT cs.tu-berlin.de)
Contribucions:
Cullmann, Christoph
(cullmann AT kde.org)
Michael Bartl
(michael.bartl1 AT chello.at)
Phlip
(phlip_cpp AT my-deja.com)
Lund, Anders
(anders AT alweb.dk)
Matt Newell
(newellm AT proaxis.com)
Wenninger, Joseph
(kde AT jowenn.at)
Jochen Wilhelmy
(digisnap AT cs.tu-berlin.de)
Koch, Michael
(koch AT kde.org)
Gebauer, Christian
(gebauer AT kde.org)
Hausmann, Simon
(hausmann AT kde.org)
Glen Parker
(glenebob AT nwlink.com)
Scott Manson
(sdmanson AT altel.net)
Firebaugh, John
(jfirebaugh AT kde.org)
Nibaldo González
(nibgonz AT gmail.com)
La documentació de la KatePart es basa en la documentació original del KWrite, modificada perquè sigui aplicable a tots els consumidors de la KatePart.
La documentació original del KWrite va ser escrita per en McGinnis, Thad (ctmcginnis AT compuserve.com)
, amb grans modificacions d'en Tibirna, Christian (tibirna AT kde.org)
. Convertida a docbook/correcció de proves per en Watts, Lauri (lauri AT kde.org)
i actualitzada per na Mahfouf, Anne-Marie (annma AT kde.org)
i en Lund, Anders (anders AT alweb.dk)
La documentació actual de la KatePart és mantinguda per en Hollingsworth, T.C. (tchollingsworth AT gmail.com)
. Envieu els vostres comentaris o suggeriments a la llista de correu de desenvolupament de la KatePart a (kwrite-devel AT kde.org)
o obriu un informe d'error al KDE Bugtracking System.
Traductor/Revisor de la documentació: Antoni Bella (antonibella5 AT yahoo.com)
Aquesta documentació està llicenciada d'acord amb les clàusules de la Llicència de Documentació Lliure de GNU.
Aquest programa està llicenciat d'acord amb les clàusules de la Llicència Pública General de GNU.

L'objectiu del mode VI no és substituir-lo completament per Vim, sí que dona suport a totes les característiques de Vim. El seu objectiu és fer que la «forma Vim» d'editar el text -i els hàbits apresos a Vim- estiguin disponibles per als programes utilitzant l'editor de text KatePart com al seu editor intern.
El mode VI té com a finalitat integrar-se molt bé amb el programa i desviar-se del comportament de Vim, on prengui sentit. Per exemple, :w
obrirà un diàleg desa en el mode VI de KatePart.
Per a habilitar el mode d'entrada VI per a totes les vistes, aneu a → + → . En aquesta pestanya podeu configurar les opcions per al mode d'entrada VI i definir i modificar l'assignació de tecles en aquest mode. El mode d'entrada VI també es pot alternar amb la configuració del al menú . (La drecera de teclat predeterminada és Meta+Ctrl+V -a on Meta usualment serà la tecla Windows-).
Nota
En el Mode Vi moltes ordres de teclat distingeixen les majúscules i minúscules, a diferència de la majoria de les dreceres de teclat del KDE. Això vol dir que i
i I
són ordres diferents. Per a introduir l'ordre y
(copia), assegureu-vos que Bloq Maj està inhabilitat i premeu Y. Per a introduir l'ordre Y
(copiarà al final de la línia), Maj+Y.
Això no s'aplica a les ordres que utilitzen la tecla Ctrl, ja que es poden introduir independentment del mode Bloq Maj i sense necessitat de prémer Maj. No obstant això, algunes ordres requereixen l'ús de la tecla Ctrl seguida d'una altra tecla que distingeix entre majúscules i minúscules. Per exemple, per a introduir «Ctrl+W, h
» (canviar a la vista dividida de la dreta) assegureu-vos que Bloq Maj està inhabilitada, premeu Ctrl+W, deixeu anar, i després premeu H.
Hi ha només unes poques característiques del mode VI de KatePart que són incompatibles amb Vim (no comptant les coses que falten). S'enumeren a continuació juntament amb les raons respectives.
KatePart:
U
i Ctrl+R són de refer.Vim: Ctrl+R és refer normal, U s'utilitza per a desfer tots els canvis més recents en una línia.
La raó de tenir U actua com refer en el mode VI de KatePart la drecera Ctrl+R de manera predeterminada pren la funció de substituir de KatePart (cerca i substitueix). De manera predeterminada, el mode VI no substitueix les dreceres de KatePart (això es pot configurar en → + → ), per tant, una acció de refer necessita estar disponible com a tecla «normal». A més, el comportament de l'ordre
U
en Vim no es correlaciona bé amb el sistema intern de desfer de KatePart, de manera que no seria trivial donar-ne suport.KatePart:
print
mostra el diàleg Impressió.Vim:
print
mostra les línies de l'interval donat igual que el seu predecessor, ed.Ordres com
:print
estan disponibles no només en el mode de VI, però també per als usuaris que utilitzen «regularment» KatePart -per tant, l'ordre:print
obre el diàleg d'impressió- seguint el principi de la menor sorpresa en lloc d'imitar el comportament de Vim.KatePart:
Y
copia al final de la línia.Vim:
Y
copia tota la línia, igual quey
y
.El comportament del VI per a l'ordre
Y
és en la pràctica un error. Per a ambdues ordres canvia i suprimeix,c
c
/d
d
farà la seva acció en la línia actual iC
/D
treballarà a partir de la columna del cursor fins al final de la línia. No obstant això, tanty
y
comY
copien la línia actual. En mode VI de KatePartY
copiarà al final de la línia. Això es descriu «més lògicament» en la documentació de Vim.KatePart:
O
io
obre [compte
] noves línies i posa en el mode d'inserció.Vim:
O
iO
obre una línia nova i insereix text [compte
] vegades deixant el mode d'inserció.Això es fa principalment a conseqüència de trobar que molta gent es confon per aquest comportament en un canal d'IRC sobre vim (#vim a Libera Chat).
Mode normal us permet introduir ordres per a navegar o editar un document, i és el mode predeterminat. Podeu tornar-hi des de qualsevol altra mode prement Esc.
Mode visual us permet ressaltar text en un document. La majoria de les ordres del mode normal també són vàlides en aquest mode. Podeu introduir-les prement
v
per a seleccionar caràcters oV
per a seleccionar línies.Mode d'inserció us permet editar directament el document. Podeu introduir prement
i
o una de les diverses altres ordres enumerades a continuació.El mode d'ordre invoca la línia d'ordres de KatePart, la qual us permetrà executar moltes ordres disponibles en les implementacions de Vi, així com algunes específiques per a KatePart. Per a més informació sobre aquestes ordres, vegeu «El component de la línia d'ordres de l'editor». Per a utilitzar-lo, premeu :, introduïu l'ordre, i premeu Retorn.
Al mode visual si entra automàticament en seleccionar text amb el ratolí. També si entra utilitzant funcions del Kate que seleccionen text, com Selecciona-ho tot (sigui des del menú o mitjançant Ctrl+A).
Les marques de Vi i els punts del Kate estan integrats. Quan es crea una marca en el mode de Vi, es crea un punt del Kate corresponent i apareixerà al menú . Per contra, quan es crea un punt del Kate, també es crea marca de Vi corresponent a la columna 0.
| Entra en el mode d'inserció, afegeix després del cursor |
| Entra en el mode d'inserció, afegeix després de la línia |
| Entra en el mode d'inserció, insereix abans del cursor |
Insert | Entra en el mode d'inserció, insereix abans del cursor |
| Entra en el mode d'inserció, insereix abans del primer caràcter no en blanc a la línia |
| Entra en el mode d'inserció, insereix abans de la ubicació, on el va deixar el darrer mode d'inserció |
| Entra en el mode visual, selecciona caràcters |
| Entra en el mode visual, selecciona línies |
Ctrl+v | Entra en el mode visual, selecciona blocs |
| Entra en el mode visual, torna a seleccionar l'última selecció |
| Obre una línia nova sota la línia actual |
| Obre una línia nova sobre la línia actual |
| Uneix línies |
| Canvi: Segueix un moviment per a eliminar i entrar en el mode d'inserció |
| Canvi al final de la línia: Elimina al final de la línia i entrar en el mode d'inserció |
| Canvi de línia: Suprimeix la línia i entra en el mode d'inserció |
| Substitueix caràcter |
| Substitueix la línia |
| Suprimeix la línia |
| Segueix un moviment per a eliminar |
| Suprimeix fins al final de la línia |
| Suprimeix el caràcter a la dreta del cursor |
Supr | Suprimeix el caràcter a la dreta del cursor |
| Suprimeix el caràcter a l'esquerra del cursor |
| Segueix amb un moviment per a fer minúscules |
| Torna a minúscules la línia actual |
| Segueix amb un moviment per a fer majúscules |
| Torna a majúscules la línia actual |
| Segueix un moviment per a «tirar» (copia) |
| Tira (copia) la línia |
| Tira (copia) la línia |
| Enganxa després del cursor |
| Enganxa abans del cursor |
| Enganxa després del sagnat del cursor |
| Enganxa abans del sagnat del cursor |
| Segueix amb un caràcter a substituir el caràcter després del cursor |
| Entra en el mode substitució |
| Entra en el mode d'ordres |
| Cerca |
| Desfés |
Ctrl+R | Refés |
| Refés |
| Estableix la marca (després es pot utilitzar per als moviments) |
| Cerca la següent |
| Cerca l'anterior |
| Línia amb sagnat |
| Línia sense sagnar |
| Línies amb sagnat |
| Línies sense sagnar |
Ctrl+F | Avança pàgina |
Ctrl+B | Retrocedeix pàgina |
| Imprimeix el valor ASCII del caràcter |
| Repeteix l'últim canvi |
| commandAlignLine |
| commandAlignLines |
| Canvia la caixa del caràcter actual |
Ctrl+S | Divideix horitzontalment la vista actual |
Ctrl+V | Divideix verticalment la vista actual |
Ctrl+W, | Canvia a la següent divisió a la finestra |
Ctrl+W, Ctrl+W Fletxa esquerra | Va a la divisió esquerra de la finestra |
Ctrl+W, Ctrl+W Fletxa dreta | Va a la divisió dreta de la finestra |
Ctrl+W, Ctrl+W Fletxa amunt | Va a la divisió de sobre a la finestra |
Ctrl+W, Ctrl+W Fletxa avall | Va a la divisió de sota a la finestra |
Aquests es poden utilitzar per a moure-us per un document en el mode normal o visual, o en combinació amb una de les ordres anteriors. Poden anar precedits d'un compte, el qual indicarà quants moviments són apropiats de fer.
| Esquerra |
Fletxa esquerra | Esquerra |
Retrocés | Esquerra |
| Avall |
Fletxa avall | Avall |
| Amunt |
Fletxa amunt | Amunt |
| Dreta |
Fletxa dreta | Dreta |
Espai | Dreta |
| Final de línia |
Fi | Final de línia |
| El primer caràcter de la línia (Columna 0) |
Inici | El primer caràcter de la línia |
| Primer caràcter no en blanc de la línia |
| Segueix el caràcter per a anar a la dreta del cursor |
| Segueix el caràcter per a anar a l'esquerra del cursor |
| Segueix el caràcter per a anar a la dreta del cursor, situa el cursor sobre el caràcter abans que |
| Segueix el caràcter per a anar a l'esquerra del cursor, situa el cursor sobre el caràcter abans que |
| Primera línia |
| Última línia |
| Paraula següent |
| Paraula següent separada per un espai en blanc |
| La paraula anterior |
| La paraula anterior separada per un espai en blanc |
| Final de la paraula |
| Final de la paraula separada per un espai en blanc |
| Final de la paraula anterior |
| Final de la paraula anterior separada per un espai en blanc |
| Segueix un número de columna per a anar a la columna |
| Segueix un element per a anar a aquest element |
| Marca |
| Primer caràcter d'espai no en blanc de la línia la marca està en |
| Claudàtor d'obertura anterior |
| Claudàtor d'obertura següent |
| Claudàtor de tancament anterior |
| Claudàtor de tancament següent |
Ctrl+I | Va cap a la ubicació següent |
Ctrl+O | Va cap a la ubicació anterior |
| Va a la primera línia de la pantalla |
| Va a la línia del mig de la pantalla |
| Va a l'última línia de la pantalla |
| Va al percentatge especificat del document |
| Va cap a dalt una línia visual (quan s'usa l'ajust de línia dinàmic). |
| Va cap avall una línia visual (quan s'usa l'ajust de línia dinàmic). |
Ctrl+Fletxa esquerra | Mou una paraula a l'esquerra |
Ctrl+Fletxa dreta | Mou una paraula a la dreta |
Aquests es poden utilitzar per a seleccionar certes parts d'un document.
| Paraula interior: Paraula incloent-hi l'espai en blanc |
| Una paraula: Paraula excloent l'espai en blanc |
| Cometes dobles ( |
| Cometes dobles ( |
| Cometes simples ( |
| Cometes simples ( |
| Parèntesi d'obertura anterior [ |
| Parèntesi d'obertura anterior [ |
| Claudàtor d'obertura anterior ( |
| Claudàtor d'obertura anterior ( |
| Clau d'obertura anterior ( |
| Clau d'obertura anterior ( |
| Clau angular d'obertura anterior ( |
| Clau angular d'obertura anterior ( |
| Accent anterior ( |
| Accent anterior ( |
Ctrl+D | Sense sagnar |
Ctrl+T | Sagnat |
Ctrl+E | Insereix des de sota |
Ctrl+Y | Suprimeix una paraula |
Ctrl+W | Suprimeix una paraula |
Ctrl+U | Suprimeix la línia |
Ctrl+J | Línia nova |
Ctrl+H | Suprimeix els caràcters enrere |
Ctrl+Inici | Mou al primer caràcter en el document |
Ctrl+R | Insereix el contingut del registre n |
Ctrl+O, | Entra en el mode normal per a una única ordre |
Ctrl+A | Actualment incrementa el nombre seleccionat |
Ctrl+X | Actualment disminueix el nombre seleccionat |
Aquest objecte no es troba en Vim. L'objecte de text coma fa que sigui fàcil modificar les llistes de paràmetres en llenguatges com C i d'altres llistes separades per comes. Bàsicament es tracta de la zona entre dues comes o entre una coma i un claudàtor. En la línia que es mostra a la il·lustració, es ressalten els tres rangs que aquest objecte de text pot abastar.

Sumari
Aquest apèndix conté una breu però probablement suficient i completa introducció al món de les expressions regulars. Les documenta tal com apareixen en el KatePart, donat que no són compatibles amb les expressions regulars de Perl, ni de grep, per exemple.
Les expressions regulars us proporcionen un mètode per a descriure el possible contingut d'una cadena de text de manera que pugui ser interpretada per una petita peça de programari, i d'aquesta manera es pugui esbrinar si un text es correspon amb el cercat i, en el cas d'aplicacions avançades, es posin els mitjans per a recuperar parts del text coincident.
Per exemple: Posem que voleu cercar un text que és el començament d'un paràgraf que inclou els noms «Enric» o «Pere», seguits d'alguna forma del verb «dir».
En una cerca normal, s'hauria de començar a cercar el primer nom, «Enric» potser seguit de «di», de la següent manera: Enric di
, i mentre cerca coincidències, haureu de descartar aquelles que no estiguin al començament d'un paràgraf, així com aquelles en les que la paraula que comenci per «di» que no pertanyi al verb «dir». I després tornar a repetir tot el procés amb el següent nom...
Amb les expressions regulars, aquesta tasca s'hauria de realitzar d'una sola cerca, i amb un alt grau de precisió.
Per a aconseguir-ho, les expressions regulars estableixen regles per a expressar amb detall una generalització de la cadena a cercar. El nostre exemple, el podríem expressar literalment com: «Una línia que comença per “Enric” o per “Pere” (possiblement després de fins a 4 espais en blanc o tabulacions) seguit d'un espai en blanc seguit de “di” i després “u” o “gué”», es podria expressar amb la següent expressió regular:
^[ \t]{0,4}(Enric|Pere) di(u|gué)
L'exemple anterior mostra els quatre conceptes principals de les expressions regulars modernes, a veure:
Patrons
Declaracions
Quantificadors
Referències enrere
L'accent circumflex (^
) que es troba al començament de l'expressió és una declaració, que tan sols és certa si la resta de la cadena de cerca es troba al començament d'una línia.
Les cadenes [ \t]
i (Enric|Pere) di(u|gué)
són patrons. El primer és una classe de caràcters que coincideix amb un espai en blanc o amb una tabulació (horitzontal); l'altre patró conté un primer subpatró que coincideix amb Enric
o amb Pere
, després una part de coincidència exacta di
i per acabar un altre subpatró que coincideix amb u
o amb gué
La cadena {0,4}
és un quantificador que diu «en qualsevol lloc des de 0 fins a 4 caràcters anteriors».
Com el programari d'expressions regulars suporta el concepte de referències enrere desa tota la part coincident de la cadena així com els subpatrons tancats entre parèntesis, proporcionant mitjans per a accedir a aquestes referències, podem posar les nostres mans tant en la cadena coincident completa (quan se cerca al text d'un editor mitjançant una expressió regular, que normalment apareix marcada com a seleccionada) com en el nom trobat, o en l'última part del verb.
Unint-ho tot, l'expressió coincidirà a on nosaltres vulguem, i tan sols allí.
Les següents seccions descriuen amb detall com construir i usar patrons, classes de caràcters, declaracions, quantificadors i referències enrere, i l'última secció presentarà una sèrie d'útils exemples.

Els patrons consten de cadenes literals i classes de caràcter. Els patrons poden contenir subpatrons, els quals són patrons tancats entre parèntesis.
En els patrons, així com en les classes de caràcter, alguns caràcters tenen un significat especial. Per a aconseguir una coincidència literal amb algun d'aquests caràcters, és necessari marcar-los com a escapats per a permetre a l'intèrpret d'expressions regulars comprendre que aquests caràcters han de ser inclosos en el seu significat literal.
Això es fa precedint el caràcter d'una barra inversa (\
).
El programari d'expressions regulars ignorarà l'escapat de qualsevol caràcter que no tingui cap significat especial en el context, així que escapar, per exemple, «j» (\j
) no té per què causar problemes. Si teniu cap dubte sobre quan un caràcter pot tenir un significat especial, escapeu-lo amb seguretat.
L'escapat inclou el mateix caràcter de la barra inversa. Per a poder presentar-la de forma literal, heu d'escriure \\
.
Una classe de caràcter és una expressió que coincideix amb un conjunt de caràcters definit. En les expressions regulars, les classes de caràcter s'estableixen col·locant els caràcters vàlids de la classe entre claudàtors []
, o usant una de les classes abreujades que es descriuen a continuació.
Les classes de caràcters simples tan sols contenen un o més caràcters literals, per exemple [abc]
(que coincidirà amb les lletres «a», «b» o «c») o [0123456789]
(que coincidirà amb qualsevol dígit).
Com les lletres i els dígits tenen un ordre lògic, ho podeu abreujar usant intervals: [a-c]
és igual que [abc]
i [0-9]
és igual que [0123456789]
. Combinant aquestes construccions, per exemple [a-fynot1-38]
resulta completament vàlid (aquesta última hauria de coincidir amb qualsevol dels caràcters o dígits «a», «b», «c», «d», «e», «f», «y», «n», «o», «t», «1», «2», «3» o «8»).
Com les lletres majúscules són caràcters diferents que els seus equivalents en minúscula, per a crear una classe de caràcter que sigui independent del format de les lletres, haureu d'escriure [aAbB]
.
De manera que és possible crear una classe «negativa» perquè es faci coincidir «tot menys». Per a fer-ho incloeu un accent circumflex (^
) al començament de la classe:
[^abc]
coincidirà amb qualsevol caràcter excepte amb «a», «b» o «c».
A més dels caràcters literals, hi ha alguns abreujaments definits, per a facilitar una mica les coses:
\a
Aquest coincideix amb el caràcter ASCII del timbre (BEL, 0x07).
\f
Aquest coincideix amb el caràcter ASCII del salt de pàgina (FF, 0x0C).
\n
Aquest coincideix amb el caràcter ASCII del salt de línia (LF, 0x0A, línia nova a Unix).
\r
Aquest coincideix amb el caràcter ASCII de retorn de carro (CR, 0x0D).
\t
Aquest coincideix amb el caràcter ASCII del tabulador horitzontal (HT, 0x09).
\v
Aquest coincideix amb el caràcter ASCII del tabulador vertical (VT, 0x0B).
\xhhhh
Aquest coincideix amb el caràcter Unicode corresponent al número hexadecimal hhhh (entre 0x0000 i 0xFFFF). \0ooo (és a dir, \zero ooo) coincideix amb el caràcter ASCII/Latin-1 corresponent al número octal ooo (entre 0 i 0377).
.
(punt)Aquest coincideix amb qualsevol caràcter (inclòs el de nova línia).
\d
Aquest coincideix amb un dígit. És igual que
[0-9]
\D
Aquest coincideix amb un no dígit. És igual que
[^0-9]
o[^\d]
\s
Aquest coincideix amb un caràcter d'espai en blanc. Pràcticament igual que
[\t\n\r]
\S
Aquest coincideix amb un no espai en blanc. Pràcticament igual que
[^\t\r\n]
, i igual que[^\s]
\w
Coincideix amb qualsevol «caràcter d'una paraula», en aquest cas qualsevol lletra, dígit o guió baix. És igual que
[a-zA-Z0-9_]
.\W
Coincideix amb qualsevol caràcter que no sigui una paraula, qualsevol cosa menys lletres, números o guió baix. És igual que
[^a-zA-Z0-9_]
o[^\w]
.
També està admesa la notació POSIX de les classes, [:<nom classe>:]
. Per exemple, [:dígit:]
és equivalent a \d
, i [:espai:]
a \s
. Vegeu la llista completa de les classes de caràcters POSIX aquí.
Les classes abreujades es poden posar a dins d'una classe pròpia, per exemple, per a fer coincidir un caràcter d'una paraula, un espai en blanc o un punt, podeu escriure [\w \.]
Els següents caràcters tenen un significat especial dintre de la construcció de classes dels caràcters «[]», i és necessari escapar-los perquè siguin inclosos literalment en una classe:
]
Finalitza la classe de caràcters. Haurà d'estar escapat excepte si és el primer caràcter de la classe (pot seguir a un accent circumflex sense escapar).
^
(accent circumflex)Indica que es tracta d'una classe negativa, si és el primer caràcter. Haurà d'estar escapat per a cercar una coincidència literal en el cas que sigui el primer caràcter en la classe.
-
(guió)Indica un interval lògic. Haurà d'estar escapat en una classe de caràcter.
\
(barra inversa)El caràcter d'escapada. Haurà d'estar sempre escapat.
Si desitgeu que la coincidència sigui una d'una sèrie de patrons alternatius, els podeu separar amb |
(caràcter de barra vertical).
Per exemple, per a trobar «Jordi» o «Albert», hauríeu d'utilitzar una expressió Jordi|Albert
.
Els subpatrons són patrons tancats entre parèntesis, i tenen diversos usos en el món de les expressions regulars.
Podeu usar un subpatró per a agrupar un conjunt d'alternatives dins d'un patró més gran. Les alternatives se separen amb el caràcter «|» (barra vertical).
Per exemple, per a cercar la coincidència de les paraules «int», «float» o «double», es podria usar el patró int|float|double
. Si tan sols desitgeu trobar-ne una seguida d'algun tipus d'espai en blanc i després algunes lletres, poseu les alternatives dins d'un subpatró: (int|float|double)\s+\w+
.
Si voleu utilitzar una referència enrere, utilitzeu un subpatró (PATRÓ)
perquè es recordi la part desitjada del patró. Per a evitar que es recordi el subpatró, utilitzeu un grup sense captura (?:PATTERN)
.
Per exemple, si desitgeu trobar dues ocurrències de la mateixa paraula separades per una coma i possiblement algun espai en blanc, podeu escriure (\w+),\s*\1
. El subpatró \w+
localitzarà un conjunt de caràcters d'una paraula, i tota l'expressió coincidirà si aquest conjunt va seguit d'una coma, 0 o més espais en blanc i després un conjunt de caràcters d'una paraula igual que el primer. (La cadena \1
fa referència al primer subpatró delimitat per parèntesis).
Nota
Per a evitar ambigüitats amb l'ús de \1
amb alguns dígits al darrere (p. ex., \12
pot ser el subpatró 12 o simplement el primer subpatró amb 2
) utilitzarem \{12}
com a sintaxi per als subpatrons amb múltiples dígits.
Exemples:
\{12}1
és «utilitza el subpatró 12»\123
és «utilitza la captura 1 després 23 com a text normal»
Una declaració d'anticipació és un subpatró, el qual comença per ?=
o per ?!
.
Per exemple, si voleu cercar la cadena literal «Bill», però tan sols si no va seguida de « Gates», podeu usar l'expressió: Bill(?! Gates)
. (Això coincidirà amb «Bill Clinton» i amb «Billy el nen», però ignoraria en silenci les altres coincidències).
Els subpatrons usats en les declaracions no es capturen.
Vegeu també, Declaracions.
Una declaració de cerca cap enrere és un subpatró, el qual comença per ?<=
o per ?<!
.
La cerca cap enrere té el mateix efecte que l'anticipada, però funciona a l'inrevés. Per exemple, per a fer coincidir la cadena literal «fruit», però només si no està precedida per «grape», podreu utilitzar aquesta expressió: (?<!grape)fruit
.
Els subpatrons usats en les declaracions no es capturen.
Vegeu també, Declaracions.
Els següents caràcters tenen significat dins dels patrons, i és necessari escapar-los per a una coincidència literal:
\
(barra inversa)El caràcter d'escapada.
^
(accent circumflex)Declara el començament de la cadena.
$
Declara el final de la cadena.
()
(parèntesis dret i esquerre)Denota subpatrons.
{}
(claus dreta i esquerra)Denota quantificadors numèrics.
[]
(claudàtors dret i esquerre)Denota classes de caràcter.
|
(barra vertical)O lògic. Separa alternatives.
+
(signe més)Quantificador, 1 o més.
*
(asterisc)Quantificador, 0 o més.
?
(signe d'interrogació)Un caràcter opcional. Es pot interpretar com quantificador, 0 o 1.

Els quantificadors permeten que una expressió regular coincideixi amb un número o un interval de números de qualsevol caràcter, una classe de caràcter o un subpatró.
Els quantificadors es col·loquen entre claus ({
i }
). Teniu la forma general {[ocurrències-mínimes][,[ocurrències-màximes]]}
L'ús s'explica millor en aquest exemple:
{1}
Exactament 1 ocurrència
{0,1}
Zero o 1 ocurrència
{,1}
El mateix, però amb menys treball ;)
{5,10}
Com a mínim 5 i com a màxim 10 ocurrències.
{5,}
Com a mínim 5 ocurrències, sense màxim.
A més, hi ha alguns abreujaments:
*
(asterisc)Similar a
{0,}
, troba qualsevol nombre d'ocurrències.+
(signe més)Similar a
{1,}
, almenys 1 ocurrència.?
(signe d'interrogació)Similar a
{0,1}
, zero o 1 ocurrència.
Quan s'usen quantificadors sense màxim, les expressions regulars intenten coincidir amb la major part possible de la cadena cercada, coneixent-se aquest comportament com a voraç.
El programari modern d'expressions regulars proporciona els mitjans per a «desactivar la voracitat», tot i que en els entorns gràfics dependrà de la interfície en tenir accés a aquesta característica. Per exemple, un diàleg de cerca que permeti expressions regulars, podria tenir una casella de selecció anomenada «Coincidència mínima», a més, hi podria haver una indicació que la voracitat és el comportament predeterminat.
Aquests són alguns exemples que utilitzen quantificadors:
^\d{4,5}\s
Coincideix amb els dígits en «1234 ja» i «12345 ara», però no amb els de «567 onze» ni els de «223459 enlloc».
\s+
Coincideix amb un o més espais en blanc.
(bla){1,}
Coincideix amb «blablabla» i amb el «bla» de «blanc» o «tabla».
/?>
Coincideix amb «/>» en «<elementtancat/>» així com amb «>» en «<elementobert>».

Les declaracions permeten que una expressió regular tan sols coincideixi sota una sèrie de condicions controlades.
Una declaració no necessita la coincidència d'un caràcter, sinó que investiga els voltants cercant una possible coincidència abans de donar-la per vàlida. Per exemple, la declaració límit de paraula no intenta trobar un caràcter que no sigui d'una paraula en oposició a un que sí que estigui en la seva posició, en comptes d'això mira d'assegurar que no és un caràcter d'una paraula. Això vol dir que la declaració pot ser vàlida en el cas que no hi hagi cap caràcter, és a dir, al final de la cadena cercada.
Algunes declaracions actuals no tenen un patró amb què coincidir, però la part coincident de la cadena no serà part del resultat de la coincidència de l'expressió completa.
Les expressions regulars aquí documentades suporten les següents declaracions:
^
(accent circumflex: el començament d'una cadena)Coincideix amb el començament de la cadena cercada.
L'expressió
^Pere
coincidirà amb «Pere» en la cadena «Pere, hola!» però no en «Hola Pere!»$
(final de la cadena)Coincideix amb el final de la cadena cercada.
L'expressió
tu\?$
coincidirà amb el final de la cadena «No l'has fet tu?», però amb cap part de «Tu no l'has fet?»\b
(límit de paraula)Coincideix si hi ha un caràcter de paraula a un costat i no un caràcter de paraula a l'altre.
Això és molt útil per a trobar el final de les paraules, o ambdós extrems per a delimitar tota la paraula. L'expressió
\bin\b
coincidirà amb el «in» separat en la cadena «He came in through the window», però no amb el «in» de «window».\B
(no límit de paraula)Coincideix amb tot el que «\b» no coincideix.
Això vol dir que coincidirà, per exemple, dins de les paraules: L'expressió
\Bin\B
coincidirà en «window» però no en «integer» o en «I'm in love».(?=PATRÓ)
(anticipació positiva)Una declaració d'anticipació cerca la part de la cadena seguida d'una possible coincidència. L'anticipació positiva prevé la coincidència de la cadena si el text que segueix no correspon al PATRÓ de la declaració, i el text que coincideix amb aquest no serà inclòs en el resultat.
L'expressió
handy(?=\w)
coincidirà amb «handy» en «handyman» però no en «That came in handy!»(?!PATRÓ)
(anticipació negativa)L'anticipació negativa prevé una possible coincidència si la següent part de la cadena coincideix amb el PATRÓ.
L'expressió
const \w+\b(?!\s*&)
coincidirà amb «const char» en la cadena «const char* foo», mentre que no coincidirà amb «const QString» en «const QString& bar», atès que el «&» coincideix amb el patró de la declaració d'anticipació negativa.(?<=PATRÓ)
(cerca cap enrere positiva)La cerca cap enrere té el mateix efecte que l'anticipació, però funciona a l'inrevés.Una cerca capo enrere la part de la cadena anterior a una possible coincidència. La cerca cap enrere positiva només coincidirà amb una cadena si està precedida pel PATRÓ de la declaració, i el text que coincideix amb aquest no serà inclòs en el resultat.
L'expressió
(?<=cup)cake
coincidirà amb «cake» si està precedit per «cup» (sí a «cupcake» però no a «cheesecake» o «cake»).(?<!PATRÓ)
(cerca cap enrere negativa)La cerca cap enrere negativa prevé una possible coincidència si la part anterior de la cadena coincideix amb el PATRÓ.
L'expressió
(?<![\w\.])[0-9]+
coincidirà amb «123» a les cadenes «=123» i «-123» però no coincidirà amb les cadenes «.123» o «word123».(PATRÓ)
(amb captura del grup)El subpatró dins dels parèntesis serà capturat i recordat, de manera que pugui usar-se en les referències enrere. Per exemple, l'expressió
("+)[^"]*\1
coincidirà amb""""text""""
i"text"
.Per a obtenir més informació vegeu Captura del text coincident (referències enrere).
(?:PATRÓ)
(sense captura del grup)El subpatró entre parèntesis no es capturarà ni recordarà. És preferible utilitzar sempre grups sense captura si no s'utilitzaran les captures.