El manual de la KatePart

El manual de la KatePart

McGinnis, Thad

Mahfouf, Anne-Marie

Lund, Anders

Hollingsworth, T.C.

developer: Cullmann, Christoph
reviewer: Watts, Lauri
Traductor: Antoni Bella
revisió Frameworks 5.46 (21 d'abril de 2018)

La KatePart és un component d'edició amb totes les funcions pel KDE.


Sumari

1. Introducció
2. Alguns fonaments
L'acció arrossega i deixa
Dreceres
3. Treballar amb l'editor KatePart
Vista general
Navegar pel text
Treballar amb la selecció
Usar la selecció en bloc
Usar el mode sobreescriure
Usar les seleccions persistents
Copiar i enganxar text
Cercar i substituir text
Les barres de cerca i substitueix
Cercar text
Substituir text
Ús dels punts
Ajust automàtic del text
Usar el sagnat automàtic
Indicadors de modificació de línia
El mapa en miniatura a la barra de desplaçament
4. Les entrades del menú
El menú Fitxer
El menú Edita
El menú Visualitza
El menú Punts
El menú Eines
Els menús Arranjament i Ajuda
5. Eines d'edició avançades
Comenta/descomenta
El component línia d'ordres de l'editor
Ordres estàndard de la línia d'ordres
Usar el plegat del codi
6. Estendre la KatePart
Introducció
Treballar amb el ressaltat de la sintaxi
Vista general
El sistema de ressaltat de la sintaxi de la KatePart
El format XML per a la definició del ressaltat
Regles per a la detecció del ressaltat
Crear scripts amb JavaScript
Scripts de sagnat
Els scripts de la línia d'ordres
L'API per a la creació de scripts
7. Configurar la KatePart
La configuració del component d'edició
Aparença
Tipus de lletra i colors
Edició
Obre/desa
Configuració amb variables de document
Com utilitza les variables la KatePart
Variables disponibles
Opcions esteses als fitxers .kateconfig
8. Crèdits i llicència
9. El mode d'entrada del Vi
Mode d'entrada del Vi
Incompatibilitats amb Vim
Alternar entre els modes
Integració amb les característiques de Kate
Ordres suportades en el mode normal/visual
Moviments suportats
Objectes de text suportats
Ordres permeses del mode d'inserció
L'objecte de text per comes
Característiques que falten
A. Expressions regulars
Introducció
Patrons
Caràcters d'escapada
Classes de caràcter i abreujaments
Alternatives: Coincidències amb «un de»
Subpatrons
Caràcters amb un significat especial dins dels patrons
Quantificadors
Avarícia
Exemples en context
Declaracions
Capítol 1. Introducció

Capítol 1. Introducció

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 pels 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!

Capítol 2. Alguns fonaments

Capítol 2. Alguns fonaments

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.

L'acció arrossega i deixa

La KatePart utilitza el protocol arrossega i deixa del KDE. Els fitxers es poden arrossegar i deixar 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.

Dreceres

Dreceres

Moltes de les dreceres es poden configurar mitjançant el menú Arranjament. Per omissió, 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

Vés a la línia d'edició anterior

Ctrl+Maj+E

Vés a la línia d'edició següent

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+Alt+Fletxa amunt

Duplica les línies seleccionades cap amunt

Ctrl+Alt+Fletxa avall

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.

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

Cerca.

F3

Cerca següent.

Maj+F3

Cerca anterior.

Ctrl+H

Cerca la selecció.

Ctrl+Maj+H

Cerca la selecció cap enrere.

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 del començament de la vista

Ctrl+Maj+Av Pàg

Selecciona fins al fons 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

Vés a la línia...

Ctrl+I

Selecciona sagnat.

Ctrl+Maj+I

Selecciona sense sagnar.

Ctrl+J

Uneix les línies.

Ctrl+P

Imprimeix.

Ctrl+R

Substitueix.

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

Capitalitza.

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

Desfés.

Ctrl+Maj+Z

Refés.

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

Actualitza.

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

Capítol 3. Treballar amb l'editor KatePart

Capítol 3. Treballar amb l'editor KatePart

Lund, Anders

Haumann, Dominik

Traductor: Antoni Bella

Vista general

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 un petit plafó 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ó esquerre 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 VisualitzaMostra la vora per a les icones del menú.

El plafó dels números de les línies

El plafó dels números de les línies mostra els números de línia de totes les línies visibles en el document.

El plafó dels números de les línies es pot mostrar/ocultar utilitzant l'element VisualitzaMostra els números de les línies del menú.

El plafó de plegat

El plafó 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.

Navegar pel text

Navegar pel text

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'un claudàtor o parèntesi: situeu el cursor dintre del grup de parèntesis o claudàtors, i premeu Ctrl+6 per anar fins al parèntesi o claudàtor amb què s'emparella.

A més podeu utilitzar els punts per a saltar ràpidament fins a posicions que heu definit.

Treballar amb la selecció

Treballar amb la selecció

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í, mantingueu premut el botó esquerre 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ó mig del ratolí, o en qualsevol altra aplicació en la que 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 fletxes, 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 EditaCopia del menú o la drecera de teclat (per omissió Ctrl+C).

Per a desseleccionar la selecció actual, utilitzeu l'element EditaDesselecciona del menú, la drecera de teclat (per omissió Ctrl+Maj+A) o feu clic amb el botó esquerre del ratolí a l'editor.

Usar la selecció en bloc

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 EditaMode de selecció per blocs del menú. La drecera de teclat per omissió és Ctrl+Maj+B.

Usar el mode sobreescriure

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 per omissió.

Per a canviar l'arranjament d'aquesta opció, utilitzeu la pàgina Cursor i selecció del diàleg de configuració.

Usar les seleccions persistents

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 per omissió.

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.

Copiar i enganxar text

Copiar i enganxar text

Per a copiar text, seleccioneu-lo i utilitzeu l'element EditaCopia del menú. De manera addicional, el fet de seleccionar text amb el ratolí causarà que aquest sigui copiat a la selecció X.

Per enganxar el text que es troba en el porta-retalls, utilitzeu l'element EditaEnganxa del menú.

De forma addicional, el text seleccionat amb el ratolí es pot enganxar fent clic amb el botó mig 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.

Cercar i substituir text

Cercar i substituir text

Les barres de cerca i substitueix

La KatePart té una barra de cerca incremental i una barra de cerca i substitució potent, que 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 Afegeix del menú a la part inferior del menú contextual dels quadres de text i us permetrà afegir seqüències d'escapament pel 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 Afegeix del menú, al final 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.

Vegeu expressions regulars per obtenir més informació referent a això.

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.

Cercar text

Per a cercar text, obriu la barra de cerca incremental amb Ctrl+F o des de l'element EditaCerca... 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 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 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 EditaCerca següent (F3) o EditaCerca anterior (Maj+F3).

Substituir text

Per a substituir text, llanceu potent la barra de cerca i substitució utilitzant l'ordre EditaSubstitueix 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 de text per introduir el patró de cerca.

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 Afegeix del menú, al final 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.

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ó Substitueix per a substituir només el text seleccionat o el botó Substitueix-ho tot 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 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ó.

Vegeu expressions regulars per obtenir més informació referent a això.

Suggeriment

Podeu utilitzar les ordres find, replace i ifind (cerca incremental) des de la línia d'ordres.

Ús dels punts

Ús dels punts

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 PuntsDefineix un punt (Ctrl+B).

  • Fent clic en la vora de les icones al costat de la línia.

Els punts estan disponibles en el menú Punts. 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 anar cap al següent/anterior punt, utilitzeu les ordres PuntsSegüent (Alt+Av Pàg) o PuntsAnterior (Alt+Re Pàg).

Ajust automàtic del text

Ajust automàtic del text

Aquesta opció 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 activar/desactivar aquesta opció, marqueu/desmarqueu la casella de selecció Ajust de línia a la pàgina Edició del diàleg de configuració.

Per establir l'amplada màxima de la línia (màxim nombre de caràcters per línia), utilitzeu l'opció Ajusta línia a 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 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.

Usar el sagnat automàtic

Usar el sagnat automàtic

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 EinesSagnat del menú. El mòdul de sagnat automàtic també proveeix la funció EinesAlinea 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 els ajustaments de sagnat per 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.

Indicadors de modificació de línia

Indicadors de modificació de línia

Els indicadors de modificació de línia de la KatePart permeten veure amb facilitat el que heu canviat recentment en un fitxer. Per omissió, 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 lletres 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

El mapa en miniatura a la barra de desplaçament

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 VisualitzaMostra un mapa en miniatura a la barra de desplaçament o permanentment a la secció Aparença de la configuració de la KatePart.

Capítol 4. Les entrades del menú

Capítol 4. Les entrades del menú

El menú Fitxer

FitxerNou (Ctrl+N)

Comença amb un document nou en una finestra de l'editor nova i independent.

FitxerObre... (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 Obre per obrir-lo.

FitxerObre recent

Es tracta d'una drecera per 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 resideix en el mateix lloc-.

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

FitxerDesa com a... (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.

FitxerDesa amb la codificació...

Desa un document amb un nom de fitxer nou en una codificació diferent.

FitxerDesa una còpia com a...

Desa una còpia del document amb un nom de fitxer nou i segueix editant el document original.

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

FitxerImprimeix... (Ctrl+P)

Obre un simple diàleg d'impressió que permet a l'usuari especificar què, a on i com imprimir.

FitxerExporta com a HTML...

Desa el document obert com un fitxer HTML, el qual serà formatat amb l'ajustament actual pel ressaltat de sintaxi i l'esquema de color.

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

FitxerSurt (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 Nou o Finestra nova del menú, aquestes instàncies no seran tancades.

El menú Edita

El menú Edita

EditaDesfés (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.

EditaRefés (Ctrl+Maj+Z)

Revertirà els canvis més recents (si n'hi ha) realitzats emprant Desfés.

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

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

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

EditaHistorial del 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 enganxar-lo al fitxer actualment obert.

EditaCopia com a HTML

Copia la selecció com a HTML, formatat utilitzant l'ajustament actual pel ressaltat de sintaxi i l'esquema de color.

EditaSelecciona-ho tot (Ctrl+A)

Selecciona tot el document. Això pot resultar molt útil per a copiar tot el fitxer a una altra aplicació.

EditaDesselecciona (Ctrl+Maj+A)

Desselecciona el text seleccionat a l'editor (si n'hi ha).

EditaMode selecció per blocs (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.

EditaModes d'entrada

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 per al 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.

EditaMode sobreescriure (Inser)

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.

EditaCerca... (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 introduir el patró de cerca.

Quan comenceu a escriure caràcters del patró de recerca, 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ó.

EditaCerca les variantsCerca següent (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.

EditaCerca les variantsCerca anterior (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.

EditaCerca les variantsCerca la selecció (Ctrl+H)

Cerca la següent ocurrència del text seleccionat.

EditaCerca les variantsCerca la selecció cap enrere (Ctrl+Maj+H)

Cerca l'ocurrència anterior del text seleccionat.

EditaSubstitueix... (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 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 Seqüències d'escapada o Expressió regular són seleccionats, l'element de menú Afegeix... a la part inferior del menú contextual dels quadres de text seran activats i us permetran afegir seqüències d'escapament o elements d'expressions regulars a la cerca o canviar el patró des de les llistes predefinides.

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ó Substitueix per a substituir només el text seleccionat o el botó Substitueix-ho tot 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 veure la barra de cerca incremental.

EditaVés aMou al parèntesi que coincideixi (Ctrl+6)

Mou el cursor al parèntesi d'obertura o tancament associat.

EditaVés aSelecciona fins al parèntesi que coincideixi (Ctrl+Maj+6)

Selecciona el text entre els parèntesis d'obertura i de tancament associats.

EditaVés aMou 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 anterior.

EditaVés aMou a la línia modificada següent

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.

EditaVés aVés a la línia... (Ctrl+G)

Obre la barra de línia «vés a» a la part inferior de la finestra que s'utilitza per 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 a avall la disminuirà. Tanqueu la barra amb un clic al botó amb una icona al costat esquerre de la barra.

El menú Visualitza

El menú Visualitza

VisualitzaFinestra nova

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.

VisualitzaCanvia a la línia d'ordres (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 obtenir ajuda i help list per obtenir una llista de les ordres. Per a més informació sobre la línia d'ordres, vegeu El component línia d'ordres de l'editor.

VisualitzaAugmenta el tipus de lletra (Ctrl++)

Augmenta la mida del tipus de lletra a visualitzar.

VisualitzaMinva el tipus de lletra (Ctrl+-)

Minva la mida del tipus de lletra a visualitzar.

VisualitzaEsquema

Aquest menú llista els esquemes de color disponibles. Aquí el podeu canviar per a la vista actual. Per a canviar l'esquema per omissió necessitareu utilitzar la pàgina Tipus de lletra i colors del diàleg de configuració.

VisualitzaAjust de les paraulesAjust dinàmic de les paraules (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.

ViewAjust de les paraulesIndicadors d'ajust dinàmic de les paraules

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.

VisualitzaAjust de les paraulesMostra els marcadors per a l'ajust estàtic de les paraules

Si aquesta opció està marcada, es dibuixarà una línia vertical a l'ajust de línia tal com s'ha definit a ArranjamentConfigura l'editor... en la pestanya Edició. Tingueu present que la marca d'ajust de línia només es dibuixarà si utilitzeu un tipus de lletra amb mida fixa.

VisualitzaVoresMostra la vora per a les icones (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.

VisualitzaVoresMostra els números de les línies (F11)

Aquest element és un commutador. Si està marcat crearà un plafó al costat esquerre de l'editor actiu mostrant els números de línia del document visible, i viceversa.

VisualitzaVoresMostra les marques de la barra de desplaçament

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.

VisualitzaVoresMostra un mapa en miniatura a la barra de desplaçament

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

VisualitzaPlega el codi

Aquestes opcions pertanyen a Usar el plegat del codi:

Mostra els marcadors plegables (F9)

Mostra o oculta el plafó de marques de plegat a la part esquerra de la vista.

Contrau el node actual

Contrau la regió que conté el cursor.

Expandeix el node actual

Expandeix la regió que conté el cursor.

Contrau els nodes de nivell superior (Ctrl+Maj+-)

Contrau totes les regions al nivell superior en el document. Feu clic al triangle situat a la dreta per expandir totes les regions al nivell superior.

Expandeix els nodes de nivell superior (Ctrl+Maj++)

Expandeix totes les regions que hi ha al document.

Mostra els espais no imprimibles

Mostra/oculta el contenidor al voltant dels espais no imprimibles.

El menú Punts

El menú Punts

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.

PuntsDefineix un punt (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).

PuntsNeteja tots els punts

Eliminarà tots els punts del document així com de la llista de punts situada a la part inferior d'aquest element de menú.

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

PuntsSegüent (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.

El menú Eines

El menú Eines

EinesMode de només lectura

Estableix el document actual al mode de només lectura. Això evita que es pugui afegir text o canvis en el format del document.

EinesMode

Escolliu l'esquema de tipus de fitxer que preferiu per al document actiu. Aquest sobreescriurà el mode de tipus de fitxer establert globalment a ArranjamentConfigura l'editor a la pestanya Tipus de fitxer només per al document actual.

EinesRessaltat

Escolliu l'esquema de ressaltat que preferiu per al document actiu. Això sobreescriurà el mode de ressaltat establert globalment a ArranjamentConfigura l'editor... només per al document actual.

EinesSagnat

Escolliu l'estil de sagnat que voleu per al vostre document actiu. Això sobreescriurà el mode de sagnat establert globalment a ArranjamentConfigura l'editor... només per al vostre document actual.

EinesCodificació

Podeu sobreescriure la codificació establerta per omissió a ArranjamentConfigura l'editor... a la pàgina Obre/Desa per establir una codificació diferent per al vostre document actual. La codificació aquí assignada només serà vàlida per al vostre document actual.

EinesFinal de línia

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 ArranjamentConfigura l'editor... només per al vostre document actual.

EinesAfegeix una marca d'ordre de byte (BOM)

Seleccionant aquesta acció de forma explícita, podeu afegir una marca d'ordre de byte pels documents codificats amb Unicode. La marca d'ordre de byte (BOM) és un caràcter Unicode utilitzat per indicar l'ordre dels bytes en un fitxer de text o un flux, per obtenir més informació, vegeu La marca d'ordre de byte.

EinesScripts

Aquest submenú conté una llista de totes les accions dels scripts. La llista es pot modificar per escriure scripts propis. D'aquesta manera, la KatePart es pot estendre amb les eines definides per l'usuari.

EinesScriptsNavegació
EinesScriptsNavegacióMou el cursor fins al sagnat anterior que concordi (Alt+Maj+Fletxa amunt)

Mou el cursor fins a la primera línia per sobre de l'actual que està amb sagnat en el mateix nivell que la línia actual.

EinesScriptsNavegacióMou el cursor fins al sagnat següent que concordi (Alt+Maj+Fletxa avall)

Mou el cursor a la primera línia per sota de l'actual que està amb sagnat en el mateix nivell que la línia actual.

EinesScriptsEdició
EinesScriptsEdicióOrdena el text seleccionat

Ordena el text seleccionat o la paraula actual en ordre ascendent.

EinesScriptsEdicióDesplaça les línies avall (Ctrl+Maj+Fletxa avall)

Mou cap avall les línies seleccionades.

EinesScriptsEdicióDesplaça les línies amunt (Ctrl+Maj+Fletxa amunt)

Mou cap amunt les línies seleccionades.

EinesScriptsEdicióDuplica les línies seleccionades cap avall (Ctrl+Alt+Fletxa avall)

Duplica les línies seleccionades cap avall.

EinesScriptsEdicióDuplica les línies seleccionades cap amunt (Ctrl+Alt+Fletxa amunt)

Duplica les línies seleccionades cap amunt.

EinesScriptsEdicióCodifica en un URI el text seleccionat

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.

EinesScriptsEdicióDescodifica en un URI el text seleccionat

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.

EinesScriptsEmmet
EinesScriptsEmmetExpandeix les abreviatures

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

EinesScriptsEmmetEmbolcalla amb etiquetes

Embolcalla el text seleccionat amb l'etiqueta proporcionada a la línia d'ordres.

EinesScriptsEmmetMou el cursor fins a l'etiqueta que concordi

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.

EinesScriptsEmmetSelecciona el contingut intern de l'etiqueta HTML/XML

Quan el cursor es troba dins d'un parell d'etiquetes HTML/XML, aquesta opció canviarà la selecció per incloure el contingut d'aquestes etiquetes, sense seleccionar les etiquetes en si.

EinesScriptsEmmetSelecciona el contingut extern de l'etiqueta HTML/XML

Quan el cursor es troba dins d'un parell d'etiquetes HTML/XML, aquesta opció canviarà la selecció per incloure el contingut d'aquestes etiquetes, incloent-hi les etiquetes en si.

EinesScriptsEmmetCommuta els comentaris

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.

EinesScriptsEmmetElimina l'etiqueta sota el cursor

Si el cursor es troba actualment dins d'una etiqueta HTML/XML, aquesta opció eliminarà completament l'etiqueta.

EinesScriptsEmmetRedueix el nombre en 1

Aquest element restarà un al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona 5, esdevindrà 4.

EinesScriptsEmmetRedueix el nombre en 10

Aquest element restarà deu al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona 15, esdevindrà 5.

EinesScriptsEmmetRedueix el nombre en 0,1

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.

EinesScriptsEmmetIncrementa el nombre en 1

Aquest element sumarà un al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona 5, esdevindrà 6.

EinesScriptsEmmetIncrementa el nombre en 10

Aquest element sumarà deu al text seleccionat, si es tracta d'un número. Per exemple, si se selecciona 5, esdevindrà 15.

EinesScriptsEmmetIncrementa el nombre en 0,1

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.

EinesInvoca la compleció del codi (Ctrl+Espai)

Invoca manualment la compleció d'ordres, utilitzant normalment una drecera limitada a aquesta acció.

EinesCompleció de paraules

Reutilitza la paraula de més avall (Ctrl+9) i Reutilitza la paraula de més amunt (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. Compleció d'ordres fa aparèixer un quadre de compleció amb les entrades coincidents.

EinesOrtografiaVerificació automàtica de l'ortografia (Ctrl+Maj+O)

Quan està activada, el text mal escrit és subratllat en el document sobre la marxa.

EinesOrtografiaOrtografia...

Inicia el programa de correcció ortogràfica -un programa dissenyat per 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 configuracions 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 les que 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:

Afegeix al diccionari

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

Substitueix

Aquest botó substituirà la paraula que s'estigui considerant en el document per la paraula en el quadre Substitueix per:.

Substitueix-ho tot

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.

Ignora

Activar aquest botó farà que el corrector continuï sense realitzar cap canvi.

Ignora-ho tot

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:

Ajuda

Invoca al sistema d'ajuda del KDE iniciant-lo a les pàgines d'ajuda per aquest diàleg.

Atura

Aquest botó finalitza el procés de correcció ortogràfica, i torna al document.

Cancel·la

Aquest botó cancel·la el procés de correcció ortogràfica, anul·lant totes les modificacions, i tornant al vostre document.

EinesOrtografiaOrtografia (des del cursor)...

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.

EinesOrtografiaCorregeix la selecció...

Realitza la correcció ortogràfica en la selecció actual.

EinesOrtografiaCanvia el diccionari

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.

EinesNeteja el sagnat

Neteja el sagnat per a la selecció actual o per a la línia en la que es trobi el cursor. Netejar el sagnat assegura que tot el text seleccionat segueixi el mode de sagnat que heu escollit.

EinesAlinea

Causa una realineació de la línia actual o de les línies seleccionades utilitzant el mode de sagnat i els ajustaments del sagnat en el document.

EinesComenta (Ctrl+D)

Afegeix un espai al començament de la línia en la que estigui el cursor de text o al començament del conjunt de qualsevol línia seleccionada.

EinesDescomenta (Ctrl+Maj+D)

Elimina un espai (si n'hi ha cap) del començament de la línia en la que estigui situat el cursor de text o des del començament del conjunt de qualsevol línia seleccionada.

EinesMajúscules (Ctrl+U)

Canvia a majúscules el text seleccionat o la lletra després del cursor.

EinesMinúscules (Ctrl+Maj+U)

Canvia a minúscules el text seleccionat o la lletra després del cursor.

EinesCapitalitza (Ctrl+Alt+U)

Capitalitza el text seleccionat o la paraula actual.

EinesUneix les línies (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.

EinesAplica l'ajust de les paraules

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ó a ArranjamentConfigura l'editor....

Els menús Arranjament i Ajuda

Els menús Arranjament i Ajuda

La KatePart té la configuració comuna al KDE i els elements del menú Arranjament i Ajuda, per obtenir més informació llegiu les seccions sobre El menú Arranjament i El menú Ajuda en els fonaments del KDE.

Capítol 5. Eines d'edició avançades

Capítol 5. Eines d'edició avançades

Lund, Anders

Haumann, Dominik

Traductor: Antoni Bella

Comenta/descomenta

Les ordres Comenta i Descomenta, disponibles des del menú Eines 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 que 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 EinesComenta del menú o la drecera de teclat corresponent, per omissió és Ctrl+D.

Per eliminar marques de comentari, utilitzeu l'element EinesDescomenta del menú o la drecera de teclat corresponent, per omissió és Ctrl+Maj+D.

El component línia d'ordres de l'editor

El component línia d'ordres de l'editor

El component editor de la KatePart té una línia d'ordres interna, permetent-vos dur a terme diverses accions des d'una interfície gràfica 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 VisualitzaCanvia a línia d'ordres o utilitzar la drecera (per omissió é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 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.

Ordres estàndard de la línia d'ordres

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) o 0 (desactivat).

ENTER

Un nombre enter.

CADENA

Una cadena, entre cometes simples (') o cometes dobles (") si conté espais.

Ordres per a configurar l'editor

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 per omissió, per exemple pel 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 del plafó de les marques de plegat.

set-line-numbers {BOOLEÀ enable}

Estableix la visibilitat dels números de línia al plafó.

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 que 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. Si nom é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ú EinesRessaltat. Aquesta ordre proveeix una llista de compleció automàtica per als seus arguments.

reload-scripts

Torna a carregar tots els scripts de 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 a mapped.

Ordres per a l'edició

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 les opcions de sagnat que tingueu establertes 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 que coincideixi el patró amb el valor de substitució. Si voleu incloure espais en blanc en el patró, haureu de posar entre cometes tant el patró com la substitució amb cometes simples o dobles. Si els arguments no es troben entre cometes, s'utilitzarà la primera paraula com a patró i la resta com a substitució. Si la substitució és buida, cada ocurrència del patró 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ó del format serà la següent:

dEl dia com a número sense zeros a l'esquerra (1-31).
ddEl dia com a número amb dos dígits (01-31).
dddL'abreujament del nom del dia segons la localització (p. ex., «Dl»..«Dg»).
ddddEl nom llarg del dia segons la localització (p. ex., «Dilluns»..«Diumenge»).
MEl mes com a número sense zeros a l'esquerra (1-31).
MMEl mes com a número amb dos dígits (01-31).
MMMMEl nom llarg del mes segons la localització (p. ex., «Gener»..«Desembre»).
MMMEl nom abreujat del mes segons la localització (p. ex., «Gen»..«Dec»).
yyL'any amb un número de dos dígits (00-99).
yyyyL'any amb un número de quatre dígits (1752-8000).
hL'hora sense zeros a l'esquerra (0..23 o 1..12 si es mostra AM/PM).
hhL'hora amb dos dígits (00..23 o 01..12 si es mostra AM/PM).
mEls minuts sense zeros a l'esquerra (0..59).
mmEls minuts amb dos dígits (00..59).
sEls segons sense zeros a l'esquerra (0..59).
ssEls segons amb dos dígits (00..59).
zEls mil·lisegons sense zeros a l'esquerra (0..999).
zzzEls mil·lisegons amb tres dígits (000..999).
APS'usa per a mostrar AM/PM. AP serà substituït per «AM» o «PM».
apS'usa per a mostrar am/pm. ap serà substituït per «am» o «pm».

char {CADENA identificador}

Aquesta ordre us 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 D'acord.

Exemple 5.1. Exemples de char

Entrada: char:234

Eixida: ê

Entrada: char:0x1234

Eixida:


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 seran sensibles a majúscules i minúscules. Si poseu una g 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ó, introduireu s/myclass/MyClass/i, premereu el botó D'acord, 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ó D'acord. La g 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 en a1, a10, a2

natsort(a10, a1, a2) resulta en a1, 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.

unwrap

Ajusta les línies del text seleccionat o de tot el document.

each {CADENA script}

Dóna 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}

Dóna 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}

Dóna 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.

Ordres per a navegar

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 EditaCerca següent (la drecera per omissió é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.

Ordres per a les funcions bàsiques de l'editor (aquestes depenen de l'aplicació, el component d'edició s'utilitza en)

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 imprimir el document actual.

Usar el plegat del codi

Usar el plegat del codi

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 VisualitzaMostra els marcadors plegables del menú si no estan visibles. El plafó de 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 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 són disponibles) a la pàgina Aparença de la configuració de l'editor.

Capítol 6. Estendre la KatePart

Capítol 6. Estendre la KatePart

Hollingsworth, T.C.

Traductor: Antoni Bella

Introducció

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 afegir funcionalitat amb JavaScript. Finalment, un cop estengueu la KatePart, sereu benvingut a unir-vos amb nosaltres i compartir les vostres millores amb el món!

Treballar amb el ressaltat de la sintaxi

Treballar amb el ressaltat de la sintaxi

Vista general

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ó al propòsit 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 Perl, presentada amb ressaltat de la sintaxi.

Una funció de Perl, presentada amb ressaltat de la sintaxi.

La mateixa funció de Perl, sense ressaltat.

La mateixa funció de Perl, 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ú EinesRessaltat.

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

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.

Suggeriment

Podeu baixar actualitzacions o definicions addicionals del ressaltat de la sintaxi des del lloc web de la KatePart fent clic en el botó Baixa els fitxers de ressaltat... a la pestanya Modes i tipus de fitxers del diàleg de configuració.

El sistema de ressaltat de la sintaxi de la KatePart

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.

Com funciona

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 pel 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 que 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 que la regla coincideix i comença un nou cicle de regles, començant en el context establert per la regla coincident.

Regles

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 la que 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.

Estils i paraules clau del context

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 al que 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 emfatitzar conceptes dels formats del text.

Estils per omissió

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 per omissió d'estils per omissió, que s'empren en les definicions de la sintaxi individuals.

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 per omissió. Hi ha poques definicions de la sintaxi que utilitzin més estils dels que hi ha per omissió, 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 per omissió 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 per omissió disponibles.

El format XML per a la definició del ressaltat

Vista general

El KatePart utilitza l'entorn de treball per al ressaltat de la sintaxi dels Frameworks del KDE. Els fitxers XML per omissió del ressaltat distribuïts enviats 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--paths GenericDataLocation que normalment és $HOME/.local/share

Al Windows® aquests fitxers es troben a %USERPROFILE%/AppData/Local/org.kde.syntax-highlighting/syntax. %USERPROFILE% que generalment s'expandeix a C:\\Users\\usuari.

Principals seccions dels fitxers per a la 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 són o no sensibles a 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'atribut required-syntax-style.

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 opcional list i els elements requerits contexts i itemDatas.

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.

L'element contexts conté tots els contexts. El primer és l'emprat per omissió i amb aquest s'iniciarà el ressaltat. Hi ha dues regles en el context Normal Text, que faran 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 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'utilitzen itemData Normal Text, String i Keyword.

<highlighting>
    <list name="algun_nom">
      <item> class </item>
      <item> const </item>
    </list>
    <contexts>
      <context attribute="text_normal" lineEndContext="#pop" name="text_normal" >
        <keyword attribute="paraula_clau" context="#stay" String="algun_nom" />
        <DetectChar attribute="cadena" context="string" char="&quot;" />
      </context>
      <context attribute="cadena" lineEndContext="#stay" name="cadena" >
        <DetectChar attribute="cadena" context="#pop" char="&quot;" />
      </context>
    </contexts>
    <itemDatas>
      <itemData name="text_normal" defStyleNum="dsNormal" />
      <itemData name="paraula_clau" defStyleNum="dsParaula_clau" />
      <itemData name="cadena" defStyleNum="dsCadena" />
    </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 i sagnat.

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 comenta/descomenta.

La secció keywords defineix si les llistes de paraules clau són sensibles a majúscules i minúscules o no. Més endavant s'explicaran altres atributs.

<general>
    <comments>
      <comment name="singleLine" start="#"/>
    </comments>
    <keywords casesensitive="1"/>
  </general>
</language>

Les seccions en detall

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 grup contexts. 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 especificar el context al que canviar si les regles coincideixen.

lineEndContext defineix el context al que 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 anomenat AltreContext.

lineEmptyContext defineix el context si es troba una línia buida. Per omissió: #stay.

fallthrough defineix si el sistema de ressaltat canviarà al context especificat en fallthroughtContext si no coincideixen les regles. Per omissió: false.

fallthroughContext especifica el context següent si no hi ha regles que coincideixin.

dynamic si està a true, el context recordarà cadenes/marcadors de posició desats per les regles dinàmiques. Això es necessita per als documents HERE, per exemple. Per omissió: false.

L'element itemData es troba en el grup itemDatas. 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 per omissió, 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à per omissió. Més endavant s'explicaran els estils per omissió 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 grup general defineix les propietats «keyword». Els atributs disponibles són:

casesensitive pot ser true o false. Si està a true, totes les paraules clau seran sensibles a 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 una list 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 per omissió i els d'ajust de la línia són els caràcters .():!+,-<=>%&*/;?[]^{|}~\, espai (« ») i tabulació («\t»).

L'element comment en el grup comments defineix les propietats dels comentaris emprats per EinesComenta i EinesDescomenta. Els atributs disponibles són:

name pot ser singleLine o multiLine. Si escolliu multiLine es necessiten els atributs end i region.

start defineix la cadena que s'utilitza per iniciar un comentari. En C++ seria «/*».

end defineix la cadena utilitzada per a tancar un comentari. En C++ seria «*/».

region serà el nom amb el que 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.

L'element folding en el grup general 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, pel que per omissió és false.

L'element indentation en el grup general defineix quin sagnat s'utilitzarà. Encara que recomanem fervorosament que l'ometeu, atès que el sagnat sol ser establert en el tipus de fitxer o en afegir el mode de línia al fitxer de text. Tot i que si especifiqueu un sagnat, forçareu un sagnat específic per a l'usuari, que podria no agradar-li. Els atributs disponibles són:

mode és el nom del sagnat. Els sagnats disponibles a la dreta són: normal, cstyle, haskell, lilypond, lisp, python, ruby i xml.

Estils per omissió disponibles

Els estils per omissió ja s'han explicat, a manera de resum: Els estils per omissió estan predefinits per als estils de colors i tipus de lletra.

Estils per omissió en general:

dsNormal, quan no es requereix un ressaltat especial.

dsKeyword, per a les paraules clau incloses.

dsFunction, per a 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, per a les declaracions del preprocessador o per a les definicions de macros.

dsAttribute, anotacions com «@override» i «__declspec(...)».

Estils per omissió relacionats amb les cadenes:

dsChar, per a 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, per a 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 del LaTeX...

dsImport, per a importar, incloure o requerir mòduls.

Estils per omissió relacionats amb números:

dsDataType, tipus de dades incloses com «int», «void», «u64».

dsDecVal, valors decimals.

dsBaseN, per als valors en una base diferent de 10.

dsFloat, per a valors decimals.

dsConstant, definicions incloses i definides per l'usuari com PI.

Estils per omissió relacionats amb la documentació i els comentaris:

dsComment, per a 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, per a marcadors de regió com els comentaris «//BEGIN», «//END».

Altres estils per omissió:

dsInformation, notes i consells com «@note» al doxygen.

dsWarning, avisos com «@warning» al doxygen.

dsAlert, paraules especials com «TODO», «FIXME», «XXXX».

dsError, per a errors de ressaltat i sintaxi incorrecta.

dsOthers, quan res més s'hi ajusti.

Regles per a la detecció del ressaltat

Aquesta secció descriu les regles per a la detecció del ressaltat.

Cada regla pot coincidir en cap o amb diversos caràcters al començament de la cadena amb la que 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, que és el nom dels altres contexts.

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

Algunes regles poden tenir regles filles que s'executen únicament si la regla pare resulta aplicable. A tota la cadena coincident es donarà l'atribut definit per la regla pare. Una regla amb regles filles té aquest aspecte:

<NomRegla (atributs)>
  <NomReglaFill (atributs) />
  ...
</NomRegla>

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. Per omissió: unset.

  • endRegion: Tanca un bloc de plegat del codi. Per omissió: unset.

  • lookAhead: Si està a true, el sistema de ressaltat no processarà les longituds coincidents. Per omissió: false.

  • firstNonSpace: Només coincidiran si la cadena no conté un espai en blanc al començament de la línia. Per omissió: false.

  • column: Només coincideix, si la columna coincideix. Per omissió: unset.

Regles dinàmiques

Algunes regles permeten l'atribut opcional dynamic de tipus lògic que per omissió é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 la corresponent N capturada des de l'expressió regular cridada. 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).

Les regles en detall

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) (dinàmic) />

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'atribut insensitive per omissió és false i es passa a la funció de comparació de la cadena. Si el valor és true la comparació no serà sensible a 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 regla RegExpr.

<WordDetect String="(cadena)" [insensitive="true|false"] (atributs comuns) (dinàmic) />

L'atribut String defineix la cadena a comparar. L'atribut insensitive per omissió és false i es passa a la funció de comparació de la cadena. Si el valor és true la comparació no serà sensible a 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 per omissió és false i és passada al motor d'expressions regulars.

minimal per omissió és false 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.

Vegeu la secció sobre expressions regulars per obtenir més informació.

keyword

Detecta una paraula clau des d'una llista especificada.

<keyword String="(nom de la llista)" (atributs comuns) />

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 per omissió), 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.

Int

Detecta un nombre enter.

<Int (atributs comuns) (dinàmic) />

Aquesta regla no té atributs específics. Les regles filles normalment s'utilitzen per a detectar combinacions de L i U després del número, indicant el tipus d'enter en el codi del programa. En realitat s'admeten totes les regles com a regles filles, tot i que, la DTD només permet la regla fill StringDetect.

El següent exemple troba nombres enters seguits del caràcter «L».

<Int attribute="Decimal" context="#stay" >
  <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
</Int>
Decimals

Detecta un nombre decimal.

<Float (atributs comuns) />

Aquesta regla no té atributs específics. Es permet AnyChar com a regla fill i normalment s'utilitza per a detectar combinacions, vegeu la regla Int com a referència.

HlCOct

Detecta una representació numèrica d'un nombre octal.

<HlCOct (atributs comuns) />

Aquesta regla no té atributs específics.

HlCHex

Detecta una representació numèrica d'un nombre hexadecimal.

<HlCHex (atributs comuns) />

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ò tingueu en compte que el motor de ressaltat només pot treballar amb una línia alhora, 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, per defecte é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 una 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 i saltar coincidències.

Consells i trucs

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 de StringDetect. El mateix s'aplica a DetectChar.

  • 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 utilitzar DetectChar amb l'atribut column="0". L'atribut column compta els caràcters, per tant el tabulador és només un caràcter.

  • 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'atribut lookAhead 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 per omissió 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 i language.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.

Crear scripts amb JavaScript

Crear scripts amb JavaScript

El component d'edició de la KatePart és fàcilment extensible, escrivint scripts. El llenguatge per crear scripts és ECMAScript (conegut com a Javascript). La KatePart admet dos tipus de script: de sagnat i de línia d'ordres.

Scripts de sagnat

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 $XDG_DATA_HOME/katepart5/script/indentation. En aquest sentit, la variable d'entorn XDG_DATA_HOME normalment s'expandeix a ~/.local o ~/.local/share.

Al Windows® aquests fitxers es troben a %USER%\AppData\Local\katepart5\indentation. %USERPROFILE% que generalment s'expandeix a C:\\Users\\usuari.

La capçalera de l'script de sagnat

La capçalera del fitxer javascript.js està inclosa 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ú EinesSagnat 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 amb style 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 fitxers ruby.js i ruby.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 sagnat per omissió.

El codi font del sagnat

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 EinesAlinea
    // la variable ch és buidada, és a dir, ch == «».
    //
    // Vegeu també: L'API per a la creació de 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 en triggerCharacters o buida si l'usuari invoca l'acció EinesAlinea.

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 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ó per omissió del KDE ens dóna 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 %USER%\AppData\Local\katepart5\indentation. %USER% que generalment s'expandeix a C:\\Users\\usuari.

El desenvolupament d'un sagnat requereix tornar a carregar els scripts per 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.

Els scripts de la línia d'ordres

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 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 $XDG_DATA_HOME/katepart5/script/commands. En aquest sentit, la variable d'entorn XDG_DATA_HOME normalment s'expandeix a ~/.local o ~/.local/share.

Al Windows® aquests fitxers es troben a %USER%\AppData\Local\katepart5\commands. %USER% que generalment s'expandeix a C:\\Users\\usuari.

La capçalera de l'script de línia d'ordres

La capçalera de cada script de la línia d'ordres està inclosa 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.

El codi font de l'script

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, per exemple, «range.js»
// si utilitzeu «Range»
require ("range.js");

function <nom>(arg1, arg2...)
{
    // «...» implementació, vegeu també: L'API per a la 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 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.

Vincular les dreceres

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ú EinesScripts.

  • 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 per omissió. 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 a true (vertader).

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 la creació de scripts

L'API per a la creació de 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 $XDG_DATA_DIRS/katepart5/libraries. Si voleu utilitzar-los en el seu vostre script, serà necessari utilitzar algunes de les funcions Document o View, si us plau, afegiu la biblioteca necessària mitjançant:

// es necessiten les biblioteques «js» de la katepart, per exemple, «range.js»
// si utilitzeu «Range»
require ("range.js");

Per estendre la norma de l'API per a la creació de 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 $XDG_DATA_HOME/katepart5/libraries i incloure'l a l'script utilitzant:

require ("nom_script.js");

Al Windows® aquests fitxers es troben a %USER%\AppData\Local\katepart5\libraries. %USER% que generalment s'expandeix a C:\\Users\\usuari.

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

Cursors i intervals

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.

El prototip de «Cursor»
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 i columna.

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 cursor altra,

  • 0, si tots dos cursors són iguals i

  • +1, si el cursor està situat després del cursor altra.

bool Cursor.equals(Cursor altra);

Retorna true (vertader), si aquest cursor i el cursor altra són iguals, en cas contrari retornarà false (fals).

String Cursor.toString();

Retorna el cursor com una cadena de la forma «Cursor(line, column)».

El prototip «Range»
Range();

El constructor. Crida new Range() retornant un interval (0, 0) - (0, 0).

Range(Cursor inici, Cursor final);

El constructor. Crida new Range(inici, final) retorna l'interval de (inici, final).

Range(int líniaInici, int columnaInici, int líniaFinal, int columnaFinal);

El constructor. Crida new Range(líniaInici, columnaInici, líniaFinal, columnaFinal) retorna l'interval de (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 (vertader), si inici i final del cursor són iguals.

Exemple: var empty = range.isEmpty();

Des del: KDE 4.11

bool Range.isValid();

Retorna true (vertader), 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 (vertader) si aquest interval conté la posició de cursor, en cas contrari retornarà false (fals).

bool Range.contains(Range altra);

Retorna true (vertader), si aquest interval conté l'interval altra, en cas contrari retornarà false (fals).

bool Range.containsColumn(int columna);

Retorna true (vertader), si columna està en l'interval obert mig [start.column, end.column), en cas contrari retornarà false (fals).

bool Range.containsLine(int línia);

Retorna true (vertader), si línia està en l'interval obert mig [start.line, end.line), en cas contrari retornarà false (fals).

bool Range.overlaps(Range altre);

Retorna true (vertader), si aquest interval i l'interval altre comparteixen una regió comuna, en cas contrari retornarà false (fals).

bool Range.overlapsLine(int línia);

Retorna true (vertader), si línia està en l'interval [start.line, end.line], en cas contrari retornarà false (fals).

bool Range.overlapsColumn(int columna);

Retorna true (vertader), si columna està en l'interval [start.column, end.column], en cas contrari retornarà false (fals).

bool Range.onSingleLine();

Retorna true (vertader), si l'interval comença i finalitza a la mateixa línia, és a dir si Línia.comença.interval == Línia.finalitza.interval.

Des del: KDE 4.9

bool Range.equals(Range altra);

Retorna true (vertader), si aquest interval i l'interval altra 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))».

Funcions globals

Aquesta secció llista totes les funcions globals.

Llegir i incloure fitxers
String read(String fitxer);

Cercarà el fitxer donat en relació al directori katepart/script/files i retorna el seu contingut com una cadena.

void require(String fitxer);

Cercarà el fitxer donat en relació al directori katepart/script/libraries i l'avaluarà. require està internament protegit contra inclusions múltiples del mateix fitxer.

Des del: KDE 4.10

Depuració
void debug(String text);

Imprimeix text a stdout a la consola de llançament de l'aplicació.

Traducció

Per tal de donar suport a la completa localització, hi ha diverses funcions per 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ó. Cal assenyalar però, 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 la llengua emprada per l'aplicació. Els arguments arg1..., són opcionals i s'utilitzen per a substituir els arguments %1, %2, etc.

void i18nc(String context, String text, arg1...);

Tradueix text a la llengua emprada per l'aplicació. A més, la cadena context és visible als traductors perquè puguin oferir una millor traducció. Els arguments arg1..., 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 o plural a la llengua emprada per l'aplicació, en funció del número indicat. Els arguments arg1..., 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 o plural a la llengua emprada per l'aplicació, en funció del número indicat. A més, la cadena context és visible als traductors perquè puguin oferir una millor traducció. Els arguments arg1..., són opcionals i s'utilitzen per a substituir els arguments %1, %2, etc.

L'API de «View»

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.

Cursor view.cursorPosition()

Retorna la posició actual del cursor en la vista.

void view.setCursorPosition(int línia, int columna);
void view.setCursorPosition(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 column);
void view.setVirtualCursorPosition(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 (vertader), 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.

L'API de «Document»

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 de modes de ressaltat inclosos en aquest document.

bool document.isModified();

Retorna true (vertader), 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 alaColumna);
String document.text(Cursor desDe, Cursor a);
String document.text(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 columna);
String document.wordAt(Cursor cursor);

Retorna la paraula a la posició del cursor donada.

Range document.wordRangeAt(int línia, int columna);
Range document.wordRangeAt(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 columna);
String document.charAt(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 columna);
bool document.isSpace(Cursor cursor);

Retorna true (vertader), 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 text);
bool document.matchesAt(Cursor cursor, String text);

Retorna true (vertader), si el text 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 (vertader), si la línia comença amb text, en cas contrari retornarà false (fals). L'argument skipWhiteSpaces controla si s'han d'ometre els espais en blanc al davant.

bool document.endsWith(int línia, String text, bool skipWhiteSpaces);

Retorna true (vertader), si la línia acaba amb text, en cas contrari retornarà false (fals). L'argument skipWhiteSpaces 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 columna);
bool document.truncate(Cursor cursor);

Trunca la línia donada a la columna o la posició donada del cursor. Retorna true (vertader) en cas d'èxit, o false (fals) si la línia donada no forma part de l'interval del document.

bool document.insertText(int línia, int columna, String text);
bool document.insertText(Cursor cursor, String text);

Insereix el text a la posició donada del cursor. Retorna true (vertader) en cas d'èxit, o false (fals), si el document està en el mode de només lectura.

bool document.removeText(int desDeLínia, int desDeColumna, int alaLínia, int alaColumna);
bool document.removeText(Cursor desDe, Cursor a);
bool document.removeText(Range rang);

Elimina el text dins de l'interval donat. Retorna true (vertader) en cas d'èxit, o false (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 (vertader) en cas d'èxit, o false (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 (vertader) en cas d'èxit, o false (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 columna);
bool document.wrapLine(Cursor cursor);

Ajusta la línia a la posició del cursor donada. Retorna true (vertader) en cas d'èxit, o false (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 a finalLí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 (vertader), si la línia actual conté dades sense desar.

Des del: KDE 5.0

bool document.isLineSaved(int línia);

Retorna true (vertader), si la lí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 (vertader), si la lí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 a avall.

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 agrupar desfer/refer. Assegureu-vos de cridar sempre editEnd() tan aviat com crideu editBegin(). La crida editBegin() 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 de editBegin()) 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 columna);
int document.prevNonSpaceColumn(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 columna);
int document.nextNonSpaceColumn(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 (vertader), si el carà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 (vertader), si el carà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 (vertader), 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 columna);
bool isValidTextPosition(Cursor cursor);

Retorna true (vertader), 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 columna);
int document.attribute(Cursor cursor);

Retorna l'atribut a la posició del cursor donada.

bool document.isAttribute(int línia, int columna, int atribut);
bool document.isAttribute(Cursor cursor, int atribut);

Retorna true (vertader), 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 columna);
String document.attributeName(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 nom);
bool document.isAttributeName(Cursor cursor, String nom);

Retorna true (vertader), si el nom de l'atribut en una posició determinada del cursor coincideix amb el nom 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 columna);
int document.toVirtualColumn(Cursor cursor);
Cursor document.toVirtualCursor(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 virtualColumna);
int document.fromVirtualColumn(Cursor virtualCursor);
Cursor document.fromVirtualCursor(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 caràcter);
Cursor document.anchor(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 atribut = -1);
Cursor document.rfind(Cursor cursor, String text, int atribut = -1);

Cerca cap enrere el text donat amb l'atribut adequat. L'argument atribut 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 columna);
int document.defStyleNum(Cursor cursor);

Retorna l'estil per omissió utilitzat a la posició donada del cursor.

bool document.isCode(int línia, int columna);
bool document.isCode(Cursor cursor);

Retorna true (vertader), 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 columna);
bool document.isComment(Cursor cursor);

Retorna true (vertader), si l'atribut del caràcter a la posició del cursor és dsComment, en cas contrari retornarà false (fals).

bool document.isString(int línia, int columna);
bool document.isString(Cursor cursor);

Retorna true (vertader), si l'atribut del caràcter a la posició del cursor és dsString, en cas contrari retornarà false (fals).

bool document.isRegionMarker(int línia, int columna);
bool document.isRegionMarker(Cursor cursor);

Retorna true (vertader), si l'atribut del caràcter a la posició del cursor és dsRegionMarker, en cas contrari retornarà false (fals).

bool document.isChar(int línia, int columna);
bool document.isChar(Cursor cursor);

Retorna true (vertader), si l'atribut del caràcter a la posició del cursor és dsChar, en cas contrari retornarà false (fals).

bool document.isOthers(int línia, int columna);
bool document.isOthers(Cursor cursor);

Retorna true (vertader), si l'atribut del caràcter a la posició del cursor és dsOthers, en cas contrari retornarà false (fals).

Capítol 7. Configurar la KatePart

Capítol 7. Configurar la KatePart

Seleccionant ArranjamentConfigura l'aplicació... apareixerà el diàleg Configura. Aquest diàleg es pot utilitzar per alterar un cert nombre de configuracions diferents. Les configuracions disponibles per a cada categoria poden variar d'acord amb la categoria que l'usuari escull en el llistat vertical a la part esquerra del diàleg. Mitjançant els tres botons del quadre l'usuari pot controlar el procés.

És possible demanar Ajuda al sistema, acceptar els ajustaments actuals i tancar el diàleg mitjançant el botó D'acord, o Cancel·la el procés. Les categories Aparença, Tipus de lletra i colors, Edició, Obre/desa i Extensions seran detallades a continuació.

La configuració del component d'edició

Aquest grup conté totes les pàgines relacionades amb el component editor de la KatePart. La majoria de les configuracions que es troben aquí són les per omissió, i poden ser sobreescrites per definicions del tipus de fitxer, per variables de document o per a canvis en el mateix document durant una sessió d'edició.

Aparença

General

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.

Indicadors d'ajust dinàmic de les paraules (si és d'aplicació)

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.

Alinea les línies ajustades dinàmicament a l'amplada del sagnat:

Activa l'inici de l'ajust dinàmic de les línies perquè s'ajustin verticalment al nivell del sagnat de la primera línia. Això pot ajudar a crear codi i marques més llegibles.

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.

Ressaltat dels espais en blanc
Ressalta els tabuladors

L'editor mostrarà un símbol » per indicar la presència d'un tabulador en el text.

Ressalta els espais finals

L'editor mostrarà punts per indicar la presència d'espais en blanc extra al final de les línies.

Mida del marcador de ressaltat

Utilitzeu el control lliscant per a canviar la mida del marcador de ressalt visible.

Avançat

Mostra les línies de sagnat

Si està marcada, l'editor mostrarà línies verticals per ajudar a identificar el sagnat de les línies.

Ressalta l'interval entre els parèntesis seleccionats

Si està activat, es ressaltarà l'interval entre la parella de parèntesis seleccionats.

Anima els parèntesis concordants

Si està activat, es mourà sobre els parèntesis que coincideixin ({, [, ], },( o )) animant ràpidament el parèntesi corresponent.

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

Mostra el comptador de paraules

Mostra el nombre de paraules i caràcters que hi ha al document i a la selecció actual.

Vores

Vores
Mostra els marcadors plegables

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 del codi plegat

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.

Mostra la vora per a les icones

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.

Mostra els marcadors de modificació de línia

Si aquesta opció està marcada, els marcadors de modificació de línia seran visibles. Per obtenir més informació, vegeu «Indicadors de modificació de línia».

Mostra les marques de la barra de desplaçament

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 del text a 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.

Mostra un mapa en miniatura a la barra de desplaçament

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ó esquerre 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ó esquerre del ratolí fora del rectangle blau per a desplaçar-vos automàticament a través del document.

Ordena el menú dels punts
Per creació

Cada punt nou s'afegirà al final, independentment d'on estigui situat en el document.

Per posició

Els punts s'ordenaran pel número de línia en la qual estan situats.

Tipus de lletra i colors

Aquesta secció del diàleg permet configurar tots els tipus de lletra i colors de qualsevol esquema de color que tingueu, així com crear nous esquemes o suprimir els existents. Cada esquema té configuracions per als colors, tipus de lletra i ressaltat dels estils de text.

La KatePart preseleccionarà l'esquema actualment actiu, si voleu treballar sobre un esquema diferent seleccioneu-lo en el quadre combinat Esquema. Amb els botons Nou i Suprimeix podreu crear un nou esquema o suprimir els existents.

A la part inferior de la pàgina podeu seleccionar l'Esquema per omissió per a la KatePart.

Per omissió, la KatePart basarà el seu esquema de color en l'esquema de color actual del KDE. Podreu restablir un color individual a predeterminat fent clic a la fletxa de restablir a la dreta de l'entrada en l'editor de colors, o podeu restablir tots els colors a predeterminats fent clic a Usa l'esquema de colors del KDE a la part inferior del plafó.

Suggeriment

Podeu ajustar l'esquema de color del KDE al mòdul Colors a Arranjament del sistema.

Colors

Editor dels colors de fons
Àrea de text

Aquest és el fons predeterminat per a l'àrea d'edició, serà el color dominant en l'àrea d'edició.

Text seleccionat

Aquest és el fons per al text seleccionat. El valor per omissió és el color de la selecció global, tal com està configurat en les preferències de color del KDE.

Línia actual

Estableix el color per a la línia actual. Estableix aquest ajustament una mica diferent del fons del text normal per ajudar a mantenir el focus en la línia actual.

Ressaltat de la cerca

Ajusta el color per al text que coincideixi amb la vostra última cerca.

Ressaltat de la substitució

Ajusta el color per al text que coincideixi amb la vostra última operació de substitució.

Vora de la icona
À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.

Números de les línies

Aquest color s'utilitza per a dibuixar els números de línia al costat esquerre quan siguin mostrats.

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

Plegat del 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 obtenir més informació, vegeu la documentació per al plegat del codi.

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 obtenir més informació, vegeu «Indicadors de modificació de línia».

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 obtenir més informació, vegeu «Indicadors de modificació de línia».

Decoracions del text
Línia amb error ortogràfic

Aquest color s'utilitza per indicar els errors ortogràfics.

Marcadors de tabulació i espai

Aquest color s'utilitza per a dibuixar els indicadors d'espai en blanc, quan estan activats.

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.

Ressaltat dels parèntesis

Aquest color s'utilitza per a dibuixar el fons dels claudàtors emparellats.

Colors dels marcadors
Punt

Aquest color s'utilitza per indicar els punts. Per a més informació, vegeu «Ús dels punts».

Punt d'interrupció actiu

Aquest color és utilitzat pel connector GDB per indicar un punt d'interrupció actiu. Per obtenir més informació, vegeu la documentació per al connector GDB.

S'ha arribat a un punt d'interrupció

Aquest color és utilitzat pel connector GDB per indicar que s'ha arribat a un punt d'interrupció mentre es depurava. Per obtenir més informació, vegeu la documentació per al connector GDB.

Punt d'interrupció desactivat

Aquest color és utilitzat pel connector GDB per indicar un punt d'interrupció inactiu. Per obtenir més informació, vegeu la documentació per al connector GDB.

Execució

Aquest color és utilitzat pel connector GDB per indicar la línia que s'està executant actualment. Per obtenir més informació, vegeu la documentació per al connector GDB.

Avís

Aquest color és utilitzat pel connector de construcció per indicar una línia que ha causat un avís del compilador. Per obtenir més informació, vegeu la documentació per al connector de construcció.

Error

Aquest color és utilitzat pel connector de construcció per indicar una línia que ha causat un error del compilador. Per obtenir més informació, vegeu la documentació per al connector de construcció.

Plantilles i retalls de text
Fons

Aquest color és utilitzat pel connector de retalls del Kate per a marcar el fons d'un retall.

Text variable editable

Aquest color és utilitzat pel connector de retalls del Kate per a marcar un text variable al qual podeu fer clic per editar-lo de forma manual.

Text variable editable amb el focus

Aquest color és utilitzat pel connector de retalls del Kate per a marcar el text variable que esteu editant.

Text variable no editable

Aquest color és utilitzat pel connector de 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 obtenir més informació, vegeu la documentació per al connector de retalls del Kate.

Usa l'esquema de colors del KDE

En fer clic en aquest botó, s'ajustaran tots els colors definits anteriorment perquè coincideixin amb l'actual esquema de color definit a Arranjament del sistema del KDE. Per obtenir més informació, vegeu la documentació pel mòdul de control Colors del KDE.

Si no utilitzeu els espais de treball Plasma del KDE, aquest botó no tindrà cap efecte, i podria no estar present.

Tipus de lletra

Aquí podreu escollir el tipus de lletra per a l'esquema. Podeu escollir qualsevol tipus de lletra disponible en el vostre sistema, i establir la mida per omissió. 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 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.

Estils de text per omissió

Els estils de text per omissió s'hereten dels estils de text ressaltat, i permeten a l'editor presentar text de manera compatible, per exemple, el comentari de text utilitza el mateix estil en la majoria dels formats que la KatePart pot ressaltar.

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.

Estils del text ressaltat

Aquí podeu editar els estils de text usats 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 per omissió utilitzat per l'element, i assignar-lo si no l'és.

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

Edició

General

Ajust estàtic 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:.

Activa l'ajust estàtic de les paraules

Activa o desactiva l'ajust estàtic de les paraules.

Mostra els marcadors per a l'ajust estàtic de les paraules (si és aplicable)

Si aquesta opció està marcada, es dibuixarà una línia vertical a l'ajust de la línia tal com s'ha definit a ArranjamentConfigura l'editor... a la pestanya Editor. Tingueu 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ó Activa l'ajust estàtic de les paraules 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

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ú Edita.

Parèntesis automàtics

Quan l'usuari escrigui un parèntesi esquerre ([, (, o {), la KatePart introduirà automàticament el parèntesi dret (}, ) o ]) a la dreta del cursor.

Quan hi hagi text seleccionat, escrivint un dels caràcters s'envoltarà el text seleccionat.

Copiar i enganxar
Copia/retalla la línia actual si no hi ha cap selecció

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.

Navegació pel text

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.

Centra automàticament el cursor:

Defineix el nombre de línies a mantenir visibles per sobre i 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 se selecciona, els caràcters compostos s'eliminen amb els seus diacrítics en lloc de treure només la base del caràcter. Això és útil per a localitats de l'Índic.

Sagnat

Mode de sagnat predeterminat:

Seleccioneu el mode de sagnat automàtic que voleu utilitzar per omissió. Es recomana utilitzar Cap o Normal, i utilitzar les configuracions del tipus de fitxer per assignar d'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 a 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 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
Preserva 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ó Desfés 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 alinear la línia actual en el bloc de codi actual com a emacs, la Tab farà una drecera a l'acció Alinea.

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

Compleció automàtica

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.

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 pel ressaltat de la sintaxi.

Verificació ortogràfica

Aquestes opcions de configuració es descriuen a la documentació del mòdul Corrector ortogràfic a Arranjament del sistema.

Mode d'entrada del Vi

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 fer una sèrie d'ordres.

Exemple:

F2 -> I-- Esc

Això anteposa I-- a una línia quan es pressiona F2.

Obre/desa

General

Format del fitxer
Codificació

Defineix la codificació estàndard a utilitzar per 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 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 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 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 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 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.

Avançat

Còpia de seguretat en desar

Els fitxers de còpia de seguretat faran que la KatePart copiï el fitxer a <prefix><nomfitxer><sufix> abans de desar els canvis. El sufix per omissió és ~ i el prefix restarà buit.

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

Introduïu el prefix que precedirà al nom dels fitxers de còpia de seguretat.

Sufix

Introduïu el sufix a afegir al nom dels fitxers de còpia de seguretat.

Opcions del fitxer d'intercanvi

La KatePart és capaç de recuperar (la major part de) el que va escriure després de l'última vegada que va desar en el cas d'una fallada o falta de corrent elèctric. Un fitxer d'intercanvi (.swp.<nomfitxer>) és creat després de la primera acció d'edició en un document. Si l'usuari no desa els canvis i la KatePart peta, 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 està activada, els fitxers d'intercanvi es desaran a la mateixa carpeta que el fitxer. Quan es tria Directori alternatiu, els fitxers d'intercanvi es crearan a la carpeta especificada. Això és útil per a sistemes de fitxers en xarxa per evitar el tràfic de xarxa innecessari.

Modes i tipus dels fitxers

Aquesta pàgina us permetrà substituir la configuració per omissió 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 eliminar un tipus de fitxer existent, seleccioneu-lo des de la llista desplegable i premeu el botó Suprimeix.

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ú EinesTipus de fitxer.

Secció:

El nom de la secció utilitzada per organitzar els tipus de fitxer en menús. També és utilitzat en el menú EinesTipus de fitxer.

Variables:

Aquesta cadena permet configurar els ajustaments 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 Edita per veure una llista de totes les variables disponibles i les seves descripcions. Seleccioneu la casella de selecció de l'esquerra per 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 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 aquest tipus de fitxer. Si un document coincideix amb diversos tipus de fitxer, s'escollirà el que disposi d'una prioritat més alta.

Baixa els fitxers de ressaltat...

Fer clic en aquest botó per a baixar noves descripcions de ressaltat de la sintaxi o per actualitzar les existents des del lloc web de la KatePart.

Configuració amb variables de document

Configuració amb variables de document

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 després dels 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 els ajustaments 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, dóna prioritat als fitxers .kateconfig.

Com utilitza les variables la KatePart

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.

  • Configuracions 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 pot ser consultada per altres objectes com connectors, que les poden utilitzar per als seus propis propòsits. 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

Variables disponibles

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 pel 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ó per a 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ó pels 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, - o 0: mai elimina els espais finals.

  • modified, mod, + o 1: elimina els espais finals només en les línies modificades. Les línies modificades estan marcades pel sistema de modificació de la línia.

  • all, * o 2: elimina els espais finals a tot el document.

Des del: KDE 4.10.

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

Opcions esteses als fitxers .kateconfig

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.

Capítol 8. Crèdits i llicència

Capítol 8. Crèdits i llicència

Copyright de la KatePart i el KWrite, 2001-2014 per l'equip del Kate.

Basat en el KWrite original, Copyright 2000 per en Jochen Wilhelmy

Contribucions:

  • Cullmann, Christoph

  • Michael Bartl

  • Phlip

  • Lund, Anders

  • Matt Newell

  • Wenninger, Joseph

  • Jochen Wilhelmy

  • Koch, Michael

  • Gebauer, Christian

  • Hausmann, Simon

  • Glen Parker

  • Scott Manson

  • Firebaugh, John

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 McGinnis, Thad , amb grans modificacions de Tibirna, Christian . Convertida a docbook/correcció de proves per Watts, Lauri i actualitzada per Mahfouf, Anne-Marie i Lund, Anders

La documentació actual de la KatePart és mantinguda per Hollingsworth, T.C. . Envieu els vostres comentaris o suggeriments a la llista de correu de desenvolupament de la KatePart a o obriu un informe d'error al KDE Bugtracking System.

Traductor/Revisor de la documentació: Antoni Bella

Aquesta documentació està llicenciada sota els termes de la Llicència de Documentació Lliure de GNU.

Aquest programa està llicenciat sota els termes de la Llicència Pública General de GNU.

Capítol 9. El mode d'entrada del Vi

Capítol 9. El mode d'entrada del Vi

Hamberg, Erlend

Traductor: Antoni Bella

Mode d'entrada del Vi

L'objectiu del mode VI no és substituir-lo completament per Vim, sí que dóna 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 habilitar el mode d'entrada VI per a totes les vistes, aneu a ArranjamentConfigura KatePart...+EdicióMode d'entrada del VI. 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 Mode d'entrada del VI al menú Edició. (La drecera de teclat per omissió és Meta+Ctrl+V -a on Meta usualment serà la tecla Windows-).

Nota

En el Mode Vi moltes ordres de teclat són sensibles a 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 introduir l'ordre y (copia), assegureu-vos que Bloq Maj està inhabilitat i premeu Y. Per 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 introduir «Ctrl+W, h» (canviar a la vista dividida de la dreta) assegureu-vos que Bloq Majús. està inhabilitada, premeu Ctrl+W, deixeu anar, i després premeu H.

Incompatibilitats amb Vim

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 per refer.

    Vim: Ctrl+R és refer normal, U s'utilitza per 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 per omissió pren la funció de substituir de KatePart (cerca i substitueix). Per omissió, el mode VI no substitueix les dreceres de KatePart (això es pot configurar en ArranjamentConfigura KatePart...+EdicióMode d'entrada del Vi), 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 que yy.

    El comportament del VI per a l'ordre Y és en la pràctica un error. Per ambdues ordres canvia i suprimeix, cc/dd farà la seva acció en la línia actual i C/D treballarà a partir de la columna del cursor fins al final de la línia. No obstant això, tant yy com Y copien la línia actual. En mode VI de KatePart Y copiarà al final de la línia. Això es descriu «més lògicament» en la documentació de Vim.

  • KatePart: O i o obre [compte] noves línies i posa en el mode d'inserció.

    Vim: O i O obre una nova línia i insereix text [compte] vegades deixant el mode d'inserció.

    Això es fa principalment com a conseqüència de trobar que molta gent es confon per aquest comportament en un canal d'irc sobre vim (#vim en freenode).

Alternar entre els modes

  • Mode normal us permet introduir ordres per navegar o editar un document, i és el mode per omissió. 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 seleccionar caràcters o V per 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, veure «El component línia d'ordres de l'editor». Per usar-lo, premeu :, introduïu l'ordre, i premeu Retorn.

Integració amb les característiques de Kate

  • Al mode visual si entra automàticament en seleccionar text amb el ratolí. També si entra utilitzant funcions de Kate que seleccionen text, com Selecciona-ho tot (sigui des del menú o mitjançant Ctrl+A).

  • Les marques de Vi i els punts de Kate estan integrats. Quan es crea una marca en el mode de Vi, es crea un punt de Kate corresponent i apareixerà al menú Punts. Per contra, quan es crea un punt de Kate, també es crea marca de Vi corresponent a la columna 0.

Ordres suportades en el mode normal/visual

a

Entra en el mode d'inserció, afegeix després del cursor

A

Entra en el mode d'inserció, afegeix després de la línia

i

Entra en el mode d'inserció, insereix abans del cursor

Insert

Entra en el mode d'inserció, insereix abans del cursor

I

Entra en el mode d'inserció, insereix abans del primer caràcter no en blanc a la línia

gi

Entra en el mode d'inserció, insereix abans de la ubicació, on el va deixar el darrer mode d'inserció

v

Entra en el mode visual, selecciona caràcters

V

Entra en el mode visual, selecciona línies

Ctrl+v

Entra en el mode visual, selecciona blocs

gb

Entra en el mode visual, torna a seleccionar l'última selecció

o

Obre una nova línia sota la línia actual

O

Obre una nova línia sobre la línia actual

J

Uneix línies

c

Canvi: Segueix un moviment per eliminar i entrar en el mode d'inserció

C

Canvi al final de la línia: Elimina al final de la línia i entrar en el mode d'inserció

cc

Canvi de línia: Suprimeix la línia i entra en el mode d'inserció

s

Substitueix caràcter

S

Substitueix la línia

dd

Suprimeix la línia

d

Segueix un moviment per eliminar

D

Suprimeix fins al final de la línia

x

Suprimeix el caràcter a la dreta del cursor

Suprimeix

Suprimeix el caràcter a la dreta del cursor

X

Suprimeix el caràcter a l'esquerra del cursor.

gu

Segueix amb un moviment per fer minúscules

guu

Torna a minúscules la línia actual

gU

Segueix amb un moviment per fer majúscules

gUU

Torna a majúscules la línia actual

y

Segueix un moviment per «tirar» (copia)

yy

Tira (copia) la línia

Y

Tira (copia) la línia

p

Enganxa després del cursor

P

Enganxa abans del cursor

]p

Enganxa després del sagnat del cursor

[p

Enganxa abans del sagnat del cursor

r

Segueix amb un caràcter a substituir el caràcter després del cursor

R

Entra en el mode substitució

:

Entra en el mode d'ordres

/

Cerca

u

Desfés

Ctrl+R

Refés

U

Refés

m

Estableix la marca (després es pot utilitzar per als moviments)

n

Cerca següent

N

Cerca 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

ga

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

Canvia a la següent divisió a la finestra.

Ctrl+W, h

Ctrl+W Fletxa esquerra

Va a la divisió esquerra de la finestra.

Ctrl+W, l

Ctrl+W Fletxa dreta

Va a la divisió dreta de la finestra.

Ctrl+W, k

Ctrl+W Fletxa amunt

Va a la divisió de sobre a la finestra.

Ctrl+W, j

Ctrl+W Fletxa avall

Va a la divisió de sota a la finestra.

Moviments suportats

Aquests es poden usar per 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 que indicarà quants moviments són apropiats de fer.

h

Esquerra

Fletxa esquerra

Esquerra

Retrocés

Esquerra

j

Avall

Fletxa avall

Avall

k

Amunt

Fletxa amunt

Amunt

l

Dreta

Fletxa dreta

Dreta

Espai

Dreta

$

Final de línia

Fi

Final de línia

0

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

f

Segueix el caràcter per anar a la dreta del cursor

F

Segueix el caràcter per anar a l'esquerra del cursor

t

Segueix el caràcter per anar a la dreta del cursor, situa el cursor sobre el caràcter abans que

T

Segueix el caràcter per anar a l'esquerra del cursor, situa el cursor sobre el caràcter abans que

gg

Primera línia

G

Última línia

w

Paraula següent

W

Paraula següent separada per un espai en blanc

b

La paraula anterior

B

La paraula anterior separada per un espai en blanc

e

Final de la paraula

E

Final de la paraula separada per un espai en blanc

ge

Final de la paraula anterior

gE

Final de la paraula anterior separada per un espai en blanc

|

Segueix un número de columna per anar a la columna

%

Segueix un element per 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 endavant cap a la següent ubicació.

Ctrl+O

Va enrere cap a la ubicació anterior.

H

Va a la primera línia de la pantalla.

M

Va a la línia del mig de la pantalla.

L

Va a l'última línia de la pantalla.

%percentatge

Va al percentatge especificat del document.

gk

Va cap a dalt una línia visual (quan s'usa l'ajust de línia dinàmic).

gj

Va cap a 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

Objectes de text suportats

Aquests es poden utilitzar per seleccionar certes parts d'un document.

iw

Paraula interior: Paraula incloent-hi l'espai en blanc

aw

Una paraula: Paraula excloent l'espai en blanc

i"

Cometes dobles (") anteriors per a les properes cometes dobles, incloses les marques de cometes

a”

Cometes dobles (") anteriors per a les properes cometes dobles, excloses les marques de cometes

i'

Cometes simples (') anteriors per a les properes cometes simples, incloses les marques de cometes

a'

Cometes simples (') anteriors per a les properes cometes simples, excloses les marques de cometes

i(

Parèntesi d'obertura anterior [(] al següent parèntesi de tancament [)], incloent-hi els parèntesis

a(

Parèntesi d'obertura anterior [(] al següent parèntesi de tancament [)], excloent els parèntesis

i[

Claudàtor d'obertura anterior [(] al següent claudàtor de tancament [)], incloent-hi els claudàtors

a[

Claudàtor d'obertura anterior [(] al següent claudàtor de tancament [)], excloent els claudàtors

i{

Claudàtor d'obertura anterior [{] al següent claudàtor de tancament [}], incloent-hi els claudàtors

a{

Claudàtor d'obertura anterior [{] al següent claudàtor de tancament [}], excloent els claudàtors

i<

Abraçadora d'obertura anterior [<] a la següent abraçadora de tancament [>], incloent-hi les abraçadores

a<

Abraçadora d'obertura anterior [<] a la següent abraçadora de tancament [>], excloent les abraçadores

i`

Accent anterior (`) al següent accent, inclosos els accents oberts

a`

Accent anterior (`) al següent accent, excloent els accents oberts

Ordres permeses del mode d'inserció

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 n

Insereix el contingut del registre n.

Ctrl+O, ordre

Entra en el mode normal per a una única ordre.

Ctrl+A

Actualment incrementa el nombre seleccionat.

Ctrl+X

Actualment disminueix el nombre seleccionat.

L'objecte de text per comes

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.

Un exemple d'objecte de text per comes

Els intervals de l'objecte de text per comes. Si el cursor està sobre p. ex., arg2, prement ci, («canvi de coma interior») que elimina arg2 doble i situa el cursor entre les dues comes en el mode d'inserció. Una manera molt convenient per canviar els paràmetres d'una funció.

Característiques que falten

Com ja s'ha esmentat anteriorment, l'objectiu del mode VI del KatePart no és donar suport al 100% de les característiques del Vim.

Apèndix A. Expressions regulars

Apèndix A. Expressions regulars

Lund, Anders

Traductor: Antoni Bella
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.

Introducció

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

Patrons

Patrons

Els patrons consten de cadenes literals i classes de caràcter. Els patrons poden contenir subpatrons, que són patrons tancats entre parèntesis.

Caràcters d'escapada

En els patrons, així com en les classes de caràcter, alguns caràcters tenen un significat especial. Per 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 propi caràcter de la barra inversa. Per a poder presentar-la de forma literal, heu d'escriure \\.

Classes de caràcter i abreujaments

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 números 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 inclogueu 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, nova línia 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 o número. Tingueu present que el subratllat (_) no hi estarà inclòs, a diferència de les expressions regulars de perl. És igual que [a-zA-Z0-9].

\W

Coincideix amb qualsevol caràcter que no sigui una paraula, qualsevol cosa menys lletres o números. És igual que [^a-zA-Z0-9] o [^\w].

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 \.]

Nota

La notació POSIX de classes, [:<class name>:] actualment no està suportada.

Caràcters amb significat especial dintre de les classes de caràcters

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.

Alternatives: Coincidències amb «un de»

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'usar una expressió Jordi|Albert.

Subpatrons

Els subpatrons són patrons tancats entre parèntesis, i tenen diversos usos en el món de les expressions regulars.

Especificació d'alternatives

Podeu usar un subpatró per 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+.

Captura del text coincident (referències enrere)

Si desitgeu usar una referència enrere, useu un subpatró perquè es recordi la part desitjada del patró.

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 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 pels 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»

Declaracions d'anticipació

Una declaració d'anticipació és un subpatró, que 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.

Veure també Declaracions.

Caràcters amb un significat especial dins dels patrons

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.

Quantificadors

Quantificadors

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.

Avarícia

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 avariciós.

El programari modern d'expressions regulars proporciona els mitjans per a «desactivar l'avarícia», 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ó quant a que el comportament per omissió és d'avarícia.

Exemples en context

Aquests són alguns exemples que usen 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>».

Declaracions

Declaracions

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.