Copyright © 2000, 2001 Seth Rothberg
Copyright © 2002, 2003, 2005 Anders Lund
Copyright © 2005 Dominik Haumann
Permission est accordée de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License), version 1.1 ou toute version ultérieure publiée par la Free Software Foundation sans section invariante, sans texte de première de couverture, ni texte de quatrième de couverture. Une copie de la licence est fournie dans la section intitulée " GNU Free Documentation License ".
Kate est un éditeur de texte pour les développeurs. Il fait partie de KDE 2.2 et supérieur.
Ce manuel documente la version 2.5.0 de Kate.
Table des matières
Liste des exemples
Bienvenue dans Kate, un éditeur qui fait partie de KDE version 2.2 et supérieure, destiné aux développeurs. Parmi les nombreuses options de Kate on trouve la coloration syntaxique configurable pour des langages allant du C et du C++ au HTML, jusqu'aux scripts bash, la capacité de créer et de maintenir des projets, une interface multidocument (MDI), ainsi qu'un émulateur de terminal intégré.
Mais Kate est plus qu'un simple éditeur pour le développeur. Sa capacité à ouvrir plusieurs fichiers à la fois le rend idéal pour modifier les nombreux fichiers de configuration d'UNIX®. Ce document a été écrit avec Kate.
Édition de ce manuel...
Si vous avez déjà utilisé un éditeur de texte, vous n'aurez aucune difficulté à utiliser Kate. Dans les deux prochaines sections, Démarrer Kate et Travailler avec Kate, nous vous montrerons tout ce dont vous aurez besoin pour l'installer et l'utiliser rapidement.
Vous pouvez lancer Kate depuis le ou depuis la ligne de commande.
Ouvrez le menu des programmes KDE en cliquant sur l'icône représentant un grand K dans la barre d'outils en bas à gauche de votre écran, ce qui affichera le . Déplacez votre curseur vers le haut, jusqu'à l'élément de menu ->. Une liste des éditeurs disponibles va apparaître. Choisissez .
Kate ouvrira le dernier fichier modifié, à moins que vous configuriez Kate pour qu'il ne le fasse pas. Consultez la section Configurer Kate pour apprendre comment (dés)activer cette fonctionnalité.
Vous pouvez lancer Kate en saisissant son nom sur la ligne de commande. Si vous lui donnez un nom de fichier, comme dans l'exemple ci-dessous, il ouvrira ou créera ce fichier.
%
kate
monfichier.txt
Si vous avez une connexion active et les droits d'accès requis, vous pouvez profiter de la transparence réseau de KDE pour ouvrir des fichiers sur l'Internet.
%
kate
ftp://ftp.kde.org/pub/kde/README_FIRST
Kate accepte les options de ligne commande suivantes :
kate --help
Affiche la liste des options les plus simples disponibles sur la ligne de commande.
kate --help-qt
Affiche la liste des options disponibles pour modifier la façon dont Kate interagit avec Qt™.
kate --help-kde
Affiche la liste des options disponibles pour modifier la façon dont Kate interagit avec KDE.
kate -s
--start
nom
Démarre kate avec le nom
de la session. La session est créée si elle n'existe pas déjà. S'il existe une instance de Kate exécutant la session spécifiée, les fichiers indiqués sont chargés dans cette instance. Lorsqu'elle est utilisée avec l'option --use
, une instance exécutant cette session sera employée également.
kate -u
--use
URL
Veille à ce que Kate utilise une instance existante s'il y en a une. Si vous souhaitez que tous les documents s'ouvrent dans une seule instance de kate, vous pouvez non seulement ajouter cette option à la commande par défaut dans la configuration de votre application kde, mais également créer un alias de shell dans votre intepréteur de commandes s'il prend en charge cette fonction.
kate -p
--pid
PID
Réutilise unqiuement une instance comportant le PID (ID de processus) spécifié. Employée avec l'option --use
.
kate --encoding
encodage
URL
Utilise l'encodage spécifié pour le document.
kate --line
ligne
URL
Se déplace jusqu'à la ligne spécifiée après l'ouverture du document.
kate --column
colonne
URL
Se déplace jusqu'à la colonne spécifiée après l'ouverture du document.
kate --stdin
Lit le contenu du document depuis l'entrée standard (STDIN). Cette option est similaire à l'option commune -
utiliisée dans de nombreux programmes en ligne de commande, et permet de rediriger la sortie des commandes dans Kate.
kate --tempfile
Cette option standard de KDE est prise en charge depuis la version 2.5.1 de Kate. Lorsque utilisée, les fichiers spécifiés sont traités comme des fichiers temporaires et supprimés (si ce sont des fichiers locaux et que vous avez les droits d'accès suffisants) lorsque vous les fermez, à amoins qu'ils ne soient modifiés depuis qu'ils sont été ouverts.
kate --help-all
Affiche la liste de toutes les options de la ligne de commande.
kate --author
Affiche la liste des auteurs de Kate dans la fenêtre du terminal.
kate -v
--version
Liste les informations de version pour Qt™, KDE et Kate.
kate --license
Affiche les informations de licence.
La section Démarrage rapide vous montrera comment paramétrer quatre options simples pour configurer immédiatement quelques-unes des fonctionnalités plus puissantes de Kate. Pour ceux qui ne peuvent pas ou ne veulent pas employer une souris, il existe des raccourcis clavier par défaut.
Cette section va décrire quelques-uns des éléments du menu pour que vous puissiez rapidement configurer Kate et le faire fonctionner selon vos souhaits.
Lorsque vous lancez Kate pour la première fois, vous voyez deux fenêtres comportant un fond blanc. Au-dessus de ces deux fenêtres se trouve une barre d'outils avec les icônes étiquetées habituelles. Et au dessus de celle-ci, une barre de menus.
La fenêtre du côté gauche est une barre latérale. Elle combine les fenêtres Documents et Explorateur de système de fichiers. Passez de l'une à l'autre en cliquant sur les onglets à gauche de la fenêtre.
Si vous avez démarré Kate avec un fichier, la fenêtre de droite affichera le fichier en cours d'édition, alors que la fenêtre Documents de la barre latérale affichera le nom de ce fichier. Utilisez la fenêtre Explorateur de système de fichiers pour ouvrir d'autres fichiers.
Vous pouvez basculer entre la fenêtre Documents et Explorateur de système de fichiers dans le menu ->. Ce menu vous offre un premier aperçu de la puissance et de la souplesse de Kate. Dans cette section, nous étudierons trois éléments de menu :
Affiche ou cache la liste des documents. Si la fenêtre Documents/Explorateur du système de fichiers n'est pas ouverte, Kate lance la barre latérale sous la forme d'une fenêtre séparée, détachée. Pour intégrer cette fenêtre, capturez les deux lignes fines et parallèles au-dessus des onglets en cliquant sur ces derniers avec le bouton de la souris et en le maintenant enfoncé. Faites glisser la fenêtre dans la fenêtre d'édition de Kate et relâchez le bouton de la souris lorsque vous avez positionné la fenêtre Documents/Explorateur de système de fichiers selon vos préférences.
Si vous avez réussi à capturer les deux lignes parallèles, votre pointeur de souris doit se changer en deux flèches croisées lorsque vous faites glisser les lignes parallèles .
Affiche ou cache l'explorateur de système de fichiers. Cet élément de menu est identique à à une différence près. Basculer sur cet élément lance la fenêtre avec l'explorateur de système de fichiers au-dessus.
Affiche ou cache un émulateur de terminal au bas de la fenêtre de Kate. En d'autres termes, elle vous offre une ligne de commande au sein de l'application.
Beaucoup des commandes de saisie de Kate (raccourcis clavier) peuvent être configurées par le biais du menu Configuration. Par défaut, Kate prend en charge les raccourcis clavier suivants.
Inser | Basculer entre le mode insertion et écrasement. En mode insertion, l'éditeur ajoute au texte tout caractère saisi et pousse à droite du curseur tout caractère saisi précédemment. Le mode écrasement veille à ce que la saisie de chaque caractère élimine le caractère actuel. |
Flèche gauche | Déplacer le curseur d'un caractère vers la gauche |
Flèche droite | Déplacer le curseur d'un caractère vers la droite |
Flèche haut | Déplacer le curseur d'une ligne vers le haut |
Flèche bas | Déplacer le curseur d'une ligne vers le bas |
Page précédente | Déplacer le curseur d'une page vers le haut |
Page suivante | Déplacer le curseur d'une page vers le bas |
Effacement arrière | Supprimer le caractère à gauche du curseur |
Début | Déplacer le curseur au début de la ligne |
Fin | Déplacer le curseur à la fin de la ligne |
Supprimer | Supprimer le caractère à droite du curseur (ou tout texte sélectionné) |
Maj+Flèche gauche | Sélectionner un caractère de texte vers la gauche |
Maj+Flèche droite | Sélectionner un caractère de texte vers la droite |
F1 | Aide |
Maj+F1 | |
Ctrl+F | |
F3 | |
Ctrl+B | Définir un signet |
Ctrl+C | Copier le texte sélectionné dans le presse-papiers |
Ctrl+N | Nouveau document |
Ctrl+P | |
Ctrl+Q | Quitter - Fermer la copie active de l'éditeur |
Ctrl+R | |
Ctrl+S | Enregistrer votre fichier |
Ctrl+V | Coller |
Ctrl+X | Supprimer le texte sélectionné et le copier dans le presse-papiers |
Ctrl+Z | |
Ctrl+Maj+Z |
La section Sessions décrit comment Kate permet de conserver à portée de main plusieurs listes de fichiers de configuration d'interface graphique. Vous pouvez avoir autant de sessions nommées que vous le souhaitez, et employer des sessions sans nom ou anonymes pour les fichiers que vous projetez de n'utiliser qu'une seule fois. Actuellement, Kate peut enregistrer la liste des fichiers ouverts, ainsi que la configuration générale des fenêtres dans la session. Il se peut que les versions futures de Kate ajoutent d'autres fonctionnalités dans les sessions. Avec l'introduction des sessions, Kate permet également d'ouvrir un nombre quelconque d'instances de l'application au lieu d'une seule comme il est d'usage dans le comportement par défaut.
Les sessions sont gérées dans trois zones :
Options de la ligne de commande, qui permet de sélectionner et de démarrer des sessions lorsqu'on lance kate à partir de la ligne de commande.
Le menu Sessions, qui permet de changer de session, enregistrer, démarrer et gérer des sessions
Options de configuration, qui permet de décider comment les sessions devront généralement se comporter.
Lorsqu'on démarre une nouvelle session, la configuration de l'interface graphique de Session par défaut est chargé. Pour enregistrer la configuration des fenêtres dans la session par défaut, il faut activer l'enregistrement de la configuration des fenêtres dans la page Gestion des sessions de la boîte de dialogue de configuration puis charger la session par défaut, configurer la fenêtre comme souhaité et enregistrer à nouveau la session.
Lorsqu'une session nommée est chargée, Kate affiche le nom de la session au début du titre de la fenêtre, qui prend alors la forme « Nom de la session
: Nom ou URL du document
- Kate ».
Lorsqu'on ouvre des fichiers sur la ligne de commande avec --start
ou si on choisit une session à l'aide du sélecteur de sessions, la session spécifiée est chargée avant les fichiers spécifiés sur la ligne de commande. Pour ouvrir des fichiers à partir de la ligne de commande dans une nouvelle session sans nom, configurez kate pour démarrer une nouvelle page de session par défaut dans la page Sessions de la boîte de dialogue ou utilisez nom
--start
avec une chaîne vide : ''
.
Depuis la version 2.5.1 de Kate, le PID de l'instance actuelle est exporté vers la variable d'environnement KATE_PID
. Lorsqu'on ouvre des fichiers depuis le terminal intégré, Kate sélectionne automatiquement l'instance actuelle si rien d'autre n'est indiqué sur la ligne de commande.
Lorsque vous vous habituez à utiliser des sessions, vous constatez sans doute qu'elles offrent un outil très simple et efficace pour travailler dans différentes zones. Cependant, si vous préférez l'ancien comportement de Kate (une instance ouvre tous les fichiers), vous pouvez aisément y parvenir en suivant cette stratégie simple :
Faire toujours démarrer Kate avec le paramètre --use
en ajoutant cette option à la commande dans les préférences de l'application, et en outre employer un alias de shell.
Configurer Kate de façon à charger la dernière session utilisée au démarrage.
Configurer Kate de façon à enregistrer la liste lors de la fermeture d'une session.
Charger la session par défaut une seule fois.
Il offre une documentation détaillée de toutes les commandes de menu, les options de configuration, les outils, les boîtes de dialogue, les modules externes etc. ainsi que des descriptions de la fenêtre de Kate, de l'éditeur et des différents concepts utilisés dans cette application.
Saisissez F1 ou utilisez l'élément de menu pour afficher ce manuel.
L'aide Qu'est-ce que c'est ? vous apporte une aide immédiate, avec des éléments séparés des fenêtres graphiques, tels que des boutons ou d'autres zones de fenêtres.
Nous nous efforçons de fournir une aide Qu'est-ce que c'est ? pour tous les éléments pour lesquels c'est nécessaire. Elle est disponible partout dans la boîte de dialogue de configuration, ainsi que dans beaucoup d'autres boîtes de dialogue.
Pour utiliser l'aide Qu'est-ce que c'est ?, saisissez Maj-F1 ou utilisez l'entrée de menu -> pour activer le mode Qu'est-ce que c'est ?. Le curseur se transformera en une flèche avec un point d'interrogation, et vous pouvez maintenant cliquer sur n'importe quel élément de la fenêtre pour lire l'aide Qu'est-ce que c'est ? pour cet élément, si elle est disponible.
Certaines boîtes de dialogue comportent un bouton . Un clic sur ce dernier démarre le Centre d'aide de KDE et ouvre la documentation pertinente.
Kate ne fournit pas (encore !) de moyen pour lire de la documentation relative au document. Selon le fichier que vous modifiez, vous pouvez vous aider de la Konsole intégrée pour afficher les pages de manuel UNIX® ou la documentation, voire utiliser Konqueror.
Fenêtre, vue, document, cadre, éditeur... Que représentent-ils dans la terminologie de Kate et comment en tirer profit ? Ce chapitre vous expliquera tout cela, voire plus.
La fenêtre principale de Kate est une fenêtre d'application KDE standard, comprenant en outre des barres latérales contenant des vues des outils. Elle présente une barre de menus avec tous les menus habituels, ainsi qu'une barre d'outils permettant d'accéder aux commandes les plus couramment utilisées.
La partie la plus importante de la fenêtre est la zone d'édition, affichant par défaut un seul composant éditeur de texte, dans lequel vous pouvez travailler sur vos documents.
Les capacités d'intégration de la fenêtre sont utilisées pour les fenêtres d'outils :
Et éventuellement d'autres vues des outils, par exemple fournies par des modules externes.
Les vues des outils peuvent être positionnées dans n'importe quelle barre latérale. Pour déplacer un outil, cliquez avec le bouton droit sur son bouton de barre latérale et sélectionnez-la à partir du menu du bouton
de la sourisUn outil d'affichage peut être marqué comme persistant dans le menu du bouton de la souris pour son bouton de barre latérale. La barre latérale peut contenir plusieurs outils à la fois, de sorte que lorsqu'un outil est persistant, d'autres outils peuvent être représentés simultanément.
Kate est capable non seulement de prendre en charge plusieurs documents ouverts en même temps mais également de diviser la zone d'édition en un nombre quelconque de cadres, de la même façon que Konqueror et le célèbre éditeur de texte emacs. De cette façon, vous pouvez voir plusieurs documents en même temps ou plusieurs exemplaires d'un même document, ce qui est pratique si votre document contient des définitions auxquelles vous vous référez souvent au début. Vous pouvez aussi voir l'en-tête du source d'un programme dans un cadre, tout en modifiant la mise en œuvre dans un autre cadre.
Lorsqu'un document est disponible dans plusieurs instances d'un éditeur, les changements effectués dans l'une d'entre elles seront immédiatement répercutés sur les autres, y compris la modification et la sélection du texte. Les opérations de recherche ou de déplacement du curseur ne sont répercutées que dans l'éditeur actuel.
Il n'est actuellement pas possible d'avoir plusieurs instances du même document ouvertes, en ce sens qu'une seule instance sera modifiée alors que l'autre ne le sera pas.
Lorsque vous divisez un éditeur en deux cadres, il est divisé en deux cadres de taille égale, affichant tous les deux le document actuel de cet éditeur. Le nouveau cadre se trouvera dans la partie inférieure (dans le cas d'une division horizontale) ou à droite (dans le cas d'une division verticale). Le nouveau cadre aura le focus, ce qu'une petite diode verte dans le cadre actif permet de vérifier.
La liste de fichiers affiche une liste de tous les documents actuellement ouverts dans Kate. Les fichiers modifiés ont une petite icône représentant une disquette à gauche de leur nom pour indiquer cet état.
Si deux fichiers ou plus du même nom (situés dans des dossiers différents) sont ouverts, le nom du deuxième fichier est préfixé par « <2> », et ainsi de suite. L'infobulle de ce ficher affiche son nom complet, y compris le chemin d'accès, ce qui permet de choisir celui que vous souhaitez.
Pour afficher un document dans le cadre actuellement actif, cliquez sur le nom du document dans la liste.
Vous pouvez trier la liste de différentes manières en cliquant avec le bouton droit et en faisant votre choix dans le menu . Les options disponibles sont :
Liste les documents dans l'ordre d'ouverture.
Liste les documents alphabétiquement par leur nom.
Liste les documents alphabétiquement par URL.
La liste de documents affiche par défaut votre historique en donnant une couleur de fond aux éléments des documents les plus récents. Si le document a été modifié, une couleur supplémentaire y est mélangée. Le document le plus récent présente la couleur la plus intense, de sorte que vous pouvez facilement trouver les documents sur lesquels vous travaillez. Vous pouvez désactiver cette fonctionnalité dans la page Liste de documents de la boîte de dialogue de configuration.
Son emplacement par défaut dans la fenêtre de Kate est à gauche de la zone d'édition.
L'explorateur de système de fichiers est un afficheur de dossiers permettant d'ouvrir des fichiers à partir d'un dossier affiché dans le cadre actuel.
De haut en bas, l'explorateur de système de fichiers se compose des éléments suivants :
Elle contient les boutons des outils de navigation standard :
Appuyer sur cette touche permet de passer de la vue des dossiers dans celle de votre dossier personnel.
Fait passer la vue des dossiers dans le dossier de niveau immédiatement supérieur par rapport à celui actuellement affiché, si possible.
Fait passer la vue du dossier dans le dossier précédemment affiché dans l'historique. Ce bouton est désactivé s'il n'y a pas d'élément précédent.
Fait passer la vue du dossier dans le dossier suivant dans l'historique. Ce bouton est désactivé s'il n'y a pas d'élément suivant.
Fait passer la vue du dossier dans le dossier où se trouve le document actuellement ouvert, si possible. Ce bouton est désactivé si le document actuel est un nouveau fichier non enregistré ou si on ne peut pas déterminer le dossier dans lequel se trouve le fichier.
Vous pouvez saisir ici le chemin d'un dossier à parcourir. La zone d'URL maintient une liste des chemins précédemment saisis. Pour choisir une URL, utilisez le bouton fléché à droite de la zone.
La zone d'URL est dotée d'une fonction d'autocomplètement. Vous pouvez définir la méthode de complètement à l'aide du menu du bouton de la souris sur la zone de texte.
C'est une vue de dossier standard de KDE.
La zone de filtre permet de saisir un filtre pour les fichiers affichés dans la vue des dossiers. Le filtre utilise les caractères de remplacement standard ; les motifs doivent être séparés par un espace. Par exemple : *.cpp *.h *.moc
Pour afficher tous les fichiers, saisissez un seul astérisque, *
.
La zone de filtre enregistre les dix derniers filtres saisis au cours des sessions. Pour en utiliser un, cliquez sur le bouton fléché à droite de la zone et sélectionnez la chaîne de filtre souhaitée.
L'émulateur de terminal intégré est une copie de l'application Konsole de KDE pour votre confort. Il est disponible dans l'élément de menu -> ou en appuyant sur la touche F7 et a le focus chaque fois qu'il est affiché. De plus, si l'option Synchroniser la Konsole avec le document actif est cochée, le shell passe dans le dossier du document actuel, si possible, lorsqu'il est affiché ou si le document actuel change.
Son emplacement par défaut dans Kate est tout en bas, sous la zone d'édition.
Pour pouvez configurer la Konsole à l'aide du menu du bouton de la souris. Pour plus d'informations, consultez le manuel de Konsole.
Dans le menu , vous trouverez un sous-menu intitulé . Ces outils invoquent des applications externes comportant des données en rapport avec le document actuel, par exemple ses URL, dossier, texte ou sélection.
Les outils externes sont définis par l'utilisateur. Vous pouvez ajouter, modifier ou supprimer des outils à l'aide du panneau de configuration Outils externes.
L'éditeur de Kate est la zone d'édition de la fenêtre de Kate. Cet éditeur est également employé par KWrite et peut également l'être dans Konqueror pour afficher des fichiers texte depuis votre ordinateur local ou depuis le réseau.
L'éditeur est constitué des éléments suivants :
C'est ici que se trouve le texte de votre document.
Les barres de défilement indiquent la position de la partie visible du texte du document et peuvent être utilisées pour se déplacer dans le document. Faire glisser les barres de défilement ne provoque pas de déplacement du curseur d'insertion.
Les barres de défilement sont affichées ou cachées selon les besoins.
La bordure d'icônes est une petite zone sur la gauche de l'éditeur affichant une petite icône à côté des lignes marquées.
Vous pouvez placer ou supprimer un signet dans une ligne visible en cliquant avec le bouton de la souris sur la bordure d'icônes à côté de cette ligne.
L'affichage de la bordure d'icônes peut être (dés)activée à l'aide de l'élément de menu ->.
La zone de numéros de lignes affiche les numéros de lignes de toutes les lignes visibles dans le document.
L'affichage de la zone de numéros de lignes peut être (dés)activé à l'aide de l'élément de menu ->.
La zone de pliage permet de replier ou de déplier des blocs de lignes repliables. Le calcul des régions repliables est réalisé en fonction de règles dans la définition de coloration syntaxique du document.
Dans Kate, on navigue dans le texte comme dans la plupart des éditeurs de texte graphiques. On déplace le curseur à l'aide des touches fléchées et des touches de défilement vers le haut et vers le bas, des touches Début et Fin en combinaison avec les modificateurs Ctrl et Maj. La touche Maj est toujours utilisée pour générer une sélection, alors que la toucheCtrl a effets différents sur des touches différentes :
Pour les touches Haut et Bas, cela signifie faire défiler plutôt que déplacer le curseur.
Pour les touches Gauche et Droite, cela signifie sauter des mots plutôt que des caractères.
Pour les touches Page précédente et Page suivante, cela signifie de déplacer vers le bord visible de la vue plutôt que parcourir.
Pour les touches Début et Fin, cela signifie se déplacer au début ou à la fin du document plutôt qu'au début ou à la fin de la ligne.
Kate offre également un moyen d'aller rapidement à une accolade ou une parenthèse correspondante. Placez le curseur à l'intérieur de la parenthèse ou de l'accolade et appuyez sur les touches Ctrl-6 pour aller à l'accolade ou la parenthèse correspondante.
De plus, vous pouvez utiliser un signet pour aller rapidement sur des emplacements que vous aurez défini vous-même.
Il y a deux façons de sélectionner du texte dans Kate : à l'aide de la souris et à l'aide du clavier.
Pour sélectionner à l'aide de la souris, maintenez le bouton
de la souris enfoncé tout en faisant glisser le curseur de la souris à partir de l'endroit où la sélection doit commencer, jusqu'au point final souhaité. Le texte est sélectionné au fur et à mesure que vous faites glisser le curseur de la souris.Un double clic sur un mot sélectionne ce mot.
Un triple clic sur une ligne sélectionne la ligne entière.
Le texte est sélectionné si la touche Maj est maintenue appuyée tout en cliquant :
Si rien n'est déjà sélectionné, depuis la position du curseur de texte jusqu'à la position du curseur de la souris.
S'il y a une sélection, depuis cette sélection, en l'incluant, jusqu'à la position du curseur de la souris.
Lorsque vous sélectionnez du texte en faisant glisser la souris, le texte sélectionné est copié dans le presse-papiers. Vous pouvez le coller en cliquant avec le bouton
de la souris dans l'éditeur ou dans n'importe quelle application dans laquelle vous voulez coller le texte.Pour sélectionner à l'aide du clavier, maintenez la touche Maj enfoncée tout en utilisant les touches de navigation (les touches fléchées, Page précédente, Page suivante, Début et Fin, éventuellement combinées avec la touche Ctrl pour étendre le déplacement du curseur de texte).
Reportez-vous également à la section Naviguer dans le texte dans ce chapitre.
Pour copier la sélection actuelle, utilisez l'élément de menu -> ou le raccourci clavier (par défaut, Ctrl+C).
Pour désélectionner la sélection actuelle, utilisez l'élément de menu -> ou le raccourci clavier (par défaut, Ctrl+Maj+A)ou bien cliquez avec le bouton de la souris dans l'éditeur.
Lorsque la sélection en bloc est activée, vous pouvez faire des « sélections verticales » dans le texte, c'est-à-dire sélectionner des colonnes limitées sur plusieurs lignes. C'est pratique pour travailler avec des lignes séparées par des tabulations, par exemple.
Vous pouvez (dés)activer la sélection par bloc à l'aide de l'élément de menu ->. Le raccourci clavier par défaut est F4.
Si l'option « Écraser les sélections » est cochée, la fonction saisir ou coller du texte dans la sélection remplace le texte sélectionné. Si elle n'est pas cochée, le nouveau texte est ajouté à la position du curseur de texte.
L'écrasement des sélection est activé par défaut.
Pour changer le paramétrage de cette option, utilisez la page Curseur et sélection de la boîte de dialogue Configuration.
Lorsque la sélection persistante est activée, la saisie des caractères ou le déplacement du curseur ne désélectionne pas la sélection. Cela signifie que vous pouvez sortir le curseur de la sélection et saisir du texte.
La sélection persistante est désactivée par défaut.
La sélection persistante peut être activée dans la page Curseur et sélection de la boîte de dialogue Configuration.
Si es options « Sélection persistante » et « Écraser les sélections » sont toutes deux activées, la fonction saisir ou coller du texte, lorsque le curseur est à l'intérieur d'une sélection, remplace et désélectionne le texte.
Pour copier du texte, sélectionnez-le et utilisez l'élément de menu ->. De plus, la fonction sélectionner du texte à la souris copie le texte dans le presse-papiers.
Pour coller le texte actuellement dans le presse-papiers, utilisez l'élément de menu ->.
De plus, le texte sélectionné à la souris peut être collé à la position souhaitée en cliquant avec le bouton
de la souris.Si vous utilisez l'environnement de bureau KDE, vous pouvez récupérer du texte copié précédemment depuis n'importe quelle application à l'aide de l'icône de Klipper dans la boîte à miniatures de Kicker.
Les boîtes de dialogue « Chercher du texte »et « Remplacer du texte » de Kate sont très semblables, excepté que la boîte de dialogue « Remplacer du texte » offre le moyen de saisir une chaîne de caractères de remplacement, ainsi que quelques options supplémentaires.
Les boîtes de dialogue offrent les options suivantes :
C'est ici que vous devez saisir la chaîne de caractères à rechercher. L'interprétation de la chaîne dépend de quelques options décrites ci-dessous.
Si cette case est cochée, la chaîne de caractères est interprétée comme une expression rationnelle. Un bouton pour utiliser un outil graphique permettant de créer ou modifier l'expression sera activé.
Reportez-vous à la section Expressions rationnelles pour plus de détails à ce propos.
Si cette option est cochée, la recherche ne tient pas compte de la casse.
Si cette case est cochée, la recherche ne correspond que s'il y a un séparateur de mots aux deux extrémités de la chaîne recherchée, c'est-à-dire autre chose qu'un caractère alphanumérique - soit un autre caractère visible, soit un saut de ligne.
Si elle est sélectionnée, la recherche débutera à la position du curseur sinon elle commencera à la première ligne du document.
Si cette case est cochée, la recherche trouvera la première correspondance avant le point de départ, soit la position du curseur, soit le début du document, si l'option Depuis le début est cochée.
La boîte de dialogue Remplacer du texte offre quelques options supplémentaires :
Saisissez ici la chaîne de remplacement.
Cette option est décochée si aucun texte n'est sélectionné ou si l'option Demander lors du remplacement est cochée. Si cette case est cochée, toutes les occurrences de la chaîne de recherche dans le texte sélectionné sont remplacées par la chaîne de remplacement.
Si cette option est cochée, une petite boîte de dialogue vous demande ce qu'il faut faire chaque fois qu'une occurrence est trouvée. Elle offre les options suivantes :
Cochez cette option pour remplacer l'occurrence actuelle (qui est sélectionnée dans l'éditeur).
Cochez cette option pour sauter l'occurrence actuelle et essayer d'en trouver une autre.
Cochez cette option pour ne plus demander et remplacer simplement toutes les occurrences.
Cochez cette option pour sauter l'occurrence actuelle et arrêter la recherche.
Il n'y a actuellement aucun moyen d'utiliser une correspondance minimale lorsqu'on recherche une expression rationnelle. Cette option sera ajoutée dans les versions futures de Kate.
Pour chercher du texte, lancez l'interface de recherche avec Ctrl+F ou via le menu ->, saisissez une chaîne de caractères à rechercher, paramétrez les options à votre convenance et cliquez sur . Si aucune occurrence n'est trouvée entre le point de départ de la recherche (soit la position du curseur dans le texte, soit le début du document) et la fin du document, le programme vous demande si vous souhaitez relancer la recherche depuis le début du document (ou depuis la fin, si vous faites une recherche arrière).
Si une occurrence est trouvée, elle est sélectionnée et la boîte de dialogue Chercher du texte est cachée, mais n'abandonnez pas, il est très facile de trouver les autres occurrences :
Pour trouver la prochaine occurrence dans la direction de la recherche, utilisez la commande -> ou appuyez sur F3.
Pour trouver la prochaine occurrence dans la direction opposée, utilisez la commande -> ou appuyez sur Maj+F3.
Si aucune occurrence n'est trouvée avant d'atteindre la fin du document (ou le début du document si vous effectuez une recherche en arrière), le programme vous demande si vous souhaitez relancer une recherche.
Pour remplacer du texte, ouvrez la boîte de dialogue Remplacer du texte à l'aide de la commande -> ou du raccourci clavier Ctrl+R. Saisissez une chaîne de caractères à rechercher et, optionnellement, une chaîne de remplacement (si aucune chaîne de remplacement n'est saisie, chaque correspondance sera supprimée), paramétrez les options à votre convenance et cliquez sur le bouton .
Si vous employez une expression rationnelle pour trouver le texte à remplacer, vous pouvez faire appel àdes références arrières pour réutiliser le texte capturé dans des sous-motifs entre parenthèses de l'expression.
Reportez-vous à la section Annexe B, Expressions rationnelles pour plus de détails à ce propos.
Vous pouvez chercher, remplacer et effectuer une recherche incrémentale en ligne de commande.
La fonctionnalité « Signets » permet de marquer certaines lignes, pour pouvoir les retrouver facilement plus tard.
Vous pouvez ajouter ou supprimer un signet dans une ligne de deux façons :
En déplaçant le curseur d'insertion sur cette ligne, puis en activant le menu -> (Ctrl+B).
En cliquant sur la bordure d'icônes à côté de la ligne.
Les signets sont disponibles dans le menu . Les signets individuels sont accessibles en tant qu'éléments de menu, le numéro de ligne de la ligne étant étiqueté avec le signet, ainsi que les premiers caractères du texte de la ligne. Pour déplacer le curseur d'insertion au début d'une ligne comportant un signet, ouvrez le menu et sélectionnez le signet.
Pour vous déplacer rapidement entre les signets ou vers le signet suivant et / ou précédent, utilisez les commandes -> (Ctrl+Page suivante) ou -> (Ctrl+Page précédente).
Cette fonctionnalité permet de formater le texte d'une façon très simple : le texte va à la ligne, de manière à ce qu'aucune ligne n'excède un nombre maximal de caractères par ligne, à moins qu'il ne s'agisse d'une très longue chaîne de caractères accolés sans blancs.
Pour (dés)activer cette fonctionnalité, (dé)cochez la case dans la page Édition de la boîte de dialogue Configuration.
Pour définir la longueur maximale d'une ligne (le nombre maximal de caractères par ligne), utilisez l'option dans la page Édition de la boîte de dialogue Configuration.
Si cette option est cochée, elle a les effets suivants :
Lorsqu'on effectue une saisie, l'éditeur insère automatiquement un saut de ligne forcé après le dernier blanc à une position avant d'atteindre la largeur de ligne maximale.
Lorsqu'un document est chargé, l'éditeur génère des retours à la ligne d'une manière similaire, de sorte qu'aucune ligne ne dépasse la largueur de ligne maximale, si elle contient des blancs qui le permettent.
Il n'y a actuellement aucun moyen de régler le retour à la ligne en fonction du type de document. Ce paramètre sera ajouté dans une future version de Kate.
Le composant éditeur de Kate prend en charge différents modes d'indentation automatique, conçus pour différents formats de texte. Vous pouvez choisir parmi les modes disponibles à l'aide du menu ->. Les modules d'indentation fournissent également une fonction par le biais du menu -> qui recalcule l'indentation de la ligne sélectionnée ou de la ligne actuelle. Ainsi, vous pouvez réindenter entièrement votre document en sélectionnant tout le texte et en activant cette action.
Tous les modes d'indentation utilisent les paramètres d'indentation associés au document actif.
Vous pouvez définir toutes les sortes de variables de configuration, y compris celles relatives à l'indentation, à l'aide du menu Variables de document et Types de fichiers.
Modes d'indentation automatique disponibles
Sélectionner ce mode désactive l'indentation automatique entièrement.
Cet indenteur se contente de garder la même indentation que celle de la ligne précédente ayant un contenu autre qu'un caractère d'espacement. Vous pouvez combiner celle-ci à l'aide des actions d'indentation et de désindentation pour indenter selon votre gré.
Il existe un indenteur pour le C et les langages similaires, tels que C++, C#, java, javascript, etc. Celui-ci ne fonctionne pas avec des langages de scriptage tels que Perl ou PHP.
Un indenteur alternatif pour le C et les langages similaires, avec les mêmes contraintes.
Il existe un indenteur spécifique au langage de scriptage python.
Un indenteur automatique XML très convivial. À tester toutefois, n'essayez pas de l'utiliser avec du HTML autre que le XHTML, car il ne fonctionne pas avec les anciennes balises HTML (ouvre des balises comme <br> par exemple).
L'indenteur de variables est expérimental et risque de changer le comportement ou de disparaître dans les versions futures.
L'indenteur variable est spécial en ce qu'il peut être configuré à l'aide de variables dans le document (ou dans la configuration d'un type de fichier). Les variables suivantes sont lues :
Une expression rationnelle qui amène la désindentation d'une ligne d'une unité, si le premier non-espace-une ligne au-dessus correspond. var-indent-indent : une expression rationnelle qui provoque l'indentation d'une ligne correspondante d'une unité.
Une expression rationnelle qui amène la désindentation de la ligne d'une unité en cas de correspondance.
Une liste de caractères qui devrait provoquer le recalcul de l'indentation immédiatement à la saisie.
Une liste d'ensembles de parenthèses à gérer. Toute combinaison de 'parenthèses', 'accolades' et 'crochets'. Chaque type d'ensemble est géré de la manière suivante : s'il y a des instances d'ouverture non concordantes sur la ligne au-dessus, une unité d'indentation est ajoutée. S'il y a des instances de fermetures non concordantes sur la ligne au-dessus, une unité d'indentation est supprimée.
var-indent-couple-attribute
Lorsqu'on cherche des paires ouvertures / fermetures non concordantes, seuls les caractères ayant cet attribut sont pris en compte. La valeur doit être le nom d'attribut du fichier de syntaxe xml, par exemple « Symbole ». Si elle n'est pas spécifié, l'attribut 0 est utilisé (habituellement « Texte normal »).
Kate utilise deux types de modules externes différents, à savoir des modules externes pour l'application Kate et des modules externes pour le composant éditeur de Kate. Ces derniers sont disponibles pour toutes les applications utilisant le composant éditeur, comme KDevelop, Quanta, Kile, Kwrite et bien d'autres, tandis que les modules externes de l'application sont propres à l'application Kate.
Vous pouvez activer les deux types de modules externes dans la boîte de dialogue Configuration, qui fournit également un accès aux options de configuration additionnelles pour les modules externes qui en ont besoin.
Il y a beaucoup de modules externes, pour des fins diverses, dans le module kdeaddons, et vous pouvez en trouver encore d'autres sur le Web. Quelques modules externes sont fournis avec le composant éditeur, pour le complétement de mots, les signets automatiques, l'insertion de fichiers, un thésaurus, la vérification orthographique et la recherche incrémentale.
Les commandes Commenter et Décommenter, disponibles dans le menu , permettent d'ajouter ou de supprimer des indicateurs de commentaire à la sélection ou à la ligne actuelle, s'il n'y a pas de texte sélectionné et si le format du texte qu'on modifie prend en charge les commentaires.
Les règles qui régissent la façon de créer des commentaires étant établies dans les définitions de syntaxe, l'ajout / la suppression de commentaires n'est pas possible si la coloration syntaxique n'est pas activée.
Certains formats définissent des indicateurs de commentaire sur une seule ligne, d'autres sur plusieurs lignes et d'autres encore, les deux. Si les indicateurs sur plusieurs lignes ne sont pas disponibles, on ne pas décommenter une sélection qui ne contient pas la totalité de sa dernière ligne.
Si un indicateur de commentaire sur une seule ligne est disponible, le commentaire ligne par ligne aura la préférence là où il est applicable, car ce comportement contribue à éviter des problèmes avec les commentaires imbriqués.
Lorsqu'on supprime des indicateurs de commentaire, il ne faut sélectionner aucun texte non commenté. Lorsqu'on supprime des indicateurs de commentaire sur plusieurs lignes d'une sélection, tout espace en dehors des indicateurs de commentaire est ignoré.
Pour placer des indicateurs de commentaire, utilisez la ligne de menu -> ou le raccourci clavier correspondant, par défaut Ctrl+#.
Pour supprimer des indicateurs de commentaire, utilisez la ligne de menu -> ou le raccourci clavier correspondant, par défaut Ctrl+Maj+#.
Le composant éditeur de Kate offre une ligne de commande interne permettant d'effectuer diverses actions à partir d'une interface graphique minimale. La ligne de commande est un élément de texte situé au bas de la zone d'édition. Pour la voir, cliquez sur -> ou utilisez le raccourci clavier (par défaut, F7). L'éditeur fournit un ensemble de commandes comme décrit ci-dessous. Des commandes additionnelles peuvent être fournies par des modules externes.
Pour exécuter une commande, saisissez cette dernière, puis appuyez sur la touche Entrée. La ligne de commande indique si elle a abouti et affiche éventuellement un message. Si vous avez saisi la ligne de commande en appuyant sur F7, elle disparaît automatiquement au bout de quelques secondes. Pour effacer le message et saisir une nouvelle commande, appuyez sur F7 à nouveau.
La ligne de commande est dotée d'un système d'aide intégré : exécutez la commande help pour démarrer. Pour afficher une liste de toutes les commandes disponibles, saisissez help list. Pour afficher l'aide concernant une commande donnée, saisissez help commande
.
Comme la ligne de commande comporte un historique intégré, vous pouvez réutiliser les commandes déjà saisies. Pour parcourir l'historique, utilisez les touches Haut et Bas. Lorsque vous affichez l'historique des commandes, la partie argument de la commande est sélectionnée, ce qui vous permet d'écraser aisément les arguments.
Ces commandes sont fournies par le composant éditeur et permettent de configurer le document actif et son affichage uniquement. Ce comportement est pratique si vous voulez employer un autre paramètre que ceux par défaut, par exemple pour l'indentation.
Types d'arguments
On emploie cet argument avec les commandes qui servent à (dés)activer tel ou tel élément. Les valeurs admises sont on
, off
, true
, false
, 1
ou 0
Un nombre entier
Une chaîne de caractères
set-tab-width [ENTIER largeur]
Définit la largeur de tabulation au nombre largeur
set-indent-width [ENTIER largeur]
Définit la largeur d'indentation au nombre largeur
. Utilisée seulement si vous indentez avec des espaces.
set-word-wrap-column [ENTIER largeur]
Définit la largeur de ligne pour le retour à la ligne forcé à largeur
. Utilisé si vous avez choisi le retour à la ligne automatique pour votre texte.
set-icon-border [BOOLÉEN activer]
Définit la visibilité de la bordure d'icônes.
set-folding-markers [BOOLÉEN activer]
Définit la visibilité de la bordure des indicateurs de pliage.
set-line-numbers [BOOLÉEN activer]
Définit la visibilité du panneau des numéros de ligne.
set-replace-tabs [BOOLÉEN activer]
Si cette option est cochée, les tabulations sont remplacées par des espaces au fur et à mesure que vous saisissez au clavier.
set-remove-trailing-space [BOOLÉEN activer]
Si cette option est cochée, les espaces de fin sont supprimés chaque fois que le curseur change de ligne.
set-show-tabs [BOOLÉEN activer]
Si cette option est cochée, les caractères de tabulation et l'espace de fin de ligne seront représentés par un petit point.
set-indent-spaces [BOOLÉEN activer]
Si cette option est cochée, l'éditeur indente avec des espaces indentation-largeur
pour chaque niveau d'indentation plutôt qu'avec un caractère de tabulation.
set-mixed-indent [BOOLÉEN activer]
Si cette option est cochée, Kate utilise un mélange de tabulations et d'espaces pour l'indentation. Chaque niveau d'indentation aura une largeur indentation-largeur
et d'autres niveaux d'indentation seront optimisés pour pouvoir utiliser autant de caractères de tabulation que possible.
Lorsqu'elle est exécutée, cette commande définit en outre l'indentation avec des espaces activée et, si la largeur d'indentation n'est pas spécifiée, elle est définie à la moitié de la tab-width
du document au moment de l'exécution.
set-word-wrap [BOOLÉEN largeur]
Active le retour à la ligne dynamique en fonction de activer
set-replace-tabs-save [BOOLÉEN activer]
Si cette option est cochée, les tabulations sont remplacées par un blanc chaque fois que le document est enregistré.
set-remove-trailing-space-save [BOOLÉEN activer]
Lorsque cette option est cochée, l'espace de fin est supprimé de chaque ligne chaque fois que le document est enregistré.
set-indent-mode [nom]
Définit le mode d'indentation automatique à nom
. Si nom
n'est pas connu, le mode est défini à 'none'. Les modes autorisés sont 'cstyle', 'csands', 'xml', 'python', 'varindent' et 'none'.
set-highlight [coloration syntaxique]
Définit le système de coloration syntaxique pour le document. L'argument doit être un nom de coloration syntaxique autorisé, comme on le voit dans le menu ->. Cette commande fournit une liste d'autocomplétement pour son argument.
Ces commandes modifient le document actuel.
indent
Indente les lignes sélectionnées ou la ligne actuelle.
unindent
Désindente les lignes sélectionnées ou la ligne actuelle.
cleanindent
Nettoie l'indentation des lignes sélectionnées ou de la ligne actuelle en fonction des paramètres d'indentation du document.
comment
Insère des indicateurs de commentaire pour créer sur la sélection, les lignes sélectionnées ou la ligne actuelle un commentaire en fonction du format du texte, comme défini par la coloration syntaxique concernant le document.
uncomment
Supprime les indicateurs de commentaires de la sélection, des lignes sélectionnées ou de la ligne actuelle en fonction du format du texte, comme défini par la définition de la coloration syntaxique concernant le document.
kill-line
Supprime la ligne actuelle.
replace [motif] [remplacement]
Remplace le texte correspondant à motif
par remplacement
. Si vous voulez ajouter un blanc dans le motif
, vous devez entourer d'apostrophes ou de guillemets à la fois le motif
et le remplacement
. Si les arguments n'ont pas de guillemets, le premier mot sert de motif
et le reste de remplacement
. Si remplacement
est vide, chaque occurrence de motif
est supprimée.
Vous pouvez définir des drapeaux pour configurer la recherche, en ajoutant un caractère « : » (deux points), suivi d'une ou plusieurs lettres représentant une configuration, ce qui donne la forme replace:options motif remplacement
. Les options disponibles sont les suivantes :
b
Recherche arrière.
c
Recherche à partir de la position du curseur.
e
Recherche dans la sélection uniquement.
r
Recherche sur des expressions rationnelles. Si défini, vous pouvez utiliser \N
, où N est un nombre réprésentant des captures dans la chaîne de remplacement.
s
Recherche sensible à la casse.
p
Invite de permission pour remplacer la prochaine occurrence.
w
Correspondance de mots entiers uniquement.
date [format]
Insère une chaîne date/time comme défini par le format spécifié format
ou le format « aaaa-MM-jj hh:mm:ss », si aucun n'est indiqué. Les traductions suivantes sont effectuées lors de l'interprétation de format
:
d | Le jour sous la forme d'un nombre sans zéro de début (1-31). |
dd | Le jour sous la forme d'un nombre avec un zéro de début (01-31). |
ddd | Le nom abrégé du jour localisé (par exemple 'Lun'..'Dim'). |
dddd | Le nom entier du jour localisé (par exemple 'Lundi'..'Dimanche'). |
M | Le mois sous la forme d'un nombre sans zéro de début (1-12). |
MM | Le mois sous la forme d'un nombre avec un zéro de début (01-12). |
MMM | Le nom abrégé du mois localisé (par exemple 'Jan'..'Déc'). |
aa | L'année sous la forme d'un nombre à deux chiffres (00-99). |
aaaa | L'année sous la forme d'un nombre à quatre chiffres (1752-8000). |
h | L'heure sans zéro de début (0..23 ou 1..12 en cas d'affichage AM/PM). |
hh | L'heure avec un zéro de début (00..23 ou 01..12 en cas d'affichage AM/PM). |
m | La minute sans zéro de début (0..59). |
mm | La minute avec un zéro de début (00..59). |
s | La seconde sans zéro de début (0..59). |
ss | La seconde avec un zéro de début (00..59). |
z | Les millisecondes sans zéro de début (0..999). |
zzz | Les millisecondes des zéros de début (000..999). |
AP | Utiliser l'affichage AM/PM. AP sera remplacé soit par « AM », soit par « PM ». |
ap | Utiliser l'affichage. ap sera remplacé soit par « am », soit par « pm ». |
char [identifiant]
Cette commande permet d'insérer des caractères spéciaux par leur identifiant numérique, sous forme décimale, octale ou hexadécimale. Pour l'utiliser, ouvrez la boîte de dialogue Commandes d'édition, et saisissez char: [numéro]
dans la zone de saisie, puis cliquez sur .
Cette commande effectue une opération de recherche / remplacement comme sed dans la ligne actuelle, ou dans tout le fichier (%s///).
En bref, on recherche dans le texte une expression qui correspond au texte recherché, l'expression rationnelle entre la première et la deuxième barre oblique. Lorsqu'une correspondance est trouvée, la part de texte correspondant est remplacée par l'expression entre la partie du milieu et la dernière partie de la chaîne. Les parenthèses dans le motif de recherche créent des références arrière, c'est-à-dire que la commande se souvient quelle part du motif correspondait dans les parenthèses ; ces chaînes peuvent être réutilisées dans le motif de remplacement, référencées par \1
pour la première paire de parenthèses, \2
pour la deuxième, etc.
Pour rechercher une (
ou une )
, vous devez la faire précéder d'un antislash, qui joue le rôle de caractère d'échappement : \(\)
.
Si vous placez un i
à la fin de l'expression, l'expression correspondante sera insensible à la casse. Si vous placez un g
à la fin, toutes les occurrences du motif seront remplacées, sinon seule la première occurrence est remplacée.
Exemple 6.2. Remplacer du texte dans la ligne actuelle
Votre compilateur préféré vient de s'arrêter en vous indiquant que la classe maClasse
mentionnée à la ligne 3902 de votre fichier source n'est pas définie.
C'est évidemment MaClasse
! Vous allez à la ligne 3902 et, au lieu d'essayer de trouver le mot dans le texte, vous ouvrez la boîte de dialogue Commande d'édition, saisissez s/maClasse/MaClasse/i
, cliquez sur le bouton , enregistrez le fichier et compilez – avec succès, sans l'erreur.
Exemple 6.3. Remplacer du texte dans le fichier entier
Imaginez que vous avez un fichier dans lequel vous mentionnez plusieurs fois « Mlle Dupont » lorsque quelqu'un entre et vous dit qu'elle vient de se marier avec « M. Martin ». Vous voulez, bien évidemment, remplacer chaque occurrence de « Mlle Dupont » par « Mme Martin ».
Sur la ligne de commande, saisissez %s/Melle Dupont/Mme Martin/
et appuyez sur Entrée. Vous avez terminé.
Exemple 6.4. Un exemple plus avancé
Cet exemple utilise les références arrière ainsi qu'une classe de caractères (si vous ne savez pas de quoi il s'agit, reportez-vous à la documentation relative à ce sujet mentionnée ci-dessous).
Supposons que vous ayez la ligne suivante :
void MyClass::DoStringOps( String &foo, String &bar String *p, int &a, int &b )
Maintenant, vous vous rendez compte que ce n'est pas du code élégant et décidez que vous voulez utiliser le mot-clé const
pour tous les arguments « adresse de », ceux caractérisés par l'opérateur & avant le nom d'argument. Vous voulez aussi simplifier les espaces, de sorte qu'il n'y a qu'un caractère d'espace entre les mots.
Ouvrez la boîte de dialogue « Commande d'édition » et saisissez : s/\s+(\w+)\s+(&)/ const \1 \2/g
, puis cliquez sur le bouton . Le g
à la fin de l'expression fait recompiler l'expression rationnelle pour chaque occurrence, pour enregistrer les références arrière.
Sortie : void MyClass::DoStringOps( const String &foo, const String &bar String *p, const int &a, const int &b )
Mission réussie ! Mais que s'est-il passé ? Nous avons recherché des blancs (\s+
), suivis d'un ou plusieurs caractères alphabétiques (\w+
), eux-mêmes suivis d'un autre blanc (\s+
) suivi d'une esperluette. Le processus a enregistré le fragment alphanumérique et l'esperluette pour le réutiliser lors de l'opération de remplacement. Puis, nous avons remplacé la partie correspondante de la ligne par un blanc suivi de « const », suivi d'un blanc, suivi de notre fragment alphanumérique enregistré (\1
), lui-même suivi d'un blanc et de notre esperluette enregistrée (\2
).
Maintenant, comme dans certains cas, le fragment alphanumérique était « String » et dans d'autres « int », l'utilisation de la classe de caractères //w
et du quantificateur +
a été un grand avantage.
goto [ENTIER ligne]
Cette commande permet d'aller jusqu'à la ligne spécifiée.
find [motif]
Cette commande permet d'aller à la première occurrence de motif
, en fonction de la configuration. Vous pouvez trouver les occurrences suivantes à l'aide de -> (le raccourci par défaut est F3).
Il est possible de configurer la commande Chercher en ajoutant à la fin un caractère « : », suivi d'une ou plusieurs options. La forme est find:options motif
. Les options suivantes sont prises en charge :
b
Recherche arrière.
c
Recherche à partir de la position du curseur.
e
Recherche dans la sélection uniquement.
r
Recherche sur des expressions rationnelles. Si défini, vous pouvez utiliser \N
, où N est un nombre réprésentant des captures dans la chaîne de remplacement.
s
Recherche sensible à la casse.
w
Correspondance de mots entiers uniquement.
ifind [motif]
Cette commande fournit une recherche au fur et à mesure de la saisie (« as-you-type »). Vous pouvez configurer le comportement ou la recherche en ajoutant à la fin un caractère « : », suivi d'une ou plusieurs options, comme suit : ifind:options motif
. Les options autorisées sont les suivantes :
b
Recherche arrière.
r
Effectue une recherche sur des expressions rationnelles.
s
Recherche sensible à la casse.
c
Recherche à partir de la position du curseur.
Le pliage du code permet de cacher des parties d'un document dans l'éditeur, ce qui facilite l'affichage de la vue d'ensemble de documents volumineux. Dans Kate les régions pliables sont calculées à l'aide de règles définies dans les définitions de coloration syntaxique, et le pliage du code n'est donc disponible que dans certains formats - en général le code source du programme, le marquage XML et similaires. La plupart des définitions de coloration syntaxique prenant en charge le pliage du code permet également de définir manuellement des régions pliables, en général à l'aide des mots-clés DEBUT
et FIN
.
Pour utiliser la fonctionnalité de pliage du code, activez les marqueurs suivants à l'aide de l'élément de menu -> s'ils ne sont pas déjà visibles. Le panneau des indicateurs de pliage du côté gauche de l'écran affiche une vue graphique des régions pliables, avec des signes +/- pour indiquer l'opération possible sur une région donnée : un - signifie que la région est dépliée. Un clic sur - replie la région et sur + sera affiché à la place.
Quatre commandes sont prévues pour manipuler l'état des régions de pliage. Consultez la documentation du menu.
Si vous ne voulez pas employer la fonctionnalité de pliage du code, vous pouvez désactiver l'option Afficher les indicateurs de pliage (si cette option est activée) dans la page Apparence de la configuration de l'éditeur.
À partir de la version 2.5, le composant éditeur de Kate prend en charge le scriptage avec le script ECMA, également connu sous le nom de JavaScript.
Les scripts peuvent être utilisés à l'aide de la ligne de commande intégrée uniquement. La condition requise est que le script est placé dans un dossier où Kate peut le trouver, ainsi qu'un fichier .desktop optionnel qui définit les propriétés associées. Le dossier pertinent est nommé katepart/scripts
dans les dossiers de données de KDE. Vous trouverez les dossiers de données en exécutant la commande kde-config --path
data
. Vous aurez le plus souvent un système et un dossier de données personnel. Naturellement, les scripts contenus dans le dossier de données du système sont à la disposition de tous les utilisateurs sur le système, alors que ceux qui sont dans le dossier personnel ne sont accessibles qu'à vous.
Cette fonctionnalité est expérimentale et il est fort probable qu'elle subisse des changements au cours du développement futur.
Nous savons que beaucoup d'entre vous seront déçus car vous ne pouvez pas ajouter vos scripts au menu ou leur affecter des raccourcis clavier. Désolé. Il se peut que dans le futur ce soit possible.
Il n'est également pas encore possible de passer des arguments à vos scripts. Soyez patient, ce sera peut-être ajouté dans un futur proche !
Est listée ici l'ensemble complet des fonctions et propriétés disponibles dans les objets document et view. De plus, vous pouvez naturellement utiliser tous les objets standard tels que Math, String Regex, etc.
Lorsqu'on exécute un script, l'objet document
est le document actuel, et l'objet view
est la vue actuelle.
Les types des arguments ne sont bien entendu pas utilisés en JavaScript à ce moment, ils ne servent qu'à indiquer quel sorte de valeur les fonctions attendent.
Fonctions globales
debug( chaîne
) [fonction]
paramètres
chaîne
: la chaîne à produire en sortie.
Sort la chaîne dans STDERR à l'aide de kdDebug()
. On utilise une zone de sortie dédiée pour la sortie, qui sera préfixée par Kate (KJS Scripts)
.
L'API document
document.attribute( ligne
, colonne
) ; [fonction]
Paramètres
uint ligne
: la ligne de la position pour laquelle trouver l'attribut.
uint colonne
: la colonne de la position pour laquelle trouver l'attribut.
Ce paramètre retourne l'ID numérique de l'attribut concernant la position du document [ligne
,colonne
]. L'attribut représente l'apparence visuelle ou le style du texte, et sert également à calculer la coloration syntaxique pour une partie donnée du texte dans des formats mélangés comme HTML ou PHP.
document.canBreakAt( caractère c
, uint attribut
); [fonction]
Paramètres
c
: le caractère à tester.
attribut
: l'attribut à la position de c
.
La valeur restituée indique s'il est permis d'interrompre la ligne à un caractère c avec l'attribut attribut. Le résultat est décidé en demandant la coloration syntaxique possédant l'attribut pour lequel les caractères permettent d'interrompre la ligne.
document.canComment( uint attribut_début
, uint attribut_fin
); [fonction]
Paramètres
attribut_début
: l'attribut au début de l'intervalle à transformer en commentaire.
attribut_fin
: l'attribut à la fin de l'intervalle à transformer en commentaire.
La valeur restituée indique si attribut_début et attribut_fin appartiennent au même système de coloration syntaxique. Si tel est le cas, c'est correct.
document.clear(); [fonction]
Efface le document.
document.commentStart( uint attribut
); [fonction]
Paramètres
attribut
: l'attribut du texte pour lequel obtenir la chaîne commentStart.
La valeur restituée indique la chaîne requise pour démarrer un commentaire multiligne pour un texte avec attribut, ou une chaîne vide si les commentaires multiligne ne sont pas pris en charge pour ce texte.
document.commentMarker( uint attribut
); [fonction]
Paramètres
attribut
: l'attribut du texte pour lequel obtenir la chaîne commentMarker.
La valeur restituée indique la chaîne utilisée pour marquer le reste de la ligne en tant que commentaire pour un texte avec attribut ou une chaîne vide si les commentaires à une seule ligne ne sont pas pris en charge pour ce texte.
document.commentEnd( uint attribut
); [fonction]
Paramètres
attribut
: l'attribut du texte pour lequel obtenir la chaîne commentEndg.
La valeur restituée indique la chaîne requise pour terminer un commentaire multiligne pour un texte avec attribut, ou une chaîne vide si les commentaires multilignes ne sont pas pris en charge pour ce texte.
document.editBegin(); [fonction]
Démarre un groupe d'édition. Toutes les actions effectuées jusqu'à l'appel de editEnd() seront groupées en une action d'annulation.
document.editEnd(); [fonction]
Termine un groupe d'édition.
document.highlightMode; [propriété:lecture seule]
Le nom du mode de coloration syntaxique du document, tel que JavaScript ou C++. Si aucun mode de coloration syntaxique n'est défini pour le document, la valeur est None (Aucune). Notez que vous devez utiliser le nom anglais au cas où il diffère de celui du nom traduit.
document.indentMode; [propriété:lecture seule]
Le nom du mode d'indentation du document, tel que normal
ou cstyle
. n'oubliez pas que si aucun mode d'indentation n'est défini, la valeur est aucun
.
document.indentWidth; [propriété:lecture seule]
La largeur d'indentation définie pour le document. Cette valeur est utilisée si l'indentation par espaces est activée.
document.insertLine( uint ligne
, chaîne texte
); [fonction]
Paramètres
ligne
: numéro de ligne du document.
texte
: texte à insérer.
Insère une nouvelle ligne avec le texte texte
à la ligne ligne
.
document.insertText( uint ligne
, uint colonne
, chaîne texte
); [fonction]
Paramètres
ligne
le numéro de la ligne
colonne
la colonne
texet
le texte qui doit être inséré
Insère le texte texte
dans la llgne ligne
et la colonne colonne
.
La valeur restituée indique la taille du document en octets.
document.lines(); [fonction]
La valeur restituée indique le nombre de lignes dans le document.
Une propriété booléenne indiquant si le paramètre mixed-indent est activé pour le document. Si oui, l'indentation est optimisée de façon à contenir un mélange de caractères de tabulation et d'espaces comme l'utilise l'éditeur Emacs.
uint ligne
); [fonction]Paramètres
ligne
numéro de la ligne
Supprime la ligne ligne du document.
document.removeText( uint débutLigne
, uint débutColonne
, uint finLigne
, uint finColonne
); [fonction]
Paramètres
débutLigne
: spécifie la ligne de début.
débutColonne
: spécifie la colonne de début.
finLigne
: spécifie la ligne de fin.
finColonne
: spécifie la colonne de fin.
Supprime l'intervalle de texte depuis la ligne débutLigne
et la colonne débutColonne
jusqu'à la ligne finLigne
et la colonne finColonne
.
document.setText( chaîne texte
); [fonction]
Paramètres
texte
: texte du document.
Affecte au contenu du document entier un texte
.
document.spaceIndent; [propriété:lecture seule]
Une propriété booléenne indiquant si le paramètre space-indent est activé pour le document. Si oui, le document est indenté avec des espaces indentWidth par niveau, sinon l'indentation est un caractère de tabulation par niveau.
document.textFull(); [fonction]
La valeur restituée indique le texte complet du document. Si le texte s'étend sur plusieurs lignes, le caractère de saut de ligne est \n
.
document.textLine( uint ligne ); [fonction]
Paramètres
ligne
: la ligne.
La valeur restituée indique le texte de la ligne ligne
.
document.textRange( uint débutLigne
, uint débutColonne
, uint finLigne
, uint finColonne
); [fonction]
Paramètres
débutLigne
: spécifie la ligne de début.
débutColonne
: spécifie la colonne de début.
finLigne
: spécifie la ligne de fin.
finColonne
: spécifie la colonne de fin.
La valeur restituée indique l'intervalle de texte spécifié. Si l'intervalle s'étend sur plusieurs lignes, le caractère de saut de ligne est \n
.
L'API view
view.clearSelection(); [fonction]
Désélectionne tout le texte.
view.cursorColumn(); [fonction]
La valeur restituée indique la colonne actuelle du curseur (les caractères de tabulation sont étendus).
view.cursorColumnReal(); [fonction]
La valeur restituée indique la colonne actuelle réelle du curseur (les caractères de tabulation comptent pour une colonne).
view.cursorLine(); [fonction]
La valeur restituée indique la ligne actuelle du curseur.
view.hasSelection(); [fonction]
La valeur restituée indique true
si la vue contient le texte sélectionné, sinon false
.
view.removeSelectedText(); [fonction]
Supprime le texte sélectionné, si la vue contient une sélection.
view.selectAll(); [fonction]
Sélectionne tout le texte.
view.selection(); [fonction]
La valeur restituée indique le texte sélectionné. Si la sélection s'étend sur plusieurs lignes, le caractère de saut de ligne est \n
.
view.selectionEndColumn; [propriété:lecture seule]
La valeur restituée indique la colonne de fin de la sélection.
view.selectionEndLine; [propriété:lecture seule]
La valeur restituée indique la ligne de fin de la sélection.
view.selectionStartColumn; [propriété:lecture seule]
La valeur restituée indique la colonne de début de la sélection.
view.selectionStartLine; [propriété:lecture seule]
La valeur restituée indique la ligne de début de la sélection.
view.setCursorPosition( uint ligne
, uint colonne
); [fonction]
Paramètres
ligne
: spécifie la ligne pour le curseur.
colonne
: spécifie la colonne pour le curseur.
Définit la position du curseur d'entrée dans la vue selon [ligne
, col
]. Ce paramètre fixe la position du curseur de manière visuelle, c'est-à-dire que le caractère de tabulation compte jusqu'à largeur tabulation
en fonction de la position à l'intérieur de la ligne. La position du curseur es rendue visible. La ligne ainsi que la colonne commencent à partir de zéro.
view.setCursorPositionReal( uint ligne
, uint colonne
); [fonction]
Paramètres
ligne
: spécifie la ligne pour le curseur.
colonne
: spécifie la colonne pour le curseur.
Définit la position du curseur d'entrée selon [ligne
, col
]. Ce paramètre définit la position de la chaîne, c'est-à-dire qu'un caractère de tabulation compte un caractère. La position du curseur est rendue visible. La ligne ainsi que la colonne commencent à partir de zéro.
view.setSelection( uint débutLigne
, uint débutColonne
, uint finLigne
, uint finColonne
); [fonction]
Paramètres
débutLigne
: spécifie la ligne de début.
débutColonne
: spécifie la colonne de début.
finLigne
: spécifie la ligne de fin.
finColonne
: spécifie la colonne de fin.
Définit une sélection à partir de la ligne débutLigne
et de la colonne débutColonne
jusqu'à la ligne finLigne
et la colonne finColonne
.
Exemple 6.6. Un exemple de script
À titre d'exemple, nous allons créer un petit script qui met en majuscules la sélection. Il est évident que nous devons d'abord déterminer si une sélection existe, et si tel est le cas, il faut obtenir le texte, changer la casse puis le remplacer par le nouveau. Voici ce pourrait donner la mise en œuvre :
if ( view.hasSelection() ) { // sélection en majuscules column = view.selectionStartColumn; line = view.selectionStartLine; selection = view.selection().toUpperCase(); document.editBegin(); view.removeSelectedText(); document.insertText( ligne, colonne, sélection ); document.editEnd(); }
Pour grouper cette action, de façon à ce qu'elle soit inversée par une seule activation de la fonction , on encapsule les lignes
view.removeSelectedText()et
document.insertText()avec un
document.editBegin()et un
document.editEnd()
Exemple 6.7. Un exemple de fichier .desktop
Voici un exemple de fichier .desktop qui accompagne le script ci-dessus :
# Exemple de fichier .desktop [Desktop Entry] Encoding=UTF-8 Name=Mettre en majuscules JavaScript Kate Part Comment=Script pour convertir en majuscules la sélection X-Kate-Command=uppercase-selection X-Kate-Help=<p>Utilisation : <code>uppercase-selection</code></p>
Comme vous le constatez, vous pouvez définir l'encodage, définir un nom, un commentaire, un texte d'aide à l'aide de X-Kate-Help et le nom de la ligne de commande à l'aide de X-Kate-Command. Les éléments « Name », « Comment » et « X-Kate-Help » sont automatiquement traduits en d'autres langues par les équipes de traduction de KDE, si les fichiers sont dans le référentiel SVN de KDE.
Kate recherchera les dossiers de script (voir ci-dessus) pour les fichiers *.js
. Pour chaque fichier, l'application vérifie s'il existe un fichier .desktop
correspondant : pour uppercase.js, ce pourrait être uppercase.desktop.
S'il n'est pas possible de trouver un fichier .desktop
, le script sera enregistré dans la ligne de commande de katepart, avec le nom de fichier sans le .js de fin. Ainsi, dans notre exemple, ce serait uppercase
. Si le nom de la commande est correct et que vous n'avez pas besoin des fonctionnalités supplémentaires, qu'offre un fichier .desktop
, vous n'avez absolument pas besoin d'un fichier .desktop
.
S'il existe un fichier .desktop
, katepart lit le nom sous lequel le script sera enregistré à partir de l'élément .desktop-entry de X-Kate-Command, par exemple X-Kate-Command=uppercase-selection.
Cette commande démarre un nouveau document dans la fenêtre d'édition. Dans la liste située à gauche, le nouveau fichier est nommé Sans nom.
Ouvre la boîte de dialogue « Ouvrir un document » de KDE pour vous permettre d'ouvrir un ou plusieurs fichiers.
Cette commande permet d'ouvrir un fichier depuis un sous-menu contenant une liste des fichiers récemment modifiés.
Ce sous-menu présente une liste des applications connues pour gérer le type mime de votre document actuel. L'activation d'un élément ouvre le document actuel avec cette application.
De plus, une commande d'entrée lance l'ouverture avec une boîte de dialogue qui permet de choisir une autre application pour ouvrir le fichier actif. Votre fichier sera toujours ouvert dans Kate.
Cette commande enregistre votre fichier. Utilisez-la souvent. Si le fichier est Sans nom, devient .
Nommez et renommez les fichiers avec cette commande. Elle ouvre la boîte de dialogue « Enregistrer le fichier ». Celle-ci fonctionne exactement comme la boîte de dialogue « Ouvrir un document ». Vous pouvez l'utiliser pour naviguer dans votre système de fichiers, avoir un aperçu des fichiers existants ou filtrer votre affichage de fichiers avec des masques de fichiers.
Saisissez le nom que vous souhaitez donner au fichier que vous enregistrez dans la zone de liste modifiable « Emplacement » puis cliquez sur le bouton .
Cette commande enregistre tous les fichiers ouverts modifiés.
Recharge le fichier actif. Cette commande est utile si un autre programme ou processus a modifié le fichier pendant qu'il est ouvert dans Kate
Imprime le fichier actif.
Exporte votre fichier au format HTML, ainsi votre document peut être affiché sous la forme d'une page web.
Ouvre votre client de messagerie et attache le fichier dans le message.
Fermez le fichier actif avec cette commande. Si vous avez effectué des changements non enregistrés, vous serez invité à enregistrer le fichier avant que Kate ne le ferme.
Cette commande ferme tous les fichiers que vous avez ouverts dans Kate.
Cette commande ferme Kate et tout fichier en cours d'édition. Si vous avez apporté des changements non enregistrés à n'importe lequel des fichiers en cours d'édition, vous serez invité à les enregistrer.
Le menu contient une multitude de commandes qui agissent toutes avec le document actuellement actif.
Éléments de menu
Annule la dernière commande d'édition (saisie, copier, couper, etc.).
Si l'annulation groupée est activée, on peut annuler plusieurs commandes d'édition du même type, comme la saisie de caractères.
Réexécute la dernière étape annulée.
Supprime le texte sélectionné, s'il y a lieu, et place une copie du texte retiré dans le presse-papiers.
Copie le texte sélectionné, s'il y a lieu, dans le presse-papiers.
Copie le texte sélectionné ainsi que la coloration syntaxique sous forme de texte HTML.
Copie le premier élément du presse-papiers dans l'éditeur à la position du curseur.
Si l'option Écraser la sélection est cochée, le texte collé écrasera la sélection, s'il y a lieu.
Sélectionne tout le texte dans l'éditeur.
Désélectionne le texte sélectionné dans l'éditeur, s'il y a lieu.
(Dés)Active le mode de sélection. Lorsque le mode de sélection est « B LOC », vous pouvez faire des sélections verticales, c'est-à-dire sélectionner les colonnes 5 à 10 des lignes 9 à 15.
La barre d'état affiche l'état actuel du mode de sélection, soit « NORM » soit « BLOC ».
Ouvre la boîte de dialogue Chercher... pour pouvoir rechercher du texte dans le document en cours d'édition.
Recherche vers le bas la correspondance la plus proche du dernier texte ou de l'expression rationnelle recherchée, en partant de la position du curseur.
Recherche vers le haut la correspondance la plus proche de la dernière expression rationnelle ou du dernier texte recherché, en partant de la position du curseur.
Ouvre la boîte de dialogue « Remplacer » pour remplacer une ou plusieurs instances d'un texte défini par quelque chose d'autre.
Ouvre la boîte de dialogue « Aller à la ligne... » permettant de saisir le numéro d'une ligne à chercher dans le document
Le menu Document fournit une ligne de menu pour chaque document ouvert. Un clic sur l'une d'elles donne le focus au document demandé. Si vous avez de multiples cadres, un éditeur pour ce document sera affiché dans le cadre actuellement actif.
De plus, des commandes pour parcourir vos documents ouverts sont prévues :
Éléments de menu
Cette commande donne le focus au document précédent dans la pile. Si vous avez de multiples cadres, un éditeur pour le document sera affiché dans le cadre actuellement actif.
L'ordre est celui dans lequel les documents ont été ouverts, plutôt qu'un historique logique. Ce comportement est susceptible de changer dans les futures versions de Kate.
Cette commande donne le focus au document précédent dans la pile. Si vous avez de multiples cadres, un éditeur pour le document sera affiché dans le cadre actuellement actif.
L'ordre est celui dans lequel les documents ont été ouverts, plutôt qu'un historique logique. Ce comportement est susceptible de changer dans les futures versions de Kate.
Le menu permet de régler les paramètres propres à l'éditeur actif et de gérer les cadres.
Lignes de menu
Cette commande (dés)active l'affichage de la ligne de commande intégrée.
Ce menu fournit une liste des schémas disponibles. Il permet de changer le schéma concernant l'affichage actuel, pour modifier le schéma par défaut dont vous avez besoin pour utiliser la boîte de dialogue Configuration.
(Dés)Active le retour à la ligne dynamique dans l'affichage actuel. Le retour à la ligne dynamique rend visible tout le texte, sans recours au défilement horizontal, en améliorant l'affichage d'une ligne réelle en fonction des besoins.
(Dés)Active l'affichage d'une ligne verticale indiquant la position de la largeur de la colonne comme configurée dans la boîte de dialogue Configuration. Cette fonctionnalité nécessite l'emploi d'une police à chasse fixe.
C'est un élément d'activation / de désactivation. En le cochant, vous rendez visible la bordure du côté gauche de l'éditeur actif, et vice versa.
C'est un élément d'activation / de désactivation. En le cochant, vous rendez visible les numéros de ligne du document sur le bord gauche de l'éditeur actif, et vice versa.
(Dés)Active la visualisation des signets (et autres repères) sur la barre de défilement vertical. Lorsqu'elle est activée, les repères sont représentés par une mince ligne de la couleur de marquage sur la barre de défilement, un clic avec le bouton central de la souris sur les lignes fera défiler l'affichage jusqu'à une position proche du repère.
(Dés)Active l'affichage du panneau des indicateurs de pliage sur le côté gauche de la vue. Reportez-vous à la section Utiliser le pliage du code.
Replie toutes les régions de plus haut niveau dans le document.
Déplie toutes les régions de plus haut niveau dans le document.
Replie la région la plus proche du curseur.
Déplie la région la plus proche du curseur.
Le menu permet de travailler avec les signets dans le document actuellement actif.
Sous les lignes décrites ici, une ligne pour chaque signet dans le document actif sera disponible. Le texte consistera en les premiers mots de la ligne marquée. Choisissez un élément pour déplacer le curseur au début de cette ligne. L'éditeur défilera autant que nécessaire pour rendre visible cette ligne.
Lignes de menu
Définit ou supprime un signet dans la ligne actuelle du document actif. (S'il est présent, il est supprimé, sinon un autre est défini.)
Efface (supprime) tous les signets dans le document actif.
Ce raccourci déplace le curseur au début de la première ligne précédente comportant un signet. Le texte de l'élément de menu comprendra le numéro de ligne et le premier bloc de texte dans la ligne. Cet élément n'est disponible que lorsqu'il y a un signet dans une ligne au-dessus du curseur.
Ce raccourci déplace le curseur au début de la ligne suivante comportant un signet. Le texte de l'élément de menu comprendra le numéro de ligne et le premier bloc de texte dans la ligne. Cet élément n'est disponible que lorsqu'il y a un signet dans une ligne au-dessous du curseur.
Transmet le texte actuellement sélectionné dans l'émulateur de terminal intégré. Aucun saut de ligne n'est ajouté après le texte.
Ce sous-menu contient tous les outils externes que vous avez configurés.
Place le document actuel en mode lecture seule. Cette fonction empêche tout ajout de texte et tout changement dans le formatage du document.
Choisissez le schéma de types de fichiers que vous préférez pour le document actif. Cette fonction écrase le mode de types de fichiers global défini dans -> dans l'onglet « Types de fichiers » pour votre document actuel uniquement.
Choisissez le schéma de coloration syntaxique que vous préférez pour le document actif. Cette fonction écrase le mode de coloration syntaxique globale défini dans -> pour votre document actuel uniquement.
Choisissez le style d'indentation que vous souhaitez pour votre document actif. Cette fonction écrase le mode d'indentation global défini dans -> pour votre document actuel uniquement.
Vous pouvez écraser l'encodage par défaut défini dans -> dans l'élément Ouvrir / Enregistrer pour définir un encodage différent pour votre document actuel. L'encodage que vous définissez ici ne sera valable que pour votre document actuel.
Choisissez votre mode de fin de ligne préféré pour votre document actif. Cette fonction écrase le mode de fin de ligne global défini dans -> pour votre document actuel uniquement.
Cette fonction lance le programme de vérification orthographique — un programme conçu pour aider l'utilisateur à repérer et corriger toute faute d'orthographe. Un clic sur cet élément démarre le vérificateur et ouvre la boîte de dialogue du correcteur orthographique grâce auquel l'utilisateur peut contrôler le processus. Il existe quatre paramètres alignés verticalement au centre de la boîte de dialogue avec leurs étiquettes correspondantes tout à gauche. En partant du haut, ce sont :
Ici, le vérificateur orthographique indique le mot actuellement examiné. Ceci se produit lorsque le vérificateur rencontre un mot qui ne figure pas dans son dictionnaire — un fichier contenant une liste de mots correctement orthographiés par rapport auquel il compare chaque mot dans l'éditeur.
Si le vérificateur a un mot similaire dans son dictionnaire, ce sera le premier à être répertorié ici. L'utilisateur peut accepter la suggestion, saisissez sa propre correction, ou choisissez une autre suggestion dans la ligne suivante.
Le vérificateur peut dresser ici la liste d'un certain nombre de remplacements possibles pour le mot actuellement examiné. Un clic sur l'une quelconque des suggestions entraînera la saisie de ce mot dans la case « Remplacer par : » au-dessus.
Si vous avez installé plusieurs dictionnaires, vous pouvez choisir le dictionnaire ou la langue qui devra être utilisé.
Du côté droit de la boîte de dialogue, se trouvent cinq boutons qui permettent à l'utilisateur de contrôler le processus de vérification orthographique. Ce sont :
Un clic sur ce bouton ajoute le mot de la zone « Mot mal orthographié : » au dictionnaire du vérificateur. Cela signifie qu'à l'avenir, le vérificateur considérera toujours que ce mot est correctement orthographié.
Permet au vérificateur de remplacer le mot actuellement examiné dans le document par le mot dans la zone « Remplacer par : ».
Permet au vérificateur de remplacer non seulement le « mot inconnu : » mais également d'effectuer automatiquement la même substitution pour toute autre occurrence de ce « mot mal orthographié : » dans le document.
Un clic sur ce bouton fera se déplacer le vérificateur sans effectuer aucun changement.
Indique au vérificateur de ne rien faire en ce qui concerne le mot inconnu actuel et d'ignorer toute autre instance du même mot.
Cette fonction ne s'applique qu'à la vérification orthographique en cours d'exécution. Si le vérificateur est relancé ultérieurement, il s'arrête sur ce même mot.
Trois boutons supplémentaires sont placés horizontalement au bas de la boîte de dialogue du vérificateur orthographique. Ce sont :
Invoque le système d'aide de KDE en commençant par les pages d'aide de Kate (ce document).
Ce bouton met fin au processus de vérification orthographique et revient vers le document.
Ce bouton annule le processus de vérification orthographique : toutes les modifications sont annulées, et vous revenez vers votre document.
Lance le programme de vérification orthographique, mais il démarre là où se trouve votre curseur au lieu de le faire au début du document.
Vérifie l'orthographe de la sélection actuelle.
Augmente l'indentation du paragraphe d'une tabulation. La valeur de la tabulation dépend des paramètres d'indentation.
Cette fonction réduit l'identation des paragraphes d'une tabulation. La taille de la tabulation dépend des paramètres d'indentation.
Supprime l'indentation pour la sélection en cours ou pour la ligne sur laquelle se trouve le curseur. La suppression de l'indentation garantit que tout votre texte sélectionné suit le mode d'indentation que vous choisissez.
Provoque un réalignement de la ligne en cours ou des lignes sélectionnées à l'aide du mode d'indentation et des paramètres d'indentation dans le document.
Ajoute un espace au début de la ligne sur laquelle se trouve le curseur de texte ou au début de toute ligne sélectionnée.
Supprime un espace (s'il en existe un quelconque) à partir du début de la ligne sur laquelle se trouve le curseur de texte ou à partir du début de toute ligne sélectionnée.
Met en majuscules le texte sélectionné ou la lettre placée après le curseur.
Met en minuscules le texte sélectionné ou la lettre placée après le curseur.
Met en majuscules le texte sélectionné ou le mot actuel.
Fusionne les lignes sélectionnées ou la ligne actuelle et la ligne au-dessous avec un caractère d'espacement sous la forme d'un séparateur. L'espacement placé au début/à la fin des lignes fusionnées est supprimé dans les extrémités affectées.
Applique le retour à la ligne statique à tout le document. Cela signifie qu'une nouvelle ligne de texte commencera automatiquement dès que la ligne dépasse la longueur spécifiée par l'option « Couper à la colonne : » de l'élément « Édition » dans ->.
Ce menu contient des éléments pour employer et gérer les sessions Kate. Pour plus d'informations, reportez-vous à la section Utiliser les sessions.
Crée une nouvelle session vide. Tous les fichiers actuellement ouverts seront fermés.
Ouvre une session existante. La boîte de dialogue du sélecteur de session s'affiche pour vous permettre d'en choisir une.
Ce sous-menu vous permet d'ouvrir une session existante.
Enregistre la session actuelle. S'il s'agit d'une session anonyme, une invite vous demandera un nom de session.
Enregistre la session actuelle sous un nouveau nom. Une invite vous demande un nouveau nom à utiliser.
Afficher la boîte de dialogue du gestionnaire de sessions qui permet de renommer et de supprimer des sessions.
Le menu permet de changer les propriétés de la fenêtre principale, comme afficher/cacher les barres d'outils et des fenêtres, et fournit un accès aux boîtes de dialogue de configuration.
Ce sous-menu répertorie les barres d'outils disponibles, chaque élément (dés)active l'affichage de la barre d'outils associée.
(Dés)Active l'affichage plein écran.
Cette commande sera déplacée dans le menu Fenêtre dans une version future de Kate
Affiche la boîte de dialogue familière de configuration des raccourcis clavier de KDE.
Affiche la boîte de dialogue familière de configuration des barres d'outils de KDE.
Ouvre la boîte de dialogue de configuration principale.
Ouvre une autre instance de Kate. La nouvelle instance sera identique à votre précédente instance.
Cet élément scinde le cadre (qui peut être la zone principale d'édition) en deux cadres de taille égale, le nouveau étant placé à gauche du cadre actif. Le nouveau cadre obtient le focus et affiche le même document que le cadre antérieur.
Reportez-vous également à la section Travailler avec le mode MDI de Kate.
Cet élément scinde le cadre (qui peut être la zone principale d'édition) en deux cadres de taille égale, le nouveau étant placé dans la partie inférieure. Le nouveau cadre obtient le focus et affiche le même document que le cadre antérieur.
Reportez-vous également à la section Travailler avec le mode MDI de Kate.
Ferme le cadre actif. Cet élément est désactivé s'il n'y a qu'un cadre (la zone principale d'édition).
Aucun document n'est fermé en fermant un cadre — il sera encore disponible dans le menu ainsi que dans la « Liste de fichiers ».
Reportez-vous également à la section Travailler avec le mode MDI de Kate.
Met le focus sur la vue suivante du document si vous avez scindé la zone d'édition en plusieurs vues.
Met le focus dans la vue précédente du document si vous avez scindé la zone d'édition en plusieurs vues.
(Dés)Active l'affichage des rangées de boutons de barres latérales. Cette commande n'affecte pas l'affichage des éléments graphiques (« widgets ») du contenu des barres latérales. Toute barre latérale qui est visible le restera et, si vous avez affecté des raccourcis aux commandes ci-dessous, ceux-ci continueront naturellement à fonctionner.
(Dés)Active l'affichage de la liste des documents de Kate.
(Dés)Active l'affichage de l'explorateur de système de fichiers de Kate.
(Dés)Active l'affichage de l'outil Rechercher dans les fichiers de Kate.
(Dés)Active l'affichage de l'émulateur de terminal intégré.
Le terminal est créé lorsque cette fonction est activée pour la première fois.
Lorsque l'émulateur de terminal est affiché, il obtient le focus, de sorte que vous pouvez commencer à saisir des commandes immédiatement. Si l'option Synchroniser l'émulateur de terminal avec le document actif est cochée dans la page Général de la boîte de dialogue de configuration principale, la session shell se placera dans le dossier du document actif, s'il s'agit d'un fichier local.
En dehors des éléments du menu standard de KDE décrits ci-dessous, vous verrez des lignes de menu permettant d'afficher les manuels utilisateur des modules externes pour ceux qui sont installés.
Invoque le système d'aide de KDE en démarrant avec le manuel de Kate (ce document).
Dessine un point d'interrogation (?) à côté du pointeur de la souris. Cliquer sur un élément dans Kate affiche alors une fenêtre d'aide (si celle-ci existe pour cet élément particulier), expliquant la fonction de l'élément en question.
Ouvre une boîte de dialogue de rapport de bogue. Vous pouvez alors envoyer un rapport de bogue ou émettre un souhait.
Affiche des informations sur la version et sur l'auteur
Affiche la version de KDE et d'autres informations basiques
Kate offre plusieurs moyens de peaufiner l'application pour qu'elle se comporte selon vos souhaits. Voici les plus importants :
Le principal outil de configuration, qui permet de configurer l'application Kate, le composant éditeur et l'utilisation des modules externes.
Permet de modifier les paramètres fréquemment utilisés et d'ouvrir les boîtes de dialogue de configuration.
Permet de scinder le cadre actuel et d'afficher le panneau des icônes, ainsi que les numéros de ligne du document en cours d'édition.
La Konsole intégrée utilise actuellement la configuration définie dans le Centre de configuration de KDE. Vous pouvez la paramétrer en cliquant avec le bouton de la souris et en choisissant dans le sous-menu .
La boîte de dialogue de configuration de Kate affiche sur la partie gauche une arborescence de thèmes et sur la partie droite une page de configuration correspondant au thème choisi.
La configuration est divisée en deux groupes, à savoir
Ce groupe contient les pages nécessaires pour configurer l'application Kate principale
Cette section contient quelques options globales pour Kate
Lorsque cette option est cochée, Kate affiche l'URL complet de votre document actuel dans la fenêtre de titre plutôt que simplement le nom du fichier.
Cette option fait passer la Konsole intégrée dans le dossier du document actif lorsque vous la lancez et qu'un nouveau document obtient le focus. Si elle n'est pas cochée, vous devrez effectuer toute votre navigation dans la Konsole par vous-même.
Lorsque cette option est cochée, Kate vous avertit à propos des fichiers modifiés en dehors de l'application à chaque fois que la fenêtre principale reçoit le focus d'entrée. Vous pourrez ensuite manipuler plusieurs fichiers à la fois, recharger, enregistrer ou supprimer les fichiers modifiés dans les groupes.
Si cette option n'est pas cochée, Kate vous invite à effectuer une action lorsqu'un fichier modifié de l'extérieur reçoit le focus au sein de l'application.
Lorsque cette option est cochée, Kate mémorise des méta-informations telles que les signets et la configuration de la session lorsque vous fermez vos documents. Les données seront utilisées si le document est inchangé lors de sa réouverture.
Définit le nombre maximal de jours à garder les méta-informations pour les fichiers non ouverts. Cette fonctionnalité permet de conserver la taille de base de données des méta-informations à une taille raisonnable.
Cette section contient des options relatives à l'utilisation des sessions.
Si cette option est cochée, Kate enregistre la configuration des fenêtres avec chaque session.
Choisissez comment vous souhaitez que Kate se comporte au démarrage. Ce réglage peut être annulé en spécifiant ce qu'il faut faire sur la ligne de commande.
Avec cette option, Kate démarre une nouvelle session sans nom lorsque vous le lancez.
Kate utilise la session la plus récemment ouverte au démarrage. Cette fonction est utile si vous voulez employer toujours la même session ou si vous en changez rarement.
Kate affiche une petite boîte de dialogue qui vous permet de choisir votre session préférée. C'est le comportement par défaut. Pratique si vous employez beaucoup de sessions différentes fréquemment.
Les changements apportés aux données de session (fichiers ouverts et si l'option est cochée, la configuration des fenêtres) ne seront pas enregistrées. Vous serez naturellement prévenu si vous avez des fichiers non enregistrés. Grâce à cette option, vous pouvez configurer vos sessions une fois pour toutes, sans vous soucier de fermer les fichiers supplémentaires que vous avez ouverts et que vous ne voulez pas voir ouverts la prochaine fois que vous utiliserez la session.,
Kate enregistrera vos données de session, sauf si la session est sans nom. Avec cette option, vos sessions sont toujours rétablies exactement comme vous les avez laissées. C'est le comportement par défaut.
Une invite vous demandera si vous voulez enregistrer la session chaque fois qu'une session sans nom est fermée.
Configure les boutons sur la barre d'outils de l'explorateur de système de fichiers en déplaçant ceux que vous voulez voir sélectionnés dans la liste Actions sélectionnées et les classe dans l'ordre à l'aide des boutons fléchés sur le côté de la liste.
Vous pouvez faire en sorte que l'explorateur de système de fichiers effectue l'exploration automatiquement jusqu'au dossier contenant le document actuel lors de certains événéments :
Lorsqu'un nouveau document devient le document actif.
Lorsque l'explorateur de système de fichiers devient visible.
Choisissez quelle sera la longueur de l'historique de navigation. Le navigateur mémorise uniquement les emplacements individuels, les doublons sont supprimés.
Choisissez combien de filtre vous voulez voir mémorisés. Seuls les filtres individuellement distincts sont mémorisés, les doublons sont supprimés.
Configurez si l'explorateur de système de fichiers devra ou non mémoriser son emplacement et son filtre d'une session à l'autre.
Cette section permet de (dés)activer l'affichage de l'assombrissement de l'arrière-plan de votre activité récente et de choisir les couleurs à utiliser si cette option est cochée. Consultez la section Liste de documents pour plus d'informations sur cette fonctionnalité.
Décidez comment vous souhaitez que soit triée la liste des documents. Vous pouvez le faire à partir du menu du bouton
de la souris dans la liste des documents également.Cette page fournit une liste des modules externes installés pour l'application Kate. Chaque module externe est représenté par son nom et une courte description. Vous pouvez cocher la case d'un clic pour activer le module externe qu'elle représente.
Si un module externe prévoit des options de configuration, une section permettant d'y accéder apparaît sous la forme d'un double de cette page.
Dans le menu , vous trouverez un sous-menu étiqueté . Ces outils invoquent des applications externes contenant des données relatives au document actuel, par exemple ses URL, dossier, texte ou sélection. Cette page permet de gérer le menu et de modifier, supprimer ou ajouter de nouveaux outils.
Chaque outil externe est une commande shell qui contient des macros représentant les données du document. Lorsqu'elles sont activées, les macros sont substituées par des données provenant du document actif.
Propriétés des outils externes
Une désignation conviviale pour le menu Outils externes.
Le script à exécuter lorsque l'outil est activé. Avant de transmettre le script à l'interpréteur, les macros suivantes sont substituées :
L'URL complet du document actuel ou une chaîne de caractères vide si le document est non enregistré.
Une liste séparée par des espaces des URL de tous les documents ouverts (sauf ceux qui sont non enregistrés).
La partie dossier de l'URL du document actuel ou une chaîne de caractères vide si le document actuel est non enregistré.
Le nom de fichier du document actuel sans le chemin ou une chaîne de caractères vide si le document actuel est non enregistré.
Le numéro de ligne du curseur d'insertion est dans le document actuel.
Le numéro de colonne du curseur d'insertion est dans le document actuel.
Le texte sélectionné dans le document actuel ou une chaîne de caractères vide s'il n'y a pas de texte sélectionné.
Le texte complet du document actuel. Sachez que celui-ci risque de dépasser la longueur maximale de commande autorisée sur votre système. À utiliser avec précaution.
L'exécutable principal est le script. Il est obligatoire et sert à tester si la commande peut réellement être exécutée. Vous pouvez spécifier un chemin pleinement qualifié si l'exécutable n'est pas dans votre variable PATH
.
Une liste séparée par des points-virgules des types MIME pour lesquels cette commande devrait être activée. Cette fonction est actuellement inutilisée.
Vous pouvez éventuellement décider que les documents actuels, voire la totalité, soient enregistrés avant d'exécuter le script. Cette fonction est pratique si votre script lit le fichier à partir du disque.
Si vous remplissez ce champ, l'outil sera disponible dans la ligne de commande de l'éditeur sous la forme exttool-Nom de la ligne de commande
(la chaîne que vous saisissez ici précédée de « exttool- »).
Ce groupe contient toutes les pages relatives au composant d'édition de Kate. La plupart des paramètres ici sont des valeurs par défaut, que l'on peut annuler en définissant un type de fichier, des variables de document ou en les changeant pour chaque document pendant une session d'édition.
Si cette option est cochée, les lignes de texte seront coupées au bord de la vue sur l'écran.
Choisissez à quel moment les indicateurs de retour à la ligne dynamique devront être affichés.
Permet d'aligner le début des lignes coupées dynamiquement de façon verticalement par rapport au niveau d'indentation de la première ligne. Cette fonction est utile pour rendre le code et le marquage plus lisible.
De plus, cette option permet de définir une largeur maximale de l'écran, sous la forme d'un pourcentage, après quoi les lignes coupées dynamiquement ne seront plus alignées verticalement. Par exemple, à 50 %, pour les lignes dont les niveaux d'indentation ont une profondeur de plus de 50 % de la largeur de l'écran, on ne pourra pas appliquer l'alignement vertical aux lignes coupées ultérieurement.
Si cette option est cochée, la vue actuelle affiche des repères pour le pliage du code, si cette fonctionnalité est disponible.
Si cette option est cochée, vous voyez une bordure d'icônes sur le côté gauche. La bordure d'icônes affiche les marques de signets par exemple.
Si cette option est cochées, vous voyez les numéros de ligne sur le côté gauche.
Si cette option est cochée, la vue actuelle affiche les repères sur la barre de défilement vertical. Ces repères afficheront par exemple des signets.
Les signets seront classés par les numéros de ligne auxquels ils sont placés.
Chaque nouveau signet sera ajouté en bas, quel que soit l'endroit où il est placé dans le document.
Si cette option est cochée, l'éditeur affiche des lignes verticales pour aider à identifier les lignes d'indentation.
Cette section de la boîte de dialogue permet de configurer toutes les polices et couleurs selon n'importe quel schéma de couleur disponible etde supprimer des schémas existants ou d'en créer de nouveaux. Chaque schéma comporte des réglages concernant les couleurs, polices, ainsi que les styles de texte normal et de coloration syntaxique.
Kate présélectionnera pour vous le schéma actuellement actif. Si vous voulez travailler sur un schéma différent, commencez par choisir ce schéma à partir de la zone de liste modifiable Schéma.
C'est l'arrière-plan par défaut pour la zone éditeur, qui sera la couleur dominante sur la zone éditeur.
C'est l'arrière-plan pour le texte sélectionné. Le comportement par défaut est la couleur de sélection global, comme défini dans vos préférences de couleurs KDE.
Définit la couleur pour la ligne actuelle. Régler ce paramètre un peu différemment à partir de l'arrière-plan Texte normal aide à garder le focus sur la ligne actuelle.
Cette zone permet de définir les couleurs de recouvrement pour divers types de repères. La couleur est mélangée à la couleur de fond d'une ligne marquée, de sorte qu'une ligne contenant plus de repères ou une ligne marquée qui est la ligne actuelle présente un arrière-plan qui est un mélange de plusieurs couleurs. Les couleurs de s repères sont également utilisées si vous activez l'affichage des marques des barres de défilement.
Cette couleur est utilisée pour les repères, numéros de ligne et bordures des indicateurs de pliage sur le côté gauche de la vue de l'éditeur lorsqu'ils sont affichés.
Cette couleur est utilisée pour tracer les numéros de ligne sur le côté gauche de la vue lorsqu'ils sont affichés.
Cette couleur est utilisée pour dessiner l'arrière-plan des couples d'accolades.
Cette couleur est utilisée pour tracer un motif sur la partie gauche des lignes coupées dynamiquement lorsque celles-ci sont alignées verticalement, ainsi que pour le marqueur de retour à la ligne.
Cette couleur est utilisée pour tracer des indicateurs d'espacement lorsque cette fonction est activée.
Ici vous pouvez choisir la police concernant le schéma, à partir de toute police disponible sur votre système et définie une taille par défaut. Comme un échantillon de texte s'affiche au bas de la boîte de dialogue, vous pouvez voir l'effet de vos choix.
Les styles du texte normal sont un héritage des styles du texte en surbrillance, qui permettent à l'éditeur de présenter du texte d'une manière très cohérente, par exemple le texte des commentaires à l'aide du même style dans pratiquement tous les formats de texte que Kate peut mettre en surbrillance.
Le nom dans la liste des styles utilise le style configuré pour l'élément, en vous fournissant un aperçu immédiat lorsque vous configurez un style.
Chaque style permet de choisir des attributs communs ainsi que des couleurs d'avant-plan et d'arrière-plan. Pour désélectionner une couleur d'arrière-plan, cliquez avec le bouton droit pour utiliser le menu contextuel.
Ici vous pouvez modifier les styles de texte utilisés par une définition de coloration syntaxique donnée. L'éditeur présélectionne la coloration syntaxique qu'utilise votre document actuel. Pour travailler avec une coloration syntaxique différente, choisissez-en une dans la zone de liste modifiable Coloration syntaxique au-dessus de la liste des styles.
Le nom dans la liste des styles utilise le style configuré pour l'élément, en vous fournissant un aperçu immédiat lorsque vous configurez un style.
Chaque style permet de choisir des attributs communs ainsi que des couleurs d'avant-plan et d'arrière-plan. Pour désélectionner une couleur d'arrière-plan, cliquez avec le bouton droit pour utiliser le menu contextuel. De plus, vous pouvez voir si un style est équivalent au style par défaut employé pour l'élément, et le définir en conséquence s'il ne l'est pas.
Vous remarquerez que de nombreuses colorations syntaxiques contiennent des colorations syntaxiques représentés par des groupes dans la liste des styles. Par exemple, la plupart des colorations syntaxique importent la coloration syntaxique Alert, et de nombreux formats de code source importent la coloration syntaxique Doxygen. L'édition des couleurs dans ces groupes n'affecte que les styles lorsqu'elles sont utilisé dans le format de coloration syntaxique édité.
Lorsque cette option est cochée, appuyer sur la touche Début amènera le curseur à ignorer tout caractère d'espacement et à aller au début du texte d'une ligne.
Lorsque cette option est cochée, déplacer le curseur d'insertion à l'aide des touches gauche et droite ira sur la ligne précédente/suivante au début/à la fin de la ligne, de la même manière que la plupart des éditeurs.
Lorsqu'elle n'est pas cochée, le curseur d'insertion ne peut être déplacé à gauche du début de la ligne mais peut l'être depuis la fin de la ligne, ce qui s'avérer très pratique pour les programmeurs. Lorsque cette option est cochée, déplacer le curseur avec les touches fléchées de la fin d'une ligne (vers la droite) la fait passer au début de la ligne suivante. De même, lorsque le curseur est déplacé après le début d'une ligne (vers la gauche), il passe à la fin de la ligne précédente. Lorsque cette option n'est pas cochée, déplacer le curseur à droite après la fin d'une ligne le fait simplement continuer horizontalement dans la même ligne et essayer de le déplacer à gauche après le début n'a aucun effet.
Cette option change le comportement du curseur lorsque l'utilisateur appuie sur la touche Page précédente ou Page suivante. Si elle n'est pas cochée, le curseur de texte maintiendra sa position dans le texte visible dans Kate au fur et à mesure que le nouveau texte devient visible, suite à l'opération. Donc, si le curseur est au milieu du texte visible lorsque l'opération se produit, il restera à cet endroit (sauf lorsqu'on atteint le début ou la fin). Grâce à cette option cochée, appuyer sur la première touche amènera le curseur à se déplacer soit vers le haut soit vers le bas du texte visible au fur et à mesure qu'une nouvelle page de texte est affichée
Définit le nombre de lignes à maintenir visibles au-dessus et au-dessous du curseur lorsque c'est possible.
Les sélections seront écrasées par le texte saisi et seront perdues lors du déplacement du curseur.
Les sélections demeureront même après un mouvement du curseur et une saisie.
Lorsque cette option est cochée, l'éditeur insère un nombre calculé d'espaces selon la position dans le texte et le réglage tab-width
lorsque vous appuyez sur la touche Tab.
Lorsque cette option est cochée, Kate affiche un petit point sous la forme d'une représentation visuelle des caractères de tabulation.
Cette fonction entraîne le traçage de points pour indiquer le caractère d'espacement de fin. Ce sera corrigé dans une version future de Kate.
Si l'option Remplacer les tabulations par des espaces est cochée, cet élément détermine le nombre d'espaces par lesquels l'éditeur remplacera automatiquement les tabulations.
Le retour à la ligne est une fonctionnalité qui amène l'éditeur à démarrer automatiquement une nouvelle ligne de texte et à déplacer (encapsuler) le curseur au début de cette nouvelle ligne. Kate démarrera automatiquement une nouvelle ligne de texte lorsque la ligne actuelle atteindra la longueur spécifiée par l'option Couper à la colonne :.
(Dés)Active le retour à la ligne statique.
Si cette option est cochée, une ligne verticale sera tracée au niveau de la colonne de coupure comme défini dans le menu -> dans la page Édition. Notez que l'indicateur de coupure de lignes n'est visible que si vous utilisez une police à chasse fixe.
Si l'option Retour à la ligne est cochée, cette fonction détermine la longueur (en caractères) à laquelle l'éditeur démarrera automatiquement une nouvelle ligne.
Kate éliminera automatiquement les espaces supplémentaires à la fin des lignes de texte.
Lorsque l'utilisateur saisit une accolade gauche ([, ( ou {), Kate saisit automatiquement l'accolade droite (}, ) ou ]) à droite du curseur.
Ici l'utilisateur peut spécifier le nombre d'étapes que Kate retiendra en mémoire aux fins d'annuler des saisies et actions. Cela signifie que plus le nombre d'étapes défini est élevé, plus Kate utilisera de mémoire pour cette fonction. Fixer ce nombre à 10 signifierait que l'utilisateur pourrait revenir sur les dix dernières opérations, c'est-à-dire cliquer 10 fois sur le bouton pour obtenir des résultats.
Cette fonction détermine à partir de quel endroit Kateobtiendra le texte de la recherche (celui-ci sera automatiquement saisi dans la boîte de dialogue Rechercher du texte) :
Nulle part : ne pas deviner le texte de la recherche.
La sélection seulement : utiliser la sélection de texte actuelle, si disponible.
La sélection, puis le mot actuel : utiliser la sélection actuelle si disponible, sinon utiliser le mot actuel.
Mot actuel seulement : utiliser le mot sur lequel le curseur est actuellement positionné, si disponible.
Mot actuel, puis la sélection : utiliser le mot actuel, si disponible, sinon utiliser la sélection actuelle.
Choisissez le mode d'indentation automatique que vous souhaitez utiliser comme mode par défaut. Il est vivement recommandé d'employer Aucun
ou Normal
ici, et les configurations des types de fichiers pour définir d'autres modes d'indentation pour des formats de texte comme le code C/C++ ou le XML.
Insère automatiquement un « * » lors de la frappe à l'intérieur d'un commentaire de style Doxygen. Ce réglage n'est mis en œuvre que lorsqu'il est applicable.
Cette fonction remplace les tabulations par le nombre d'espaces définis dans Nombre d'espaces : ci-dessous.
Utilise un mélange de caractères de tabulation et d'espaces pour l'indentation.
Définit le nombre d'espaces que vous souhaitez utiliser pour l'indentation lorsque vous cochez l'option Utiliser des espaces au lieu de tabulations pour indenter.
Lorsque cette option est cochée, l'éditeur n'indente pas les lignes dans une autre sélection si la ligne comportant la dernière indentation devient non indentée. Cette fonction peut être utile si vous désindentez parfois des blocs de code indenté.
Les indentations comportant plus d'espaces que le nombre sélectionné ne seront pas raccourcies.
Cette fonction permet l'employer la touche Tabulation pour indenter.
Cette fonction permet d'employer la touche Correction pour indenter.
Cette option permet à la touche Tabulation d'insérer des caractères d'indentation.
Cette option permet à la touche Tabulation d'insérer une tabulation.
Cette option permet à la touche Tabulation d'indenter la ligne actuelle.
Cette option définit l'encodage par défaut des caractères concernant vos fichiers.
Choisissez votre mode de fin de ligne préféré pour votre document actif. Vous avez le choix entre UNIX®, DOS/Windows® ou Macintosh.
Cochez cette option si vous voulez que l'éditeur détecte automatiquement la fin du type de ligne. Le premier type de fin de ligne trouvé sera utilisé pour le fichier entier.
L'éditeur chargera le nombre donné de blocs (d'environ 2 048 lignes) de texte en mémoire ; si la taille de fichier est supérieure, les autres blocs sont transférés sur le disque et chargés de façon transparente selon les besoins.
Ce comportement peut entraîner un peu de retard lors de la navigation dans le document; un compte de blocs supérieur augmente la vitesse d'édition au prix de la mémoire.
Pour une utilisation normale, choisissez simplement le compte de blocs possible. Ne le limitez que si vous avez des problèmes avec l'utilisation de la mémoire.
L'éditeur éliminera automatiquement les espaces supplémentaire à la fin des lignes de texte lors du chargement / de l'enregistrement du fichier.
L'éditeur effectuera la recherche en remontant selon le nombre donné de niveaux de dossiers dans le fichier de configuration de Kate et chargera la ligne des paramètres à partir de celui-ci.
Faire une sauvegarde à l'enregistrement amènera Kate à copier le fichier sur disque dans <préfixe><nom-fichier><suffixe> avant d'enregistrer les changements. Le suffixe prend par défaut un ~ et le préfixe est vide par défaut.
Cochez cette option si vous voulez des sauvegardes des fichiers locaux lors de l'enregistrement.
Cochez cette option si vous voulez des sauvegardes des fichiers distants lors de l'enregistrement.
Saisissez le préfixe à placer au début des noms de fichiers des sauvegardes.
Saisissez le suffixe à ajouter aux noms de fichier des sauvegardes.
Ce groupe d'options est utilisé pour personnaliser les styles de coloration syntaxique pour chaque type de langage de programmation. Tour changement que vous avez effectué dans d'autres zones de cette boîte de dialogue ne s'appliquera qu'à ce type.
Cette option est utilisée pour choisir le type de langage à configurer.
Affiche les propriétés des règles de coloration syntaxique du langage choisi : nom d'auteur et licence.
C'est la liste des extensions de fichiers utilisées pour déterminer quels sont les fichiers à mettre en surbrillance à l'aide du mode de coloration syntaxique actuel.
Cliquer sur le bouton d'assistant permet d'afficher une boîte de dialogue comportant une liste de tous les types MIME disponibles pour y faire votre choix.
L'élément Extensions de fichiers sera automatiquement modifié aussi.
Définit la priorité de la règle de coloration syntaxique.
Cliquez sur ce bouton pour télécharger des descriptions de coloration syntaxique nouvelles ou mises à jour sur le site web de Kate.
Cette page permet d'annuler la configuration par défaut pour les documents des types MIME spécifiés. Lorsque l'éditeur charge un document, il essaie de vérifier s'il correspond aux masques ou aux types MIME des fichiers pour un des types de fichiers définis et, si tel est le cas, il applique les variables définies. Si d'autres types de fichiers correspondent, celui qui a la priorité la plus élevée est utilisé.
Le type de fichier ayant la priorité la plus élevée est celui affiché dans la première zone de liste déroulante. Si d'autres types de fichier ont été trouvés, ils sont également listés.
Cette option est utilisée pour créer un nouveau type de fichier. Lorsque vous avez cliqué sur ce bouton, les champs ci-dessous se retrouvent vides et vous pouvez y saisir les propriétés que vous souhaitez pour le nouveau type de fichier.
Pour supprimer un type de fichier existant, sélectionnez-le dans la zone de liste déroulante et cliquez sur le bouton .
Le type de fichier ayant la priorité la plus élevée est celui affiché dans la première zone de liste déroulante. Si d'autres types de fichier ont été trouvés, ils sont également listés.
Le nom du type de fichier sera le texte de l'élément de menu correspondant. Ce nom est affiché dans ->.
Le nom de la section est utilisé pour organiser les types de fichiers dans les menus. Cette option est également dans ->.
Cette chaîne permet de configurer les réglages de Kate pour les fichiers sélectionnés par ce type MIME à l'aide des variables de Kate. Vous pouvez définir pratiquement n'importe quelle option de configuration, telle que la coloration syntaxique, le mode d'indentation, l'encodage, etc.
Pour obtenir une liste complète des variables connues, reportez-vous au manuel.
Le masque de jokers permet de sélectionner des fichiers par nom de fichier. Un masque typique utilise un astérisque et l'extension de fichier, par exemple *.txt; *.text
. La chaîne est une liste de masques séparée par un point-virgule.
Affiche un assistant qui vous aide à sélectionner facilement des types MIME.
Définit une priorité pour ce type de fichier. Si plusieurs types de fichier choisit le même fichier, celui qui a la priorité la plus élevée sera utilisé.
Vous pouvez changer ici la configuration des touches de raccourcis clavier. Choisissez une action et cliquez sur Personnalisé si vous voulez un autre raccourci pour cette action.
La recherche permet de chercher une action spécifique et de voir le raccourci clavier associé.
Les variables de Kate sont une implémentation katepart des variables de document, similaires aux modelines d'emacs et de vi. Dans katepart, les lignes ont le format kate: NOMVARIABLE VALEUR; [ NOMVARIABLE VALEUR; ... ]
. Les lignes peuvent bien sûr se trouver dans un commentaire, si le fichier est dans un format comportant des commentaires. Les noms de variables sont des mots d'un seul tenant (sans espace) et tout ce que l'on trouve jusqu'au point-virgule suivant constitue la valeur. Le point-virgule est obligatoire.
Voici un exemple de ligne de variable forçant les réglages d'indentation pour un fichier C++, java ou javascript :
// kate: space-indent on; indent-width 4; mixedindent off; indent-mode cstyle;
La recherche des lignes de variables n'a lieu que sur les dix premières et les dernières lignes.
Il existe des variables permettant de prendre en charge toutes les configurations dans katepart. De plus, les modules externes peuvent utiliser des variables, auquel cas elles devraient être référencées dans la documentation du module externe correspondant.
Lorsqu'il lit la configuration, katepart regarde aux endroits suivants (dans cet ordre) :
La configuration globale.
Les données optionnelles de session.
La configuration des « types de fichiers ».
Les variables de document dans le document lui-même.
Les réglages effectués durant l'édition à partir du menu ou de la ligne de commande.
Toute variable non listée ci-dessous est enregistrée dans le document et peut être recherchée par d'autres objets tels que les modules externes, qui ont la possibilité de les utiliser pour leurs propres besoins. Par exemple, le mode d'indentation des variables utilise les variables de document pour sa configuration.
Les variables répertoriées ci-dessous documentent la version 2.4 de Kate. D'autres variables pourront s'y ajouter dans le futur. Trois types de valeurs sont possibles pour les variables, avec les expressions admises suivantes :
BOOLÉEN - on|off|true|false|1|0
ENTIER - n'importe quel nombre entier
CHAÎNE - n'importe quelle chaîne de caractères
Variables disponibles
auto-brackets [BOOLÉEN]
Définit l'insertion ou la suppression automatique d'accolades.
auto-center-lines [ENTIER]
Définit le nombre de lignes centrées automatiquement.
auto-insert-doxygen [BOOLÉEN]
(Dés)Active l'insertion de l'astérisque de début dans les commentaires de doxygen. Ce comportement n'a aucun effet, à moins que vous n'utilisiez l'indentation automatique cstyle.
background-color [CHAÎNE]
Définit la couleur de fond du document. Il faut que la valeur puisse être affectée à une couleur admise, par exemple « #ff0000 ».
backspace-indents [BOOLÉEN]
(Dés)Active l'indentation à l'aide de la touche correction.
block-selection [BOOLÉEN]
(Dés)Active la sélection par bloc.
bracket-highlight-color [CHAÎNE]
Définit la couleur pour la mise en surbrillance des parenthèses. Il faut que la valeur puisse être affectée à une couleur admise, par exemple « #ff0000 ».
current-line-color [CHAÎNE]
Définit la couleur de la ligne actuelle. Il faut que la valeur puisse être affectée à une couleur admise, par exemple « #ff0000 ».
dynamic-word-wrap [BOOLÉEN]
(Dés)Active le retour à la ligne automatique.
eol | end-of-line [CHAÎNE]
Définit la fin du mode ligne. Les réglages admis sont « unix », « mac » et « dos ».
encoding [CHAÎNE]
Définit l'encodage du document. La valeur doit être un nom d'encodage admis, comme « utf-8 ».
font-size [ENTIER]
Définit la taille de point de la police du document.
font [CHAÎNE]
Définit la police du document. La valeur doit être un nom de police admis, par exemple « courier ».
icon-bar-color [CHAÎNE]
Définit la couleur de la barre d'icônes. Il faut que la valeur puisse être affectée à une couleur admise, par exemple #ff0000
.
icon-border [BOOLÉEN]
(Dés)Active l'affichage de la bordure d'icônes.
folding-markers [BOOLÉEN]
(Dés)Active l'affichage des marqueurs de pliage.
indent-mode [CHAÎNE]
Définit le mode d'indentation automatique. Les options « aucun », « normal », « cstyle », « csands », « python » et « xml » sont reconnues. Consultez la section la section intitulée « Utiliser l'indentation automatique » pour les détails.
indent-width [ENTIER]
Définit la largeur d'indentation.
keep-extra-spaces [BOOLÉEN]
Définit s'il faut garder des espaces supplémentaires lors du calcul de la largeur d'indentation.
keep-indent-profile [BOOLÉEN]
Si elle est cochée, cette option empêche de désindenter un bloc si au moins une ligne ne comporte pas d'indentation.
line-numbers [BOOLÉEN]
(Dés)Active l'affichage des numéros de ligne.
mixed-indent [BOOLÉEN]
(Dés)Active l'indentation mixte dans le style d'Emacs.
overwrite-mode [BOOLÉEN]
(Dés)Active le mode d'écrasement.
persistent-selection [BOOLÉEN]
(Dés)Active la sélection persistante.
remove-trailing-space [BOOLÉEN]
(Dés)Active le nettoyage dynamique des fins de ligne.
replace-tabs-save [BOOLÉEN]
(Dés)Active la conversion tabulation->espaces lors de l'enregistrement.
replace-tabs [BOOLÉEN]
(Dés)Active la conversion dynamique tabulation->espaces.
replace-trailing-space-save [BOOLÉEN]
(Dés)Active le nettoyage des fins de ligne lors de l'enregistrement.
scheme [CHAÎNE]
Définit la couleur dominante. La chaîne doit être le nom d'une couleur dominante qui existe dans votre configuration pour pouvoir obtenir un effet quelconque.
selection-color [CHAÎNE]
Définit la couleur de la sélection. Il faut que la valeur puisse être affectée à une couleur admise, par exemple « #ff0000 ».
show-tabs [BOOLÉEN]
(Dés)Active le caractère visuel de tabulation.
smart-home [BOOLÉEN]
(Dés)Active la navigation avec la touche de début intelligente (« smart home »).
space-indent [BOOLÉEN]
(Dés)Active l'indentation avec des espaces.
tab-indents [BOOLÉEN]
(Dés)Active l'indentation à l'aide des touches de tabulation.
tab-width [ENTIER]
Définit la largeur d'affichage des tabulations.
undo-steps [ENTIER]
Définit le nombre d'étapes d'annulation à mémoriser.
word-wrap-column [ENTIER]
Définit le nombre de colonnes auquel aura lieu le retour à la ligne automatique forcé.
word-wrap-marker-color [CHAÎNE]
Définit la couleur du marqueur de retour automatique à la ligne. Il faut que la valeur puisse être affectée à une couleur admise, par exemple « #ff0000 ».
word-wrap [BOOLÉEN]
(Dés)Active le retour automatique à la ligne forcé.
wrap-cursor [BOOLÉEN]
(Dés)Active le retour à la ligne du curseur.
Kate. Programme copyright 2000, 2001, 2002 - 2005 par l'équipe de développement de Kate.
L'équipe de Kate :
(cullmann AT kde.org)
Gestionnaire de projet & développeur de la partie centrale
(anders AT alweb.dk)
Développeur de la partie centrale, coloration syntaxique Perl, documentation
(kde AT jowenn.at)
Développeur de la partie centrale, coloration syntaxique
(michael.bartl1 AT chello.at)
Développeur de la partie centrale
(phlip_cpp AT my-deja.com)
Le compilateur du projet
(bastian AT kde.org)
Le génial système de tampon
(newellm AT proaxis.com)
Les tests...
(gholam AT xtra.co.nz)
Développeur de la partie centrale
(digisnap AT cs.tu-berlin.de)
Auteurs de KWrite
(koch AT kde.org)
Portage de KWrite vers KParts
(gebauer AT bigfoot.com)
Non spécifié
(hausmann AT kde.org)
Non spécifié
(glenebob AT nwlink.com)
Historique d'annulation de KWrite, intégration de KSpell
(sdmanson AT alltel.net)
Prise en charge de la coloration syntaxique XML de KWrite
(jfirebaugh AT kde.org)
Correctifs divers
(dhdev AT gmx.de)
Développeur, assistant de coloration syntaxique
Beaucoup d'autres personnes ont contribué :
(merlim AT libero.it)
Coloration syntaxique pour les fichiers de spec RPM, Diff et plus
(rocky AT purdue.edu)
Coloration syntaxique pour VHDL
Coloration syntaxique pour SQL
Coloration syntaxique pour Ferite
Coloration syntaxique pour ILERPG
Coloration syntaxique pour Java et plus encore
Coloration syntaxique pour LaTeX
Coloration syntaxique pour les Makefiles et Python
Coloration syntaxique pour Python
Petites corrections de bogues, module XML
Documentation copyright 2000,2001 Seth Rothberg (sethmr AT bellatlantic.org)
Documentation copyright 2002, 2003, 2005 Anders Lund (anders AT alweb.dk)
Traduction française par Joëlle Cornavin (jcornavi AT club-internet.fr)
, Yves Dessertine (kde AT yvesd.net)
et Gonéri Le Bouder (goneri AT gnuart.org)
Cette documentation est soumise aux termes de la Licence de Documentation Libre GNU (GNU Free Documentation License).
Ce programme est soumis aux termes de la Licence Générale Publique GNU (GNU General Public License).
Table des matières
La coloration syntaxique est une fonction qui fait afficher automatiquement du texte à l'éditeur dans différents styles / couleurs selon la fonction de la chaîne en rapport avec le but du fichier. Dans le code source d'un programme par exemple, des instructions de contrôle peuvent être rendues en gras, alors que des types de données et des commentaires prennent des couleurs différentes du reste du texte. Ce comportement améliore considérablement la lisibilité du texte et aide ainsi l'auteur à être plus efficace et plus productif.
Une fonction Perl rendue avec la coloration syntaxique.
La même fonction Perl, sans coloration syntaxique.
De ces deux exemples, lequel est le plus facile à lire ?
Kate offre un système souple, configurable et performant pour prendre en charge la coloration syntaxique. De plus, la distribution standard fournit des définitions pour un large éventail de langages de programmation, de scriptage et de balisage, ainsi que d'autre formats de fichiers texte. En outre, vous pouvez proposer vos propres définitions dans de de simples fichiers XML.
Kate détecte automatiquement les règles de coloration syntaxique lorsque vous ouvrez un fichier, en fonction du type MIME, déterminé par son extension ou, s'il n'y en a aucune, du contenu. Si vous vous faites un mauvais choix, vous pouvez définir manuellement la syntaxe à utiliser dans le menu ->.
Les styles et couleurs utilisés par chaque définition de coloration syntaxique peuvent être configurés à l'aide de la page Apparence de la boîte de dialogue Configuration, alors que les types MIME à employer sont pris en charge par la page Coloration syntaxique.
La coloration syntaxique est là pour améliorer la lisibilité du texte correct, mais vous ne pouvez pas vous y fier pour valider votre texte. La complexité du marquage syntaxique du texte dépend du format que vous utilisez et, dans certains cas, les auteurs des règles de syntaxe seront fiers si 98 % du texte est correctement rendu, même si la plupart du temps, il vous faut un style rare pour voir les 2 % incorrects.
Vous pouvez télécharger des définitions de coloration syntaxique actualisées ou additionnelles sur le site web de Kate en cliquant sur le bouton « » dans la page Coloration syntaxique de la boîte de dialogue Configuration.
Cette section aborde le mécanisme de coloration syntaxique de Kate plus en détail. Elle vous est destinée si vous voulez en faire l'apprentissage, changer ou créer des définitions de syntaxe.
Chaque fois que vous ouvrez un fichier, une des premières tâches de l'éditeur Kate est de détecter la définition syntaxique à utiliser pour ce fichier. Lors de la lecture du fichier, et lors de sa saisie, le système de coloration syntaxique analyse le texte à l'aide des règles fixées par la définition syntaxique et y marque les endroits où différents contextes et styles commencent et finissent.
Lorsque vous saisissez le document, le nouveau texte est analysé et marqué à la volée, de sorte que si vous supprimez un caractère qui est marqué comme étant le commencement ou la fin d'un contexte, le style du texte environnant change en conséquence.
Les définitions syntaxiques que le système de coloration syntaxique de Kate utilise sont des fichiers XML contenant
Des règles pour détecter le rôle du texte, organisé en blocs de contexte
Des listes de mots-clés
Des définitions d'éléments de style
Lors de l'analyse du texte, les règles de détection sont évaluées dans l'ordre dans lequel elles sont définies et, si le début de la chaîne actuelle correspond à une règle, le contexte apparenté est utilisé. Le point de départ dans le texte est déplacé vers le point final auquel cette règle correspondait et une nouvelle itération des règles commence, en partant du contexte établi par la règle correspondante.
Les règles de détection sont le fondement du système de détection de la coloration syntaxique. Une règle est une chaîne, un caractère ou une expression rationnelle par rapport à quoi faire correspondre le texte en cours d'analyse. Elle contient des informations sur le style à utiliser pour la partie correspondante du texte. Elle peut faire basculer le contexte opérationnel du système soit vers un contexte explicitement mentionné, soit vers le précédent contexte utilisé par le texte.
Les règles sont organisées en groupes de contexte. Un groupe de contexte est utilisé pour la majorité des concepts textuels au sein du format, par exemple des chaînes de texte entre guillemets ou des blocs de commentaires dans le code source d'un programme. Cela garantit que le système de coloration n'a pas besoin d'itérer sur toutes les règles lorsque ce n'est pas nécessaire et que certaines séquences de caractères dans le texte peuvent être traitées différemment en fonction du contexte actuel.
Les contextes peuvent être générés dynamiquement pour permettre l'utilisation de données spécifiques à des instances dans les règles.
Dans certains langages de programmation, les nombres entiers sont traités différemment des nombres à virgule flottante par le compilateur (le programme qui convertit le code source en exécutable binaire) et on peut trouver des caractères ayant une signification spéciale au sein d'une chaîne entre guillemets. Dans de tels cas, il est judicieux de les rendre différemment de ceux qui sont voisins, pour qu'ils soient faciles à identifier lors de la lecture du texte. Donc, même s'ils ne représentent pas des contextes spéciaux, ils peuvent être considérés comme tels par le système de coloration syntaxique, de façon à pouvoir être marqués pour un rendu différent.
Une définition syntaxique peut contenir autant de styles que nécessaire pour couvrir les concepts du format pour lequel elle est utilisée.
Dans de nombreux formats, il existe des listes de mots qui représentent un concept spécifique. Par exemple, dans les langages de programmation, les instructions de contrôle sont un concept, les noms de types de données un autre et les fonctions intégrées du langage un troisième. Le système de coloration syntaxique de Kate peut faire appel à de telles listes pour détecter et marquer des mots dans le texte afin de mettre en exergue les concepts des formats de texte.
Si vous ouvrez un fichier source C++, un fichier source Java™ et un document HTML dans Kate, vous constatez que, même si les formats sont différents et, donc, que des mots différents sont choisis pour un traitement spécial, les couleurs utilisées sont les mêmes. C'est parce que Kate comporte une liste prédéfinie de styles par défaut qui sont employés par les définitions syntaxiques individuelles.
Ce comportement facilite la reconnaissance de concepts similaires dansdifférents formats de texte. Par exemple, les commentaires sont présents dans presque tout langage de programmation, de scriptage ou de balisage et, lorsqu'ils sont rendus à l'aide du même style dans tous les langages, vous n'avez pas à vous arrêter et à penser à les identifier au sein du texte.
Dans une définition syntaxique, tous les styles utilisent un des styles par défaut. Comme quelques définitions syntaxiques utilisent davantage de styles qu'il n'y en a par défaut, si vous utilisez fréquemment un format, il peut valoir la peine d'ouvrir la boîte de dialogue de configuration pour voir si certains concepts utilisent le même style. Par exemple, il n'y a qu'un style par défaut pour les chaînes, mais comme le langage de programmation Perl fait appel à deux types de chaînes, vous pouvez améliorer la coloration syntaxique en les configurant de manière à les rendre légèrement différentes. Tous les styles par défaut disponibles seront décrits plus tard.
Cette section est une vue d'ensemble du format XML de définition de la coloration syntaxique. S'inspirant d'un court exemple, elle décrira les principaux composants, leur signification et leur utilisation. La suivante détaillera les règles de détection de la coloration syntaxique.
La définition formelle, autrement dit la DTD est mémorisée dans le fichier language.dtd
qui, dans votre système, devrait être installé dans le dossier $
. KDEDIR
/share/apps/kate/syntax
Principales sections des fichiers de définition de coloration syntaxique de Kate
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">
language
. Voici les attributs disponibles :Attributs requis :
name
définit le nom de la langue. Il apparaît dans les menus et les les boîtes de dialogue ensuite.
section
spécifie la catégorie.
extensions
définit les extensions, comme "*.cpp;*.h"
Attributs optionnels :
mimetype
associe les fichiers en fonction du type MIME.
version
spécifie la version actuelle du fichier de définition.
kateversion
spécifie la dernière version prise en charge de Kate.
casesensitive
définit si les mots-clés sont sensibles à la casse ou non.
priority
est nécessaire si une autre définition de coloration syntaxique utilise les mêmes extensions. La priorité la plus élevée l'emporte.
author
contient le nom de l'auteur et son adresse électronique.
license
contient la licence, habituellement, LGPL, Artistic, GPL et autres.
hidden
définit su le nom devra apparaître ou non dans les menus de Kate.
Ainsi, voici à quoi la ligne suivante peut ressembler :
<language name="C++" version="1.00" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" />
highlighting
element, which contains the optional element list
and the required elements contexts
and itemDatas
.Les éléments list
contiennent une liste de mots-clés. Dans ce cas, les mots-clés sont class et const. Vous pouvez ajouter autant de listes que nécessaire.
L'élément contexts
contient tous les contextes. Le premier contexte est par défaut le début de la coloration syntaxique. Il existe deux règles dans le contexte Normal Text, qui font correspondre la liste de mots-clés avec le nom somename et une règle qui détecte un guillemet et change de contexte dans string. Pour en savoir plus sur les règles, lisez le chapitre suivant.
La troisième partie est l'élément itemDatas
. Il contient tous les styles de couleurs et de polices que nécessitent les contextes et les règles. Dans cet exemple, itemData
Normal Text, String et Keyword sont utilisés.
<highlighting> <list name="somename"> <item> class </item> <item> const </item> </list> <contexts> <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" > <keyword attribute="Keyword" context="#stay" String="somename" /> <DetectChar attribute="String" context="string" char=""" /> </context> <context attribute="String" lineEndContext="#stay" name="string" > <DetectChar attribute="String" context="#pop" char=""" /> </context> </contexts> <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" /> <itemData name="Keyword" defStyleNum="dsKeyword" /> <itemData name="String" defStyleNum="dsString" /> </itemDatas> </highlighting>
general
. Elle peut contenir des informations sur les mots-clés, le pliage du code, les commentaires et l'indentation.La section comment
définit avec quelle chaîne une ligne de commentaire unique est introduite. On peut également définir un commentaire multiligne à l'aide de multiLine avec l'attribut additionnel end. Ce dernier est employé si l'utilisateur fait appel au raccourci clavier correspondant pour comment/uncomment.
La section keywords
définit si les listes de mots-clés sont ou non sensibles à la casse. D'autres attributs seront décrits ultérieurement.
<general> <comments> <comment name="singleLine" start="#"/> </comments> <keywords casesensitive="1"/> </general> </language>
Cette partie décrit tous les attributs disponibles pour les contextes, éléments itemDatas, mots-clés, commentaires, le pliage du code et l'indentation.
context
appartient au groupe contexts
. Un contexte lui-même définit des règles qui lui sont spécifiques comme ce qui devrait se produire si le système de coloration syntaxique atteint la fin d'une ligne. Les attributs disponibles sont les suivants :name
: le nom du contexte. Les règles utiliseront ce nom pour spécifier le contexte dans lequel basculer si la règle correspond.
lineEndContext
: définit le contexte dans lequel le système de coloration syntaxique bascule s'il atteint la fin d'une ligne. Ce peut être soit le nom d'un autre contexte, #stay
pour ne pas changer de contexte (par exemple, ne rien faire) ou #pop
, qui amènera à quitter ce contexte. Il est possible d'employer par exemple #pop#pop#pop
pour obtenir trois pop.
lineBeginContext
: définit le contexte s'il rencontre le début d'une ligne. Par défaut : #stay.
fallthrough
: définit si le système de coloration sy,taxique bascule dans le contexte spécifié dans fallthroughContext si aucune règle ne correspond. Par défaut : false.
fallthroughContext
: spécifie le contexte suivant si aucune règle ne correspond.
dynamic
: si true, le contexte mémorise les chaînes / caractères de remplacement enregistrés par les règles dynamiques. Ceci est nécessaire pour les documents HERE par exemple. Par défaut : false.
itemData
est dans le groupe itemDatas
. Il définit le style des polices et les couleurs. Ainsi, il est possible de définir vos propres styles et couleurs, cependant nous recommandons de coller aux styles par défaut si possible pour que l'utilisateur voie toujours les mêmes couleurs utilisées dans différents langages. Néanmoins, il n'y a parfois aucun moyen et il est nécessaire de changer les attributs de couleur et de police. Les attributs name et defStyleNum sont requis, l'autre optionnel. Les attributs disponibles sont les suivants :name
: définit le nom de l'élément itemData. Les contextes et les règles utiliseront ce nom dans leur attribut attribute pour référencer un élément itemData.
defStyleNum
: définit quel sera le style par défaut à employer. Les styles par défaut disponibles seront décrits en détail ultérieurement.
color
: définit une couleur. Les formats valides sont '#rrggbb' ou '#rgb'.
selColor
: définit la couleur de la sélection.
italic
si true : le texte sera en italique.
bold
si true : le texte sera en gras.
underline
si true : le texte sera souligné.
strikeout
si true : le texte sera biffé.
keywords
dans le groupe general
définit les propriétés des mots-clés. Les attributs disponibles sont les suivants :casesensitive
: peut être true ou false. Si true, tous les mots-clés sont mis en correspondance sensibles à la casse.
weakDeliminator
: est une liste de caractères qui n'agissent pas en tant que délimiteurs de mot. Par exemple, le point '.'
est un délimiteur de mot. Supposez qu'un mot-clé dans un élément list
contienne un point, il ne correspondra que si vous spécifiez le point comme un délimiteur faible.
additionalDeliminator
: définit des délimiteurs additionnels.
wordWrapDeliminator
: définit les caractères après lesquels un retour à la ligne peut se produire.
Les délimiteurs par défaut et les délimiteurs de saut de ligne sont les caractères .():!+,-<=>%&*/;?[]^{|}~\
, l'espace (' '
) et la tabulation ('\t'
).
comment
dans le groupe comments
définit les propriétés des commentaires qui sont utilisées pour -> et ->. Voici les attributs disponibles :name
: est soit singleLine soit multiLine. Si vous choisissez multiLine, les attributs end et region sont requis.
start
: définit la chaîne utilisée pour démarrer un commentaire. En C++, ce serait "/*".
end
: définit la chaîne utilisée pour fermer un commentaire. En C++,ce serait "*/".
region
: devrait être le nom du commentaire multiligne repliable. Supposez que vous ayez beginRegion=« Comment » ... endRegion=« Comment » dans vos règles, vous devrez employer region=« Comment ». De cette manière, la suppression des commentaires fonctionne même si vous ne sélectionnez pas tout le texte du commentaire multiligne. Il suffit que le curseur soit dans le commentaire multiligne.
folding
dans le groupe general
définit les propriétés de pliage du code. Les attributs disponibles sont les suivants :indentationsensitive
: si true, les indicateurs de pliage du code seront ajoutés en fonction de l'indentation, comme dans le langage de scriptage Python. Habituellement, vous n'avez pas besoin de le définir, du fait qu'il est réglé par défaut false.
indentation
dans le groupe general
définit quel est l'indenteur à utiliser, cependant nous recommandons vivement d'omettre cet élément, car l'indenteur sera habituellement ajusté soit en définissant un type de fichiers, soit en ajoutant une ligne de mode au fichier texte. Si vous spécifiez un indenteur malgré tout, vous forcerez une indentation spécifique pour l'utilisateur, ce qu'il risque de ne pas apprécier du tout. Les attributs disponibles sont les suivants :mode
: est le nom de l'indenteur. Les indenteurs actuels sont les suivants : normal, cstyle, csands, xml, python et varindent.
Les styles par défaut ont déjà été décrits sous la forme d'un court résumé : les styles par défaut sont les polices et les styles de couleurs prédéfinis.
dsNormal
: utilisé pour le texte normal.
dsKeyword
: utilisé pour les mots-clés.
dsDataType
: utilisé pour les types de données.
dsDecVal
: utilisé pour les valeurs décimales.
dsBaseN
: utilisé pour les valeurs ayant une base autre que 10.
dsFloat
: utilisé pour les valeurs flottantes.
dsChar
: utilisé pour un caractère.
dsString
: utilisé pour les chaînes.
dsComment
: utilisé pour les commentaires.
dsOthers
: utilisé pour les éléments 'autres'.
dsAlert
: utilisé pour les messages d'alerte.
dsFunction
: utilisé pour les appels de fonction.
dsRegionMarker
: utilisé pour les marqueurs de régions.
dsError
: utilisé pour la mise en surbrillance des erreurs et la syntaxe erronée.
Cette section décrit les règles de détection syntaxique.
Chaque règle peut correspondre à zéro ou plusieurs caractères au début de la chaîne par rapport à laquelle ils sont testés. Si la règle correspond, les caractères concordants sont affectés au style ou à l'attribut défini par la règle et une règle peut demander que le contexte actuel soit commuté.
Voici à quoi une règle ressemble :
<RuleName attribute="(identifier)" context="(identifier)" [attributs propres à la règle] />
L'attribut identifie le style à utiliser pour les caractères correspondants par nom, et le contexte identifie le contexte à utiliser à partir de cet endroit.
Le contexte peut être identifié par :
Un identifiant, qui est le nom de l'autre contexte.
Un ordre demandant au moteur de rester dans le contexte actuel (#stay
) ou de revenir à un contexte précédemment utilisé dans la chaîne (#pop
).
Pour reculer de plusieurs étapes, le mot-clé #pop peut être répété : #pop#pop#pop
.
Certaines règles peuvent avoir des sous-règles qui ne sont ensuite évaluées que si la règle parent correspondait. La chaîne entière concordante se verra affecter l'attribut défini par la règle parent. Voici à quoi ressemble une règle ayant des sous-règles :
<RuleName (attributes)> <ChildRuleName (attributes) /> ... </RuleName>
Les attributs spécifiques à une règle varient et sont décrits dans les sections suivantes.
Attributs communs
Toutes les règles ont les attributs suivants en commun et sont disponibles chaque fois que (common attributes)
apparaît. attribute et context sont des attributs requis, tous les autres sont optionnels.
attribute : un attribut établit une correspondance vers un itemData défini.
context : spécifie le contexte vers lequel le système de coloration syntaxique bascule si la règle correspond.
beginRegion : démarre un bloc de pliage de code. Par défaut : unset.
endRegion : ferme un bloc de pliage de code. Par défaut : unset.
lookAhead : si true, le système de coloration syntaxique ne traitera pas la longueur des correspondances. Par défaut : false.
firstNonSpace : s'applique uniquement si la chaîne est le premier espace autre qu'un blanc dans la ligne. Par défaut : false.
column : concorde uniquement si la colonne correspond. Par défaut : unset.
Règles dynamiques
Certaines règles autorisent l'attribut optionnel dynamic
de type booléen, qui prend par défaut la valeur false. Si l'attribut dynamic est true, une règle peut utiliser des caractères de remplacement représentant le texte mis en concordance par une règle d'une expression rationnelle qui a commuté vers le contexte actuel dans ses attributs string
ou char
. Dans un attribut string
, le caractère générique %N
(où N est un nombre) sera remplacé par la capture correspondante N
à partir de l'expression rationnelle appelante. Dans un char
, le caractère générique doit être un nombre N
et être remplacé par le premier caractère de la capture correspondante N
à partir de l'expression rationnelle appelante. Chaque fois qu'une règle autorise cet attribut, elle contient un (dynamic).
dynamic : peut être (true|false).
Détecte un seul caractère spécifique. Cette règle est communément utilisée par exemple pour trouver les extrémités de chaînes entre guillemets.
<DetectChar char="(character)" (attributs communs) (dynamic) />
L'attribut char
définit le caractère à faire correspondre.
Détecte deux caractères spécifiques dans un ordre défini.
<Detect2Chars char="(character)" char1="(character)" (attributs communs) (dynamic) />
L'attribut char
définit le premier caractère à faire correspondre, char1
le second.
Détecte un caractère d'un jeu de caractères spécifié.
<AnyChar String="(chaîne)" (attributs communs) />
L'attribut string
définit le jeu de caractères.
Détecte une chaîne exacte.
<StringDetect String="(string)" [insensitive="true|false"] (attributs communs) (dynamic) />
L'attribut string
définit la chaîne à faire correspondre. L'attribut insensitive
prend la valeur par défaut FALSE
et est passé à la fonction de comparaison de la chaîne. Si la valeur est TRUE
, une comparaison insensible est utilisée.
Concorde par rapport à une expression rationnelle.
<RegExpr String="(string)" [insensitive="true|false"] [minimal="true|false"] (attributs communs) (dynamic) />
L'attribut string
définit l'expression rationnelle.
insensitive
prend par défaut la valeur false
et est passé au moteur d'expressions rationnelles.
minimal
prend par défaut la valeur false
et est passé au moteur d'expressions rationnelles.
Du fait que les règles sont toujours concordantes par rapport au début de la chaîne actuelle, une expression rationnelle commençant par un caret (^
) indique que la règle ne devrait être concordante que par rapport au début d'une ligne.
Reportez-vous à la section Expressions rationnelles pour plus d'informations à ce propos.
Détecte un mot-clé dans une liste donnée.
<keyword String="(nom de liste)" (attributs communs) />
L'attribut string
identifie la liste de mots-clés par nom. Une liste contenant ce nom doit exister.
Détecte un nombre entier.
<Int (attributs communs) (dynamic) />
Cette règle n'a aucun attribut spécifique. Des sous-règles sont généralement utilisées pour détecter des combinaisons de L
et de U
après le nombre, indiquant le type d'entier dans le code du programme. En fait, toutes les règles sont autorisées en tant que sous-règles, cependant, la DTD n'autorise que la sous-règle StringDetect
.
L'exemple suivant fait correspondre les nombres entiers, suivis du caractère 'L'.
<Int attribute="Decimal" context="#stay" > <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/> </Int>
Détecte un nombre à virgule flottante.
<Float (attributs communs) />
Cette règle n'a aucun attribut spécifique. AnyChar
est autorisé en tant que sous-règle et généralement utilisé pour détecter des combinaisons. Reportez-vous à la règle Int
pour référence.
Détecte une représentation d'un nombre octal.
<HlCOct (attributs communs) />
Cette règle n'a aucun attribut spécifique.
Détecte une représentation d'un nombre hexadécimal.
<HlCHex (attributs communs) />
Cette règle n'a aucun attribut spécifique.
Détecte un caractère échappé.
<HlCStringChar (attributs communs) />
Cette règle n'a aucun attribut spécifique.
Elle fait correspondre les représentations littérales de caractères communément utilisés dans du code de programme, par exemple \n
(saut de ligne) ou \t
(tabulation).
Les caractères suivants correspondront s'ils suivent une barre oblique inverse (\
) : abefnrtv"'?
. En outre, les nombres hexadécimaux échappés comme par exemple \xff
et les nombres octaux échappés, par exemple \033
correspondront.
Détecte un caractère C.
<HlCChar (attributs communs) />
Cette règle n'a aucun attribut spécifique.
Cette règle fait correspondre les caractères C entourés d'une coche (par exemple : 'c'
). Ainsi, dans les coches, ce peut être un simple caractère ou un caractère échappé. Voir HlCStringChar pour les séquences de caractères échappés.
Détecte une chaîne dont les caractères de début et de fin sont définis.
<RangeDetect char="(caractère)" char1="(caractère)" (attributs communs) />
car
définit le caractère commençant l'intervalle, car2
le caractère terminant l'intervalle.
Utile pour détecter par exemple de petites chaînes entre guillemets et similaires. Notez cependant que, puisque le moteur de coloration syntaxique opère sur une ligne à la fois, il ne trouvera pas de chaînes s'étendant au-delà d'un saut de ligne.
Correspond à la fin de la ligne.
<LineContinue (attributs communs) />
Cette règle n'a aucun attribut spécifique.
Cette règle est utile pour changer de contexte à la fin de la ligne, si le dernier caractère est une barre oblique inverse ('\'
). Nécessaire par exemple en C/C++ pour continuer les macros ou les chaînes.
Inclut des règles provenant d'un autre contexte ou langage/fichier.
<IncludeRules context="contextlink" [includeAttrib="true|false"] />
L'attribut context
définit quel est le contexte à inclure .
S'il s'agit d'une chaîne simple, il inclut toutes les règles définies dans le contexte actuel, par exemple :
<IncludeRules context="anotherContext" />
Si la chaîne commence par ##
, le système de coloration syntaxique cherchera une autre définition de langage avec le nom donné, par exemple :
<IncludeRules context="##C++" />
Si l'attribut includeAttrib
prend la valeur true, changez l'attribut de destination pour celui de la source. Nécessaire pour pouvoir par exemple introduire des commentaires, si le texte mis en correspondance par le contexte inclus est une coloration syntaxique différente du contexte de l'hôte.
Détecte les blancs.
<DetectSpaces (attributs communs) />
Cette règle n'a aucun attribut spécifique.
Utilisez cette règle si vous savez qu'il existe plusieurs blancs à la suite, par exemple au début des lignes indentées. Cette règle ignorera tous les blancs à la fois, au lieu de tester des règles multiples et d'en ignorer une à la fois du fait qu'il n'y a pas de concordance.
Détecte les chaînes d'identificateurs (sous la forme d'une expression rationnelle : [a-zA-Z_][a-zA-Z0-9_]*).
<DetectIdentifier (attributs communs) />
Cette règle n'a aucun attribut spécifique.
Utilisez cette règle pour ignorer une chaîne de caractères de mots à la fois, plutôt que de faire des tests avec des règles multiples et d'en ignorer une à la fois du fait qu'il n'y a pas de concordance.
Une fois que vous avez compris comment fonctionne le changement de contexte, il est facile d'écrire des définitions de coloration syntaxique. Cependant, vous devrez vérifier avec soin la règle à choisir dans telle ou telle situation. Les expressions rationnelles sont très efficaces mais elles sont lentes en comparaison des autres règles. Ainsi, vous pouvez prendre en considération les astuces suivantes.
Si vous n'avez que deux caractères concordants, utilisez Detect2Chars
au lieu de StringDetect
. Il en va de même pour DetectChar
.
Les expressions rationnelles sont faciles à utiliser, mais souvent il existe un autre moyen beaucoup plus rapide d'obtenir le même résultat. Imaginez que vous vouliez simplement établir une correspondance avec le caractère '#'
si c'est le premier caractère dans la ligne. Voici à quoi ressemblerait une solution basée sur une expression rationnelle :
<RegExpr attribute="Macro" context="macro" String="^\s*#" />Vous pouvez arriver au même résultat beaucoup plus rapidement en utilisant :
<DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" />Si vous voulez faire correspondre l'expression rationnelle
'^#'
, utilisez toujours l'attribut DetectChar
avec l'attribut column="0"
. Comme l'attribut column
compte en fonction des caractères, une tabulation représente représente encore un caractère. Vous pouvez changer de contexte sans traiter les caractères. Supposez que vous souhaitiez changer de contexte lorsque vous rencontrez la chaîne */
, mais que vous deviez traiter cette chaîne dans le contexte suivant. La règle ci-dessous correspondra et l'attribut lookAhead
veillera à ce que le système de coloration syntaxique conserve la chaîne concordante pour le prochain contexte.
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
Utilisez DetectSpaces
si vous savez qu'il y a de nombreux blancs.
Utilisez DetectIdentifier
au lieu de l'expression rationnelle '[a-zA-Z_]\w*'
.
Utilisez les styles par défaut chaque fois que vous le pouvez. De cette manière, l'utilisateur trouvera un environnement familier.
Regardez dans d'autres fichiers XML pour voir comment d'autres utilisateurs mettent en œuvre les règles complexes.
Vous pouvez valider chaque fichier XML à l'aide de la commande xmllint --dtdvalid language.dtd mySyntax.xml.
Si vous répétez une expression rationnelle très souvent, vous pouvez employer des entités (ENTITIES). Exemple :
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [ <!ENTITY myref "[A-Za-z_:][\w.:_-]*"> ]>
Maintenant, vous pouvez faire appel à &myref; au lieu de l'expression rationnelle.
Table des matières
Cette annexe contient une introduction brève mais, nous l'espérons, suffisante et complète à l'univers des expressions rationnelles. Elle documente les expressions rationnelles sous la forme disponible dans Kate, qui n'est pas compatible avec les expressions rationnelles de Perl ni avec celles par exemple de grep.
Les expressions rationnelles offrent un moyen de décrire certains contenus possibles d'une chaîne de texte d'une manière comprise par une petite partie de logiciel, de sorte qu'il peut examiner si une chaîne correspond et, également dans le cas d'applications avancées, avec la possibilité d'enregistrer certaines parties ou le texte correspondant.
Un exemple : supposons que vous vouliez rechercher dans un texte des paragraphes qui commencent par l'un des noms « Henri » ou « Pernille » suivi d'une certaine forme du verbe « dire ».
Lors d'une recherche normale, vous commenceriez par rechercher le premier nom, « Henri », éventuellement suivi de « di » comme ceci : Henri di
et tout en cherchant des correspondances, vous auriez à écarter celles qui ne sont pas au début d'un paragraphe, ainsi que celles dans lesquelles le mot commençant par les lettres « di » n'était ni « dit », « disait » ou similaire. Puis, naturellement à répéter tout cela avec le nom suivant...
Grâce aux expressions rationnelles, ce pourrait être chose faite en une seule recherche et avec un degré de précision supérieur.
Pour ce faire, les expressions rationnelles définissent des règles pour spécifier en détail la généralisation d'une chaîne à faire correspondre. Notre exemple, que nous pourrions littéralement exprimer ainsi : « une ligne commençant soit par « Henri », soit par « Pernille » (en suivant le cas échéant jusqu'à 4 blancs ou tabulations) suivie d'une espace, suivie de « di », puis soit de « t » soit de « sait » », pourrait être spécifiée par l'expression rationnelle suivante :
^[ \t]{0,4}(Henri|Pernille) di(t|sait)
L'exemple ci-dessus démontre la totalité des quatre concepts majeurs des expressions rationnelles modernes, à savoir :
Motifs
Assertions
Quantificateurs
Références arrière
Le signe (^
) commençant l'expression est une assertion, qui n'est vraie que si la chaîne correspondante suivante est au début d'une ligne.
Les chaînes « [ \t]
» et « (Henri|Pernille) di(t|sait)
» sont des motifs. Le premier est une classe de caractères qui correspond soit à un blanc, soit à une tabulation (horizontale) ; l'autre motif contient d'abord un sous-motif correspondant soit à « Henri
» soit à « Pernille
», puis un élément correspondant à la chaîne exacte « di
» et, pour finir, un sous-motif correspondant soit à « t
» soit à « sait
».
La chaîne {0,4}
est un quantificateur indiquant « n'importe quel endroit de 0 à 4 de la précédente ».
Du fait qu'un logiciel d'expressions rationnelles prenant en charge le concept de références arrière enregistre la partie entière correspondante de la chaîne ainsi que des sous-modèles entourés de parenthèses, ce qui fournit un moyen d'accès à ces références, nous pourrions obtenir soit l'entière correspondance (lors de la recherche d'un document texte dans un éditeur avec une expression rationnelle qui est souvent marquée comme sélectionnée), soit le nom trouvé, soit la dernière partie du verbe.
Tout compte fait, l'expression correspondra là où nous le voulions, et seulement là.
Les sections suivantes vont décrire en détail la manière de construire et d'utiliser des motifs, des classes de caractères, des assertions, des quantificateurs et des références arrière ; la dernière section donnera quelques exemples utiles.
Les motifs consistent en chaînes littérales et en classes de caractères. Les motifspeuvent contenir des sous-motifs, qui sont des motifs entourés de parenthèses.
Dans les motifs ainsi que dans les classes de caractères, certains caractères ont une signification particulière. Pour faire correspondre littéralement n'importe lequel de ces caractères, ils doivent être marqués ou échappés pour faire savoir au logiciel d'expressions rationnelles qu'il devra interpréter de tels caractères dans leur signification littérale.
Ceci est effectué en ajoutant au début du caractère une barre oblique inverse (\
).
Comme le logiciel d'expressions rationnelles ignorera silencieusement l'échappement d'un caractère qui n'a aucune signification spéciale dans le contexte, l'échappement par exemple d'un « j » (\j
) est fiable. Si vous doutez qu'un caractère puisse avoir une signification spéciale, vous pouvez donc l'échapper en toute sécurité.
L'échappement de la cause inclut le caractère barre oblique inverse lui-même, pour obtenir une telle correspondance, vous devrez écrire \\
.
Une classe de caractères est une expression qui correspond à l'un des ensembles définis de caractères. Dans les expressions rationnelles, les classes de caractères sont définies en plaçant les caractères licites de la classe entre crochets, []
, ou en utilisant une des classes abrégées décrites ci-dessous.
Les classes de caractères simples contiennent juste un ou plusieurs caractères littéraux, par exemple [abc]
(correspondant soit aux lettres « a », « b » soit à « c »), soit à [0123456789]
(correspondant à n'importe quel chiffre).
Du fait que lettres et chiffres ont un ordre logique, vous pouvez les abréger en en spécifiant des plages : [a-c]
est égal à [abc]
et [0-9]
est égal à [0123456789]
. La combinaison de ces structures (constructs), par exemple [a-fynot1-38]
est totalement licite (le dernier correspondrait bien sûr soit à « a », « b », « c », « d », « e », « f », « y », « n », « o », « t », « 1 », « 2 », « 3 », soit à « 8 »).
Comme les majuscules sont des caractères différents de leurs équivalents en minuscules, pour créer une classe de caractères sans casse correspondant à un « a » ou à un « b », de toute façon, vous devez l'écrire [aAbB]
.
Il est bien sûr possible de créer une classe « négative » correspondant à « tout sauf ». Pour placer un caractère (^
) au début de la classe :
[^abc]
correspondra à n'importe quel caractère sauf à « a » ,« b » ou « c ».
En plus des caractères littéraux, certaines abréviations sont définies, ce qui facilite encore un peu plus les choses :
\a
Correspond au caractère ASCII du bip (BEL, 0x07).
\f
Correspond au caractère ASCII de saut de page (FF, 0x0C).
\n
Correspond au caractère ASCII de retour à la ligne (LF, 0x0A, interligne Unix).
\r
Correspond au caractère ASCII de retour chariot (CR, 0x0D).
\t
Correspond au caractère ASCII de tabulation horizontale (HT, 0x09).
\v
Correspond au caractère ASCII de tabulation verticale (VT, 0x0B).
\xhhhh
Correspond au caractère Unicode équivalant au nombre hexadécimal hhhh (entre 0x0000 et 0xFFFF). \0ooo (c'est-à-dire, \zéro ooo) correspond au caractère ASCII/Latin-1 équivalant au nombre octal ooo (entre 0 et 0377).
.
(point)Correspond à n'importe quel caractère (dont le saut de ligne).
\d
Correspond à un chiffre. Égal à [0-9]
.
\D
Correspond à un caractère autre qu'un chiffre. Égal à [^0-9]
ou à [^\d]
.
\s
Correspond à un caractère d'espacement. Pratiquement égal à [\t\n\r]
.
\S
Correspond à un caractère autre qu'un caractère d'espacement. Pratiquement égal à [^ \t\r\n]
et égal à[^\s]
.
\w
Correspond à n'importe quel « caractère mot » — dans ce cas, une lettre ou un chiffre quelconque. Notez que le soulignement (_
) n'est pas concordant comme c'est le cas avec les expressions rationnelles Perl. Égal à [a-zA-Z0-9]
.
\W
Correspond à n'importe quel caractère autre qu'un mot - à n'importe quoi sauf des lettres ou des nombres. Égal à [^a-zA-Z0-9]
ou [^\w]
.
Les classes abrégées peuvent être placées à l'intérieur d'une classe personnalisée, par exemple pour correspondre à un caractère mot, un blanc ou un point, vous pourriez écrire [\w \.]
.
La notation POSIX des classes, [:<nom classe>:]
n'est actuellement pas prise en charge.
Les caractères suivants ont une signification spéciale à l'intérieur de la structure (construct) de classe de caractères « [ ] » et doivent être échappés pour être littéralement inclus dans une classe :
]
Termine la classe de caractères. Doit être échappé à moins qu'il ne soit le tout premier caractère dans la classe (peut suivre un caret ^ non échappé).
^
(caret)Désigne une classe négative s'il s'agit du premier caractère. Doit être échappé pour correspondre littéralement s'il s'agit du premier caractère dans la classe.
-
(tiret)Désigne une plage logique. Doit toujours être échappé au sein d'une classe de caractères.
\
(barre oblique inverse)Le caractère d'échappement. Doit toujours être échappé.
Si vous souhaitez faire correspondre un motif parmi un ensemble de motifs de substitution, vous pouvez les séparer à l'aide de |
(caractère barre verticale).
Par exemple, pour trouver soit « Jean » soit « Henry », vous utiliserez une expression Jean|Henry
.
Les sous-motifs sont des motifs entourés de parenthèses ils ont plusieurs utilisations dans le monde des expressions rationnelles.
Vous pouvez utiliser un sous-motif pour grouper un ensemble d'alternatives au sein d'un motif plus grand. Les alternatives sont séparées par le caractère « | » (barre verticale).
Par exemple, pour faire correspondre l'un des mots « int », « float » ou « double », vous pouvez utiliser le motif ent|flottant|double
. Lorsque vous voulez seulement en trouver un s'il est suivi d'un caractère d'espacement et ensuite de certaines lettres, placez les alternatives à l'intérieur d'un sous-motif : (int|float|double)\s+\w+
.
Si vous voulez employer une référence arrière, faites appel à un sous-motif pour avoir la partie souhaitée du motif en mémoire.
Par exemple, si vous souhaitez trouver deux occurrences du même mot séparées par une virgule et le cas échéant d'un caractère d'espacement, vous pouvez écrire (\w+),\s*\1
. Le sous-motif \w+
trouvera une partie des caractères du mot et l'expression entière correspondra si ceux-ci étaient suivis d'une virgule, de 0 ou plusieurs caractères d'espacement et ensuite une partie égale de caractères mots (la chaîne \1
référence le premier sous-motif entouré de parenthèses).
Une assertion avant est un sous-motif commençant soit par ?=
, soit par ?!
.
Par exemple, pour faire correspondre la chaîne littérale « Jean » mais seulement si elle n'est pas suivie de « XIII », vous pourriez utiliser cette expression : Jean(?! XXIII)
. (Celle-ci trouverait « Jean Bart » ainsi que « Jean Sans Peur », mais ignorerait les autres correspondances.)
Les sous-motifs utilisés pour les assertions ne sont pas capturés.
Reportez-vous également à la section Assertions.
Les caractères suivants ont une signification à l'intérieur d'un motif et doivent être échappés si vous voulez les faire correspondre littéralement :
\
(barre oblique inverse)Le caractère d'échappement.
^
(caret)Déclare le début de la chaîne.
$
Déclare la fin de la chaîne.
()
(parenthèses gauche et droite)Désigne des sous-motifs.
{}
(accolades gauche et droite)Désigne des quantificateurs numériques.
[]
(crochets gauche et droit)Désigne des classes de caractères.
|
(barre verticale)OU logique. Sépare des alternatives.
+
(signe plus)Quantificateur, 1 ou plus.
*
(astérisque)Quantificateur, 0 ou plus.
?
(point d'interrogation)Un caractère optionnel. Peut être interprété comme un quantificateur, 0 ou 1.
Les quantificateurs permettent à une expression rationnelle de faire correspondre un nombre ou une plage spécifiés de nombres soit d'un caractère, soit d'une classe de caractères, soit d'un sous-motif.
Les quantificateurs sont entourés d'accolades ({
et }
) et ont la forme générale {[minimum-occurrences][,[maximum-occurrences]]}
L'usage est mieux expliqué par l'exemple :
{1}
Exactement 1 occurrence.
{0,1}
Zéro ou 1 occurrence.
{,1}
La même chose, avec moins de travail ;).
{5,10}
Au moins 5 mais 10 occurrences au maximum.
{5,}
Au moins 5 occurrences, aucun maximum.
De plus, il y a quelques abréviations :
*
(astérisque)Similaire à {0,}
, trouve n'importe quel nombre d'occurrences.
+
(signe plus)Similaire à {1,}
, au moins 1 occurrence.
?
(point d'interrogation)Similaire à {0,1}
, zéro ou 1 occurrence.
Lors de l'utilisation de quantificateurs sans aucun maximum, les expressions rationnelles tentent par défaut de correspondre à la chaîne recherchée autant qu'il est possible ; ce comportement est communément qualifié d'avide.
Les logiciels modernes d'expressions rationnelles fournissent le moyen d'«invalider l'avidité », bien que dans un environnement graphique, ce soit à l'interface de vous assurer l'accès à cette fonctionnalité. Par exemple, une boîte de dialogue de recherche offrant une recherche d'expressions rationnelles pourrait être dotée d'une case à cocher étiquetée « Correspondance minimale », tout comme elle devrait indiquer si l'avidité est le comportement par défaut.
Voici quelques exemples d'utilisation de quantificateurs :
^\d{4,5}\s
Correspond aux chiffres dans « 1234 aller » et « 12345 maintenant », mais ni dans « 567 onze » ni dans « 223459 quelque_part ».
\s+
Correspond à un ou plusieurs caractères d'espacement.
(bla){1,}
Correspond à tous les « blablabla » et les « bla » dans « blancheur » ou « embla ».
/?>
Fait correspondre « /> » dans « <élément_fermé/> » ainsi que « > » dans « <élément_ouvert> ».
Les assertions permettent à une expression rationnelle de ne correspondre que sous certaines conditions contrôlées.
Une assertion n'a pas besoin d'un caractère pour correspondre, elle étudie plutôt le cadre d'une correspondance possible avant de la reconnaître. Par exemple, l'assertion limite de mot n'essaie pas de trouver un caractère autre qu'un mot par rapport à un mot un à sa position, elle s'assure au contraire qu'il n'y a aucun caractère mot. Cela signifie que l'assertion peut correspondre là où il n'y a aucun caractère, c'est-à-dire aux extrémités d'une chaîne recherchée.
Certaines assertions ont réellement besoin d'un motif auquel correspondre, sauf la partie de la chaîne concordante qui ne fera pas partie du résultat de la correspondance de l'expression entière.
Les expressions rationnelles telles qu'elles sont documentées ici prennent en charge les assertions suivantes :
^
(caret : début de chaîne)Correspond au début de la chaîne recherchée.
L'expression ^Pierre
correspondra à « Pierre » dans la chaîne « Pierre, bonjour ! », mais non dans « Bonjour, Pierre ! ».
$
(fin de chaîne)Correspond à la fin de la chaîne recherchée.
L'expression pas\?$
correspondra au dernier « vous » dans la chaîne « Vous n'avez pas fait cela, n'est-ce pas ? », mais nulle part dans « Vous n'avez pas fait cela, n'est-ce pas ? ».
\b
(limite de mot)Correspond s'il y a un caractère mot d'un côté et aucun caractère mot de l'autre.
Ceci est utile pour trouver des fins de mots, par exemple les deux extrémités pour trouver un mot entier. L'expression \ben\b
correspondra au « en » isolé dans la chaîne « Il est entré en cassant un carreau », mais non au « en » de « entré ».
\B
(limite autre qu'un mot)Correspond partout où « \b » ne correspond pas.
Cela signifie qu'elle correspondra par exemple à l'intérieur des mots : l'expression \Ben\B
correspondra dans « rentier » mais non dans « entré » ni dans « Je suis en France ».
(?=MOTIF
(assertion avant positive)Une assertion avant examine la partie de la chaîne suivant une correspondance possible. L'assertion avant positive empêche la chaîne de correspondre si le texte suivant la correspondance possible ne concorde pas avec le MOTIF de l'assertion, mais le texte mis en correspondance par celui-ci ne sera pas inclus dans le résultat.
L'expression pratique(?=\w)
correspondra à « pratique » dans « pratiquement » mais non dans « C'était très pratique ! ».
(?MOTIF)
(assertion avant négative)L'assertion avant négative empêche une correspondance possible d'être reconnue si la partie suivante de la chaîne recherchée ne correspond pas à son MOTIF.
L'expression const \w+\b(?!\s*&)
correspondra à « const char » dans la chaîne « const char* foo », alors qu'elle ne pourra pas correspondre à « const QChaîne » dans « const QChaîne& barre », du fait que l'entité « & » correspond au motif d'assertion avant négative.
Kate fait partie du projet KDE http://www.kde.org/.
Kate se trouve dans le paquetage kdebase à l'adresse ftp://ftp.kde.org/pub/kde/, le site FTP principal du projet KDE.
Pour compiler et installer Kate sur votre système, saisissez les lignes suivantes dans le dossier de base de la distribution de Kate :
%
./configure
%
make
%
make install
Étant donné que Kate utilise autoconf et automake, vous ne devriez pas rencontrer de problèmes pour le compiler. Si c'est le cas, veuillez les signaler aux listes de discussions de KDE.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team