Das Handbuch zu KatePart

Das Handbuch zu KatePart

Thad McGinnis

Anne-Marie Mahfouf

Anders Lund

T.C. Hollingsworth

developer: Christoph Cullmann
reviewer: Lauri Watts
Übersetzer: Matthias Schulz
Version Neue Frameworks 5.46 (2018-05-21)

KatePart ist eine voll ausgestattete Texteditorkomponente von KDE.


Inhaltsverzeichnis

1. Einleitung
2. Grundsätzliches
Ziehen und Ablegen (Drag and Drop)
Kurzbefehle
3. Arbeiten mit dem Editor von KatePart
Überblick
Navigieren im Text
Arbeiten mit der Auswahl
Blockauswahl benutzen
Benutzen von Auswahl überschreiben
Benutzen von Durchgehende Auswahl
Kopieren und Einfügen von Text
Suchen und Ersetzen von Text
Die Leisten für Suchen und Ersetzen
Suchen von Text
Ersetzen
Lesezeichen benutzen
Automatischer Zeilenumbruch
Automatisches Einrücken benutzen
Kennzeichnung von Änderungen in Textzeilen
Die Textgrafik auf der Bildlaufleiste
4. Die Menüeinträge
Das Menü Datei
Das Menü Bearbeiten
Das Menü Ansicht
Das Menü Lesezeichen
Das Menü Extras
Die Menüs Einstellungen und Hilfe
5. Weiterentwickelte Editierwerkzeuge
Kommentar/Kommentar entfernen
Die integrierte Befehlszeile im Editor
Standardbefehle der Befehlszeile
Benutzen von Quelltextausblendung
6. KatePart erweitern
Einführung
Arbeiten mit Syntax-Hervorhebungen
Überblick
Das KatePart Syntax-Hervorhebungssystem
Die Hervorhebungsdefinition für das XML Format
Hervorhebungs-Erkennungsregeln
Scripting mit JavaScript
Einrückungsskripte
Befehlszeilenskripte
Skript-API
7. Einrichten von KatePart
Einstellungen für die Editor-Komponente
Erscheinungsbild
Schriften & Farben
Bearbeitungseinstellungen
Öffnen/Speichern
Einstellungen mit Dokumentvariablen
Wie KatePart Variablen benutzt
Verfügbare Variablen
Zusätzliche Optionen in .kateconfig-Dateien
8. Danksagungen und Lizenz
9. Der VI-Eingabemodus
VI-Eingabemodus
Inkompatibilitäten mit Vim
Wechseln der Modi
Einbindung in Kate's Funktionen
Unterstützte Befehle im normalen/visuellen Modus
Unterstützte Richtungstasten
Unterstützte Textobjekte
Unterstützte Befehle im Eingabemodus
Das Komma-Textobjekt
Fehlende Funktionen
A. Reguläre Ausdrücke
Einleitung
Muster
Steuerzeichen
Zeichenklassen und Abkürzungen
Alternativen: trifft zu wenn eins von
Untermuster
Zeichen mit speziellen Bedeutungen (Steuerzeichen) innerhalb von Mustern
Quantifizierer
Gier
In Beispielen
Behauptungen
Kapitel 1. Einleitung

Kapitel 1. Einleitung

KatePart ist eine voll ausgestattete Texteditorkomponente, die in vielen Qt™- und KDE-Programmen verwendet wird. KatePart ist mehr als nur ein Texteditor, es ist als Editor für Programmierer gedacht und könnte mindestens als teilweise Alternative zu leistungsfähigeren Editoren betrachtet werden. Einer der wesentlichen Vorteile von KatePart ist die farbige Darstellung von Quelltext, angepasst für viele verschiedene Programmiersprachen wie: C/C++, Java™, Python, Perl, Bash, Modula 2, HTML und Ada.

KWrite ist eine einfache Texteditoranwendung, die auf KatePart aufbaut. KWrite hat eine Oberfläche für das Bearbeiten eines einzelnen Dokumentes (SDI). KWrite ist eine sehr einfache Anwendung, deswegen gibt es keine eigene Dokumentation. Wenn Sie KWrite benutzen können, dann können Sie KatePart überall benutzen.

Kapitel 2. Grundsätzliches

Kapitel 2. Grundsätzliches

KWrite und viele andere Anwendung, die KatePart verwenden, sind sehr einfach zu nutzen. Keiner, der schon einen Texteditor benutzt hat, sollte Probleme damit haben.

Ziehen und Ablegen (Drag and Drop)

KatePart nutzt das Drag-and-Drop-Protokoll von KDE. Dateien können gezogen und auf KatePart abgelegt werden; von der Arbeitsoberfläche, von der Dateiverwaltung Dolphin, oder einer FTP-Seite, die in einem Dolphin-Fenster geöffnet ist.

Kurzbefehle

Kurzbefehle

Viele der Tastenfunktionen (Tastenkürzel) sind einstellbar im Menü Einstellungen. In der Grundeinstellung hat KatePart die folgenden Tastenfunktionen:

Einfg

Umschaltung zwischen Einfüge- und Überschreibmodus. Im Einfügemodus werden alle Zeichen an der Cursor-Position eingefügt und alle Zeichen rechts vom Cursor nach rechts verschoben. Im Überschreibmodus werden die Zeichen rechts vom Cursor sofort durch die neu geschriebenen Zeichen ersetzt.

Pfeil links

Bewegt den Cursor ein Zeichen nach links

Pfeil rechts

Bewegt den Cursor ein Zeichen nach rechts

Pfeil hoch

Bewegt den Cursor um eine Zeile nach oben

Pfeil runter

Bewegt den Cursor um eine Zeile nach unten

Strg+E

Zur vorherigen Bearbeitungszeile gehen

Strg+Umschalt+E

Zur nächsten Bearbeitungszeile gehen

Alt+Umschalt+Pfeil hoch

Cursor zur vorherigen passenden Einrückung verschieben

Alt+Umschalt+Pfeil runter

Cursor zur vorherigen passenden Einrückung verschieben

Strg+6

Zur passenden Klammer

Bild auf

Bewegt den Cursor um eine Seite nach oben

Bild ab

Bewegt den Cursor um eine Seite nach unten

Pos 1

Setzt den Cursor an den Zeilenanfang

Ende

Setzt den Cursor an das Zeilenende

Strg+Pos 1

Zum Dokumentanfang

Strg+Ende

Zum Dokumentende

Strg+Pfeil hoch

Eine Zeile nach oben

Strg+Pfeil runter

Eine Zeile nach unten

Strg+Pfeil rechts

Word nach rechts

Strg+Pfeil links

Wort nach links

Strg+Umschalt+Pfeil hoch

Zeilen nach oben verschieben

Strg+Umschalt+Pfeil runter

Zeilen nach unten verschieben

Strg+Alt+Pfeil hoch

Markierte Zeilen nach oben kopieren

Strg+Alt+Pfeil runter

Markierte Zeilen nach unten kopieren

Strg+B

Lesezeichen hinzufügen

Alt+Bild auf

Voriges Lesezeichen

Alt+Bild ab

Nächstes Lesezeichen

Entf

Löscht das Zeichen rechts vom Cursor (oder den markierten Text)

Rücktaste

Löscht das Zeichen links vom Cursor

Strg+Entf

Wort rechts löschen

Strg+Rücktaste

Wort links löschen

Strg+K

Zeile löschen

Umschalt+Eingabe

Fügt eine neue Zeile mit allen Zeichen der aktuellen Zeile vom Zeilenanfang bis zum ersten Buchstaben oder bis zur ersten Zahl. Dies kann z. B. verwendet werden, um Kommentare in einen Quelltext einzufügen. Am Ende der aktuellen Zeile mit dem Inhalt // ein Text// drücken Sie diese Kurzwahl und eine neue Zeile mit // wird eingefügt. Die Kommentarzeichen am Beginn einer neuen Zeile für Kommentare müssen dann nicht mehr zusätzlich eingegeben werden.

Umschalt+Pfeil links

Markiert Text ein Zeichen nach links

Umschalt+Pfeil rechts

Markiert Text ein Zeichen nach rechts

Strg+F

Suchen

F3

Weitersuchen

Umschalt+F3

Frühere suchen

Strg+H

Auswahl suchen

Strg+Umschalt+H

Auswahl suchen (rückwärts)

Strg+Umschalt+Pfeil rechts

Wort rechts auswählen

Strg+Umschalt+Pfeil links

Wort links auswählen

Umschalt+Pos 1

Bis zum Zeilenanfang markieren

Umschalt+Ende

Bis zum Zeilenende markieren

Umschalt+Pfeil hoch

Bis zur vorherigen Zeile auswählen

Umschalt+Pfeil runter

Bis zur nächsten Zeile auswählen

Strg+Umschalt+6

Bis zur passenden Klammer markieren

Strg+Umschalt+Bild auf

Bis zum oberen Rand der Ansicht auswählen

Strg+Umschalt+Bild ab

Bis zum unteren Rand der Ansicht auswählen

Umschalt+Bild auf

Bis zum Seitenanfang markieren

Umschalt+Bild ab

Bis zum Seitenende markieren

Strg+Umschalt+Pos 1

Bis zum Dokumentanfang markieren

Strg+Umschalt+Ende

Bis zum Dokumentende markieren

Strg+Pos 1

Alles auswählen

Strg+Umschalt+A

Auswahl aufheben

Strg+Umschalt+B

Blockauswahlmodus

Strg+C / Strg+Einfg

Kopiert den markierten Text in die Zwischenablage.

Strg+D

Kommentar

Strg+Umschalt+D

Kommentar entfernen

Strg+G

Gehe zu Zeile ...

Strg+I

Einrücken

Strg+Umschalt+I

Einrücken rückgängig

Strg+J

Zeilen zusammenführen

Strg+P

Drucken

Strg+R

Ersetzen

Strg+S

Führt den Befehl Sichern aus.

Strg+Umschalt+S

Speichern unter

Strg+U

Großschreibung

Strg+Umschalt+U

Kleinschreibung

Strg+Alt+U

Großschreibung am Wortanfang

Strg+V / Umschalt+Einfg

Inhalt der Zwischenablage in die aktuelle Zeile einfügen.

Strg+X / Umschalt+Einfg

Markierten Text löschen und in die Zwischenablage kopieren.

Strg+Z

Rückgängig

Strg+Umschalt+Z

Wiederherstellen

Strg+-

Schrift verkleinern

Strg++Strg+=

Schrift vergrößern

Strg+Umschalt+-

Oberste Ebene einklappen

Strg+Umschalt++

Oberste Ebene ausklappen

Strg+Leertaste

Quelltextvervollständigung aufrufen

F5

Erneut laden

F6

Symbolspalte anzeige/ausblenden

F7

Auf Befehlszeile umschalten

F9

Markierungen für Quelltextausblendungen anzeigen/ausblenden

F10

Dynamischer Zeilenumbruch

F11

Zeilennummern anzeigen/ausblenden

Strg+T

Zeichen tauschen

Strg+Umschalt+O

Automatische Rechtschreibprüfung

Strg+Umschalt+V

Zu nächstem Eingabemodus wechseln

Strg+8

Wort oben erneut verwenden

Strg+9

Wort unten erneut verwenden

Strg+Alt+#

Abkürzung ausschreiben

Kapitel 3. Arbeiten mit dem Editor von KatePart

Kapitel 3. Arbeiten mit dem Editor von KatePart

Anders Lund

Dominik Haumann

GUI-Übersetzung: Thomas Diehl
Deutsche Übersetzung: Matthias Schulz

Überblick

Der Editor von KatePart ist der Bearbeitungsbereich des KatePart-Fensters. Dieser Editor wird von Kate und KWrite benutzt und kann von Konqueror für das Anzeigen von Textdateien vom lokalen Computer oder dem Netzwerk benutzt werden.

Der Editor besteht aus den folgenden Bestandteilen:

Dem Editorbereich

Das ist der Bereich, in den der Text Ihres Dokuments geladen wird.

Die Bildlaufleisten

Die Bildlaufleisten zeigen die Position des sichtbaren Teils des Dokuments und können benutzt werden, um sich im Dokument zu bewegen. Ziehen an den Bildlaufleisten verändert nicht die Position des Cursors.

Die Bildlaufleisten werden nur bei Bedarf angezeigt.

Die Symbolspalte

Die Symbolspalte ist ein kleines Feld an der linken Seite des Editorfensters, das kleine Symbole neben markierten Zeilen anzeigt.

Sie können Lesezeichen in sichtbaren Zeilen setzen oder entfernen, indem Sie mit der linken Maustaste neben der Zeile in die Symbolspalte klicken.

Die Anzeige der Symbolspalte wird mit AnsichtSymbolspalte anzeigen ein- und ausgeschaltet.

Die Zeilennummernspalte

Die Zeilennummernspalte zeigt die Zeilennummern aller sichtbaren Zeilen des Dokuments.

Die Anzeige der Zeilennummernspalte wird mit AnsichtZeilennummern anzeigen ein- und ausgeschaltet.

Die Quelltext-Ausblendungsspalte

Die Quelltext-Ausblendungsspalte erlaubt das Ein- und Ausblenden von Blöcken im Quelltext von Programmiersprachen. Die Festlegung von Anfang und Ende der Blöcke erledigt KatePart nach den Regeln in der Hervorhebungsdefinition für das aktuelle Dokument.

Navigieren im Text

Navigieren im Text

Das Bewegen im Text funktioniert in KatePart genauso wie in anderen grafischen Editoren. Sie können den Cursor mit den Pfeiltasten bewegen und die Tasten Bild auf, Bild ab, Pos1 und Ende benutzen. Dies Alles funktioniert auch in Kombination mit den Tasten Strg und den Umschalttasten. Die Umschalttasten werden zum Auswählen benutzt, die Strg-Tasten haben verschiedene Bedeutungen bei verschiedenen Tasten:

  • In Verbindung mit den Tasten Pfeil auf und Pfeil ab wird mit diesen Tasten das Bild gerollt .

  • In Verbindung mit den Tasten Pfeil links und Pfeil rechts wird mit diesen Tasten der Cursor wortweise bewegt.

  • In Verbindung mit den Tasten Bild auf und Bild ab wird mit diesen Tasten der Cursor an den oberen oder unteren Bildrand bewegt.

  • In Verbindung mit den Tasten Pos 1 und Ende wird mit diesen Tasten der Cursor an den Anfang oder das Ende des Dokuments bewegt und nicht an den Anfang oder das Ende der Zeile.

KatePart stellt außerdem einen schnellen Weg bereit, um den Cursor auf eine zugehörige Klammer zu bewegen: Platzieren Sie den Cursor direkt neben eine Klammer und drücken Sie die Kombination Strg+6. Der Cursor wird zur zugehörigen öffnenden oder schließenden Klammer bewegt.

Sie können auch Lesezeichen benutzen, um den Cursor schnell auf vorher selbst definierte Positionen zu bewegen.

Arbeiten mit der Auswahl

Arbeiten mit der Auswahl

Es gibt grundsätzlich zwei Wege, Text in KatePart zu markieren: mit der Maus oder mit der Tastatur.

Mit der Maus wird Text markiert, indem Sie mit der linken Maustaste auf den gewünschten Anfangspunkt klicken, die linke Maustaste gedrückt halten, den Mauszeiger an den gewünschten Endpunkt ziehen und dort die linke Maustaste loslassen. Der Text wird beim Ziehen markiert.

Doppelklicken auf ein Wort wählt dieses Wort aus.

Dreifachklicken auf eine Zeile wählt diese Zeile aus.

Wenn während des Klickens die Umschalttaste gedrückt ist, wird Text wie folgt ausgewählt:

  • Wenn noch kein Text ausgewählt ist, wird der Text von der Text-Cursor-Position bis zur Mauszeigerposition ausgewählt.

  • Wenn bereits eine Auswahl existiert, wird von dieser Auswahl diese Auswahl einschließend, bis zur Mauszeigerposition ausgewählt.

Anmerkung

Wenn Sie Text mit der Maus auswählen, wird dieser automatisch in die Zwischenablage kopiert und kann dann durch Klicken mit der mittleren Maustaste in eine beliebige Stelle eingefügt werden, auch außerhalb von KatePart in eine andere Anwendung.

Zum Auswählen von Text mit der Tastatur setzen Sie den Cursor auf die gewünschte Anfangsposition, halten die Umschalt-Taste gedrückt und bewegen dann den Cursor mit den Cursor-Tasten oder mit Bild auf, Bild ab,Pos 1 und Ende an die Endposition. Wenn Sie beim Bewegen des Cursors die Taste Strg gedrückt halten, springt der Cursor wortweise in die gewünschte Richtung.

Sehen Sie auch unter Navigieren im Text weiter oben in diesem Kapitel nach.

Zum Kopieren der aktuellen Auswahl, wählen Sie BearbeitenKopieren im Menü oder benutzen Sie den Tastaturkurzbefehl (standardmäßig Strg+C).

Zum Aufheben der aktuellen Auswahl wählen Sie BearbeitenAuswahl aufheben im Menü, benutzen Sie den Tastaturkurzbefehl (standardmäßig Strg+Umschalt+A) oder Klicken Sie mit der linken Maustaste irgendwo in das Editorfenster.

Blockauswahl benutzen

Wenn die Blockauswahl eingeschaltet ist, können Sie senkrechte Auswahlen im Text machen. Sie können also rechteckige Abschnitte mitten im Text auswählen, was sehr hilfreich z. B. für das Arbeiten mit Tabellen ist.

Die Blockauswahl können Sie im Menü mit BearbeitenBlockauswahlmodus oder mit der Taste Strg+Umschalt+B ein- und ausschalten.

Benutzen von Auswahl überschreiben

Wenn die Option „Auswahl überschreiben“ eingeschaltet ist, dann wird die Auswahl bei der Eingabe von Text oder beim Einfügen von Text durch den eingegebenen oder eingefügten Text ersetzt. Ist sie ausgeschaltet, wird der neue Text an der Text-Cursor-Position eingefügt.

Die Option Auswahl überschreiben ist standardmäßig eingeschaltet.

Die Einstellung für diese Option wird auf der Seite Cursor & Auswahl im Einrichtungsdialog festgelegt.

Benutzen von Durchgehende Auswahl

Wenn diese Option eingeschaltet ist, dann bleibt die Auswahl erhalten, wenn Text eingegeben wird oder der Cursor bewegt wird.

Die Option Durchgehende Auswahl ist standardmäßig ausgeschaltet.

Die Einstellung für diese Option wird auf der Seite Cursor & Auswahl im Einrichtungsdialog festgelegt.

Warnung

Wenn beide Optionen; Durchgehende Auswahl und Auswahl überschreiben; eingeschaltet sind, wird die Auswahl ersetzt, wenn in der Auswahl Text eingegeben oder eingefügt wird. Außerdem wird die Auswahl aufgehoben.

Kopieren und Einfügen von Text

Kopieren und Einfügen von Text

Zum Kopieren von Text, wählen Sie diesen aus und benutzen Sie dann BearbeitenKopieren aus dem Menü. Sie können auch die Markierung mit der Maus vornehmen und das Kopieren in die Zwischenablage erfolgt automatisch.

Zum Einfügen von Text aus der Zwischenablage benutzen Sie BearbeitenEinfügen aus dem Menü.

Sie können auch Text, der mit der Maus ausgewählt wurde, durch Klicken mit der mittleren Maustaste auf die gewünschte Stelle einfügen.

Tipp

Wenn Sie die KDE-Arbeitsumgebung benutzen, dann können Sie früher kopierten Text von allen Anwendungen in der Zwischenablage durch Klicken auf das KlipperSymbol in der Kontrollleiste; wiederfinden.

Suchen und Ersetzen von Text

Suchen und Ersetzen von Text

Die Leisten für Suchen und Ersetzen

KatePart enthält eine Suchleiste für die inkrementelle Suche sowie eine erweiterte Suchleiste, die Suchen und Ersetzen mit einigen Extra-Optionen unterstützt.

Beide Leisten bieten die folgenden gemeinsamen Optionen:

Suchen

Hier geben Sie den zu suchenden Text ein. Die Auswertung hängt von einigen der nachfolgend beschriebenen Optionen ab.

Groß-/Kleinschreibung beachten

Wenn eingeschaltet, wird die Groß-/Kleinschreibung beim Suchen beachtet.

Die erweiterte Leiste für Suchen und Ersetzen bietet zusätzliche Einstellungen an:

Einfacher Text

Findet alle Vorkommen des Suchtextes.

Ganze Wörter

Wenn dies ausgewählt ist, wird die Suche nur dann als gefunden betrachtet, wenn eine Wortgrenze an beiden Seiten des Suchtextes steht, ein nicht alphanumerisches Zeichen - Leerzeichen, Zeilenende oder Sonderzeichen.

Escape-Sequenzen

Wenn diese ausgewählt ist, wird der Menüeintrag Hinzufügen in den Kontextmenüs der Textfelder unten angezeigt, der es Ihnen ermöglicht, dem Suchkriterium Escape-Sequenzen aus einer vordefinierten Liste hinzuzufügen.

Regulärer Ausdruck

Wenn dieses Feld angekreuzt ist, wird der Suchtext als regulärer Ausdruck ausgewertet. Ein Menüeintrag Hinzufügen wird in den Kontextmenüs der Textfelder unten angezeigt und es können reguläre Ausdrücke zum Suchtext von einer vordefinierten Liste hinzugefügt werden.

Im Abschnitt Reguläre Ausdrücke finden Sie weitere Informationen dazu.

Suchen nur in markiertem Text

Wenn dieses Feld angekreuzt ist, wird die Suche nur im ausgewählten Text durchgeführt.

Alle suchen

Das Klicken auf diesen Knopf hebt alle Fundstellen im Dokument hervor und zeigt die Anzahl der Fundstellen in einem kleinen Fenster an.

Suchen von Text

Um einen Text zu suchen, öffnen Sie die inkrementelle Suchleiste, indem Sie Strg+F drücken, oder aus dem Menü BearbeitenSuche ... auswählen.

Öffnet die Zusatzleiste für inkrementelle Suche im Editor-Fenster. An der linken Seite der Leiste finden Sie ein Symbol zum Schließen der Suchleiste, daneben befindet sich ein kleines Eingabefeld, in das Sie den gewünschten Suchbegriff eingeben können.

Sobald Sie die ersten Zeichen in das Textfeld eingeben, beginnt die Suche. Fundstellen werden im Text hervorgehoben und die Hintergrundfarbe des Textfeldes wird grün gefärbt. Falls keine Fundstellen gefunden werden, wird der Hintergrund rot eingefärbt.

Mit den Knöpfen und können Sie zur nächsten bzw. vorherigen Fundstelle im Dokument springen.

Die im Dokument gefundenen Textstellen bleiben auch dann noch hervorgehoben, wenn Sie die Suchleiste schließen. Drücken Sie die Taste Esc, um die Hervorhebungen auszuschalten.

Wenn aktiviert ist, wird die Groß- und Kleinschreibung beim Suchen beachtet.

Klicken Sie auf auf der rechten Seite der Suchleiste, um zwischen der inkrementellen und der erweiterten Suche zu wechseln.

Sie können die letzte Suche wiederholen ohne die Suchleiste erneut zu öffnen. Verwenden Sie dazu BearbeitenWeitersuchen (F3) oder BearbeitenFrühere suchen (Umschalt+F3).

Ersetzen

Um Text zu suchen und ersetzen, öffnen Sie die erweiterte Suche über BearbeitenErsetzen, oder drücken Sie den Kurzbefehl Strg+R.

Links oben in der Leiste finden Sie das Symbol, um die Leiste wieder zu schließen. Daneben befindet sich ein Texteingabefeld, in das Sie den Suchbegriff eingeben müssen.

Sie können das Verhalten der Suche mit den Optionen Einfacher Text, Ganze Wörter, Escape-Sequenzen und Regulärer Ausdruck im Auswahlfeld beeinflussen.

In den Modi Escape-Sequenzen und Regulärer Ausdruck wird der Knopf Hinzufügen ... unten im Kontextmenü verfügbar, über den Sie vordefinierte Zeichen/Ausdrücke für diese Modi aus einer Liste als Such- oder Ersetzungsmuster hinzufügen können.

Mit den Knöpfen und können Sie zur nächsten bzw. vorherigen Fundstelle im Dokument springen.

Geben Sie den Ersatztext in das Eingabefeld Ersetzen ein und drücken Sie anschließend den Knopf Ersetzen rechts daneben um die markierte Fundstelle entsprechend zu ersetzen, oder drücken Sie Alle ersetzen, um alle Fundstellen im ganzen Dokument zu ersetzen.

Sie können das Verhalten von Suchen und Ersetzen mit den verschiedenen Einstellungen unten in der Leiste ändern. Mit werden nur Übereinstimmungen gefunden, die in Groß-/Kleinschreibung Ihrem Suchtext entsprechen. Mit wird der Suchen/Ersetzen-Vorgang nur innerhalb des ausgewählten Textes ausgeführt. Die Einstellung Alle hervorheben bewirkt, dass alle Fundstellen farbig hinterlegt werden und die Anzahl der Fundstellen in einem kleinen Fenster angezeigt wird. (Auch, wenn noch keine Ersetzung stattgefunden hat. Dies kann nützlich sein, um auf einen Blick zu sehen, an welchen Stellen im Dokument Ersetzungen erfolgen würden, wenn Sie auf Alle ersetzen klicken.)

Klicken Sie auf rechts in der Suchleiste, um von der erweiterten Suche zur einfachen Suche zu wechseln.

Tipp

Wenn Sie einen Regulären Ausdruck verwenden, um den Suchtext zu finden, können Sie Referenzen auf den gefundenen Text verwenden, um den gefundenen Text weiterzuverwenden.

Im Abschnitt Reguläre Ausdrücke finden Sie weitere Informationen dazu.

Tipp

Sie können die Befehle find, replace und ifind (Weitersuchen) der Befehlszeile benutzen.

Lesezeichen benutzen

Lesezeichen benutzen

Die Lesezeichenfunktion markiert bestimmte Zeilen, damit Sie diese einfach wiederfinden.

Sie können Lesezeichen auf zwei Arten setzen oder entfernen:

  • Setzen Sie den Text-Cursor auf die Zeile und benutzen Sie LesezeichenLesezeichen setzen im Menü oder den Tastaturkurzbefehl (Strg+B).

  • Klicken auf den Symbolrand neben dieser Zeile.

Gesetzte Lesezeichen werden zum Menü Lesezeichen hinzugefügt. Die einzelnen Lesezeichen werden zu Menüeinträgen mit der Zeilennummer und den ersten Zeichen der Zeile als Name. Klicken Sie einfach auf den Menüeintrag und der Text-Cursor springt zur gewünschten Zeile.

Zum schnellen Bewegen des Cursors zwischen Lesezeichen oder zum nächsten/vorherigen Lesezeichen, benutzen Sie den Menüpunkt LesezeichenNächstes (Alt+Bild auf) oder LesezeichenVorheriges (Alt+Bild ab).

Automatischer Zeilenumbruch

Automatischer Zeilenumbruch

Diese Funktion gestattet die Formatierung von Text in einem sehr einfachen Weg. Es werden Zeilenvorschübe eingefügt, sodass keine Zeile die vorgegebene Zeilenlänge überschreitet. Text ohne Leerzeichen, der länger als die Zeilenlänge ist, kann hiermit nicht formatiert werden.

Zum Ein- und Ausschalten diese Funktion dient das Ankreuzfeld Statischer Zeilenumbruch auf der Seite Editor im Einrichtungsdialog.

Die maximale Zeilenlänge wird im Feld Zeilenumbruch bei auf der Seite Bearbeitung im Einrichtungsdialog eingestellt.

Wenn diese Option eingeschaltet ist, funktioniert der automatische Zeilenumbruch wie folgt:

  • Wenn Text eingegeben wird, fügt der Editor automatisch Zeilenvorschübe nach dem letzten Leerzeichen, das die Zeilenlänge noch nicht erreicht, ein.

  • Wenn ein Dokument geladen wird, wird genauso verfahren, sodass im Dokument danach keine Zeile mehr existiert, die länger als die maximale Zeilenlänge ist, solange in allen Zeilen Leerzeichen existieren, die dieses erlauben.

Anmerkung

Es gibt keine Möglichkeit die Zeilenlänge dokumentenabhängig zu setzen oder ein- und auszuschalten. Dies wird in einer späteren Version von KatePart möglich werden.

Automatisches Einrücken benutzen

Automatisches Einrücken benutzen

KateParts Editorkomponente unterstützt verschiedene Varianten des automatischen Einrückens. Diese sind für verschiedene Textformate gedacht. Sie können im Menü ExtrasEinrückung aus den vorhandenen Varianten eine auswählen. Der Modul für das automatische Einrücken stellt auch eine Funktion ExtrasAusrichten bereit, die die Einrückung der markierten oder der aktuellen Zeile neu berechnet. Damit können Sie durch Markieren des gesamten Textes und Nutzung dieser Funktion das Dokument neu ordnen lassen.

Alle Einrückungsmodi benutzen die Einstellungen für Einrückungen für das aktuelle Dokument.

Tipp

Sie können alle Einstellungsvariablen, auch die für Einrückungen, setzen, indem Sie Dokumentvariablen und Dateitypen benutzen.

Verfügbare Einrückungsmethoden

Kein

Diese Einstellung schaltet das automatische Einrücken ab.

Normal

Diese Einstellung rückt die aktuelle Zeile genau so ein, wie die vorhergehende Zeile. Die ersten Nichtleerzeichen der beiden Zeilen stehen genau untereinander. Sie können diese Einstellung mit den Befehlen für Einrücken und Einrücken rückgängig kombinieren, um die Einrückung nach Ihrem persönlichen Geschmack einzustellen.

C-Stil

Eine Einrückung für C und ähnliche Programmiersprachen, wie C++, C#, Java, Javascript usw. Diese Einrückung funktioniert nicht mit Skriptsprachen wie Perl oder PHP.

Haskell

Eine Einrückung speziell für die Skriptsprache Haskell.

LilyPond

Eine Einrückung speziell für die Lilypond-Schreibweise für Musik.

Lisp

Eine Einrückung speziell für die Skriptsprache Lisp und deren Dialekte.

Python

Eine Einrückung speziell für die Skriptsprache Python.

XML-Stil

Eine Einrückung speziell für XML.

Kennzeichnung von Änderungen in Textzeilen

Kennzeichnung von Änderungen in Textzeilen

Mit der Kennzeichnung von Änderungen in Textzeilen in KatePart können Sie leicht erkennen, was gerade in einer Datei geändert wurde. In der Voreinstellung werden gespeicherte Änderungen werden mit grünen und noch nicht gespeicherte Änderungen mit orangefarbenen Balken links im Textfenster angezeigt.

Kennzeichnung von Änderungen in Textzeilen in Aktion

Sie können die verwendeten Farben im Einrichtungsdialog auf der Seite Schriften & Farben ändern oder diese Funktion auf der Karteikarte Randbereiche auf der Seite Erscheinungsbild ganz abschalten.

Die Textgrafik auf der Bildlaufleiste

Die Textgrafik auf der Bildlaufleiste

Die Textgrafik auf der Bildlaufleiste von KatePart zeigt eine Vorschau des Dokuments anstatt der normalen Bildlaufleiste. Der zurzeit sichtbare Teil des Dokuments ist hervorgehoben.

Die Textgrafik auf der Bildlaufleiste zeigt eine Vorschau von Kates Quelltext.

Sie können die Textgrafik auf der Bildlaufleiste temporär mit AnsichtTextgrafik auf Bildlaufleiste anzeigen oder dauerhaft auf der Seite Erscheinungsbild im Einrichtungsdialog von KatePart ein- oder ausschalten.

Kapitel 4. Die Menüeinträge

Kapitel 4. Die Menüeinträge

Das Menü Datei

DateiNeu (Strg+N)

Öffnet ein neues Dokument in einem neuen, unabhängigen Editor-Fenster.

DateiÖffnen ... (Strg+O)

Hier erscheint ein KDE-Standarddialog zum Datei öffnen. Benutzen Sie das Dateifenster zum Auswählen der Datei, die Sie bearbeiten wollen und klicken Sie auf OK um die Datei zu öffnen.

DateiZuletzt geöffnete Dateien

Ist eine Abkürzung für das Öffnen der letzten bearbeiteten Dateien. Dieser Menüpunkt öffnet eine Liste mit einigen zuletzt bearbeiteten Dateien. Klicken auf eine der Dateien öffnet diese in KatePart - wenn diese Datei noch am selben Ort gespeichert ist.

DateiSpeichern (Strg+S)

Speichert die aktuelle Datei. Wenn diese noch nicht gesichert war, wird der Dialog Speichern unter geöffnet, ansonsten wird ohne Nachfrage überschrieben.

DateiSpeichern unter ... (Strg+Umschalt+S)

Speichert die Datei unter einem neuen Dateinamen. Die Auswahl des Dateinamens erfolgt durch einen Dialog wie bei Öffnen beschrieben.

DateiMit Kodierung speichern unter ...

Speichert ein Dokument unter einem neuen Dateinamen in einer anderen Kodierung.

DateiKopie speichern unter

Speichert eine Kopie des Dokument unter einem neuen Dateinamen, die Bearbeitung des ursprünglichen Dokuments wird fortgesetzt.

DateiErneut laden (F5)

Lädt die aktive Datei erneut vom Speichermedium. Dieser Befehl ist hilfreich, wenn ein anderes Programm oder ein anderer Prozess die Datei verändert hat, während diese in KatePart geöffnet war.

DateiDrucken ... (Strg+P)

Öffnet ein einfaches Dialogfenster, in dem der Benutzer einstellen kann, was, wo und wie zu drucken ist.

DateiAls HTML exportieren ...

Speichert das aktuelle geöffnete Dokument als HTML-Datei, die derzeitige Formatierung mit Hervorhebungen und Farbeinstellungen wird übernommen.

DateiSchließen (Strg+W)

Dieser Befehl schließt die aktive Datei. Wenn Sie Änderungen vorgenommen haben, die noch nicht gesichert wurden, dann fragt KatePart vor dem Schließen nach, ob diese gesichert werden sollen.

DateiBeenden (Strg+Q)

Schließt das Editorfenster. Wenn Sie jedoch mehrere KatePart-Ansichten geöffnet haben, z. B. durch Neue oder Neues Fenster werden die anderen KatePart-Ansichten nicht geschlossen.

Das Menü Bearbeiten

Das Menü Bearbeiten

BearbeitenRückgängig (Strg+Z)

Macht den letzten Bearbeitungsbefehl rückgängig

Anmerkung

Dieser Befehl kann eine Gruppe von gleichartigen Bearbeitungsbefehlen rückgängig machen, z. B. die Eingabe von Zeichen.

BearbeitenWiederherstellen (Strg+Umschalt+Z)

Macht das letzte Rückgängig (wenn vorhanden) rückgängig.

BearbeitenAusschneiden (Strg+X)

Schneidet den ausgewählten Text aus und kopiert diesen in die Zwischenablage. Die Zwischenablage funktioniert unsichtbar und ist eine Möglichkeit, Daten zwischen Anwendungen zu übertragen.

BearbeitenKopieren (Strg+C)

Kopiert den ausgewählten Text in die Zwischenablage, sodass dieser an einer anderen Stelle eingefügt werden kann. Die Zwischenablage funktioniert unsichtbar und ist eine Möglichkeit, Daten zwischen Anwendungen zu übertragen.

BearbeitenEinfügen (Strg+V)

Fügt den ersten Eintrag in der Zwischenablage an der Cursor-Position ein. Die Zwischenablage funktioniert unsichtbar und ist eine Möglichkeit, Daten zwischen Anwendungen zu übertragen.

Anmerkung

Wenn die Option Auswahl überschreiben eingeschaltet ist, dann überschreibt der eingefügte Text eine vorhandene Auswahl.

BearbeitenVerlauf der Zwischenablage

In diesem Untermenü wird der Anfang von Texten angezeigt, die zuletzt in die Zwischenablage kopiert wurden. Wählen Sie einen dieser Einträge, um ihn in die aktuell geöffnete Datei einzufügen.

BearbeitenAls HTML kopieren

Kopiert die Auswahl als HTML, formatiert mit den derzeitigen Hervorhebungen und Farbschemaeinstellungen.

BearbeitenAlle auswählen (Strg+A)

Die gesamte Datei wird ausgewählt. Dies ist besonders zum Kopieren der gesamten Datei in eine andere Anwendung nützlich.

BearbeitenAuswahl aufheben (Strg+Umschalt+A)

Hebt eine vorhandene Auswahl auf.

BearbeitenBlockauswahlmodus (Strg+Umschalt+B)

Schaltet zwischen den beiden Arten des Auswahlmodus um. Wenn der Auswahlmodus BLOCK eingeschaltet ist, dann wird [BLOCK] in der Statusleiste angezeigt und Sie können Sie rechteckige Bereiche wie zum Beispiel die Spalten 5 bis 10 in den Zeilen 9 bis 15 auswählen.

BearbeitenAls HTML kopieren

Wechselt zwischen einem normalen und einem VI-ähnlichen modalen Bearbeitungsmodus Im Vi-Modus können viele Vi-Befehle für den Normalen und Visual-Modus benutzt werden. Außerdem kann für diesen Modus eine zusätzliche Statusleiste angezeigt werden, sie zeigt Befehle an, während sie eingegeben werden, sowie die Ausgabe von VI-Befehlen und den aktuellen Modus. Das Verhalten dieses Modus kann auf der Karteikarte VI-Eingabemodusder Seite Bearbeitung des Einrichtungsdialogs von KatePart eingestellt werden.

BearbeitenEinfügen-Modus (Einfg)

Schaltet zwischen den beiden Arten des Eingabemodus um. Wenn der Modus EINF ist, dann setzen Sie die eingegebenen Zeichen an der Stelle des Cursors ein. Wenn der Modus Überschr. ist, dann ersetzt jedes eingegebene Zeichen ein Zeichen rechts vom Cursor. Die Statusleiste zeigt den aktuellen Status des Auswahlmodus an, entweder EINF oder Überschr.

BearbeitenSuchen ... (Strg+F)

Öffnet die Zusatzleiste für inkrementelle Suche im Editor-Fenster. An der linken Seite der Leiste finden Sie ein Symbol zum Schließen der Suchleiste, daneben befindet sich ein kleines Eingabefeld, in das Sie den gewünschten Suchbegriff eingeben können.

Sobald Sie Buchstaben in das Suchfeld eingeben, beginnt die Suche. Wenn eine entsprechende Textstelle gefunden wird, so wird die Fundstelle hervorgehoben und das Suchfeld wird hellgrün hinterlegt. Wenn der gesuchte Text nicht gefunden werden kann, wird das Suchfeld rot hinterlegt.

Mit den Knöpfen und können Sie zur nächsten bzw. vorherigen Fundstelle im Dokument springen.

Die im Dokument gefundenen Textstellen bleiben auch dann noch hervorgehoben, wenn Sie die Suchleiste schließen. Drücken Sie die Taste Esc, um die Hervorhebungen auszuschalten.

Wenn aktiviert ist, wird die Groß- und Kleinschreibung beim Suchen beachtet.

Klicken Sie auf auf der rechten Seite der Suchleiste, um zwischen der inkrementellen und der erweiterten Suche zu wechseln.

BearbeitenSuchaktionenWeitersuchen (F3)

Wiederholt die zuletzt ausgeführte Suche, ohne dass die inkrementelle Suchleiste geöffnet wird und sucht dabei vorwärts von der aktuellen Cursorposition aus.

BearbeitenSuchaktionenFrühere suchen (Umschalt+F3)

Wiederholt die zuletzt ausgeführte Suche, ohne dass die inkrementelle Suchleiste geöffnet wird und sucht dabei rückwärts.

BearbeitenSuchaktionenAuswahl suchen (Strg+H)

Sucht das nächste Vorkommen des markierten Textes.

BearbeitenSuchaktionenAuswahl suchen (rückwärts) (Strg+Umschalt+H)

Sucht nach dem vorherigen Vorkommen des markierten Textes.

BearbeitenErsetzen ... (Strg+R)

Dieser Befehl öffnet den Dialog zum erweiterten Suchen und Ersetzen. Der Knopf oben links schließt die Leiste, daneben finden Sie das Eingabefeld für den Suchbegriff.

Sie können das Verhalten der Suche mit den Optionen Einfacher Text, Ganze Wörter, Escape-Sequenzen und Regulärer Ausdruck beeinflussen.

In den Modi Escape-Sequenzen und Regulärer Ausdruck wird der Knopf Hinzufügen ... unten im Kontextmenü verfügbar, über den Sie vordefinierte Zeichen/Ausdrücke für diese Modi aus einer Liste als Such- oder Ersetzungsmuster hinzufügen können.

Mit den Knöpfen und können Sie zur nächsten bzw. vorherigen Fundstelle im Dokument springen.

Geben Sie den Ersatztext in das Eingabefeld Ersetzen ein und drücken Sie anschließend den Knopf Ersetzen rechts daneben um die markierte Fundstelle entsprechend zu ersetzen, oder drücken Sie Alle ersetzen, um alle Fundstellen im ganzen Dokument zu ersetzen.

Sie können das Verhalten von Suchen und Ersetzen mit den verschiedenen Einstellungen unten in der Leiste ändern. Mit werden nur Übereinstimmungen gefunden, die in Groß-/Kleinschreibung Ihrem Suchtext entsprechen. Mit wird der Suchen/Ersetzen-Vorgang nur innerhalb des ausgewählten Textes ausgeführt. Die Einstellung Alle hervorheben bewirkt, dass alle Fundstellen farbig hinterlegt werden und die Anzahl der Fundstellen in einem kleinen Fenster angezeigt wird. (Auch, wenn noch keine Ersetzung stattgefunden hat. Dies kann nützlich sein, um auf einen Blick zu sehen, an welchen Stellen im Dokument Ersetzungen erfolgen würden, wenn Sie auf Alle ersetzen klicken.)

Klicken Sie auf rechts in der Suchleiste, um von der erweiterten Suche zur einfachen Suche zu wechseln.

BearbeitenGehe zuZur passenden Klammer (Strg+6)

Verschiebt den Cursor zur zugehörigen öffnenden oder schließenden Klammer.

BearbeitenGehe zuBis zur passenden Klammer markieren (Strg+Umschalt+6)

Wählt den Text zwischen der öffnenden oder schließenden Klammer aus.

BearbeitenGehe zuZur vorherigen geänderten Zeile

Zeilen, die seit dem Öffnen der Datei bearbeitet wurden, werden als geänderte Zeilen betrachtet. Diese Aktion geht zur vorherigen geänderten Zeile.

BearbeitenGehe zuZur nächsten geänderten Zeile

Zeilen, die seit dem Öffnen der Datei bearbeitet wurden, werden als geänderte Zeilen betrachtet. Diese Aktion geht zur nächsten geänderten Zeile.

BearbeitenGehe zuGehe zu Zeile ... (Strg+G)

Öffnet die Leiste „Gehe zu“, die zur Eingabe der Zeilennummer dient, an die der Cursor springen soll. Die Zeilennummer kann direkt eingegeben oder durch die Pfeile rechts im Eingabefeld erhöht oder verringert werden. Schließen Sie die Leiste wieder, indem Sie auf das Symbol auf der linken Seite klicken.

Das Menü Ansicht

Das Menü Ansicht

AnsichtNeues Fenster

Öffnet ein neues Fenster mit dem aktuellen Dokument. Alle Änderungen in einem der beiden Fenster werden auch in dem jeweils anderen Fenster erscheinen.

AnsichtAuf Befehlszeile umschalten (F7)

Zeigt die Befehlszeile von KatePart am unteren Rand des Fensters an. Geben Sie hier help für die Hilfe und help list für eine Liste der verfügbaren Befehle ein. Weitere Informationen finden Sie im Kapitel Integrierte Befehlszeile im Editor.

AnsichtSchrift vergrößern (Strg++)

Hiermit wird die Schriftgröße der Anzeige vergrößert.

AnsichtSchrift verkleinern (Strg+-)

Hiermit wird die Schriftgröße der Anzeige verkleinert.

AnsichtSchema

Dieses Menü enthält die verfügbaren Farbschemata. Sie können hier das Schema für die aktuelle Ansicht umschalten. Um das Standardschema zu verändern, benutzen Sie die Seite Schriften & Farben des Einrichtungsdialogs.

AnsichtZeilenumbruchDynamischer Zeilenumbruch (F10)

Dieser Befehl schaltet den dynamischen Zeilenumbruch ein und aus. Durch den dynamischen Zeilenumbruch wird der gesamte Text sichtbar, ohne dass horizontal gerollt werden muss, da der Inhalt einer Zeile wenn nötig in mehreren Zeilen angezeigt wird.

AnsichtZeilenumbruchAnzeigen für dynamischen Zeilenumbruch

Wählen Sie hier, ob und wie die Markierungen für den dynamischen Zeilenumbruch angezeigt werden sollen. Dieser Menüpunkt steht nur zur Verfügung, wenn die Option Zeilenumbruch eingeschaltet ist.

AnsichtZeilenumbruchMarkierung für statischen Zeilenumbruch anzeigen

Wenn eingeschaltet, dann wird eine senkrechte Linie in der Spalte, an der der Zeilenumbruch erfolgt, angezeigt. Die Position wird in EinstellungenEditor einrichten ... auf der Karte Bearbeitung festgelegt. Die Markierung wird nur dann angezeigt, wenn Sie eine Schrift mit fester Buchstabenbreite verwenden.

AnsichtRandbereicheSymbolspalte anzeigen (F6)

Mit diesem Eintrag wird ein zusätzlicher Rand an der linken Seite des aktiven Rahmens ein- oder ausgeschaltet, der Symbole anzeigen kann. Auf dem Symbolrand werden die Positionen von markierten Bereichen im Editor angezeigt.

AnsichtRandbereicheZeilennummern anzeigen (F11)

Dieser Punkt schaltet die Anzeige einer Spalte mit den Zeilennummern am linken Rand des Editorfensters ein und aus.

AnsichtRandbereicheMarkierung für Bildlaufleiste anzeigen

Wenn dieses Feld angekreuzt ist, dann werden im Dokument Markierungen in der senkrechten Bildlaufleiste angezeigt. Diese zeigen zum Beispiel Lesezeichen und entsprechen den Markierungen auf dem Symbolrand.

AnsichtRandbereicheTextgrafik auf Bildlaufleiste anzeigen

Dies ersetzt die Bildlaufleiste mit einer Grafik des Texts im aktuellen Dokument. Weitere Informationen über die Textgrafik auf der Bildlaufleiste finden Sie im Abschnitt „Die Textgrafik auf der Bildlaufleiste“

AnsichtQuelltextausblendung

Diese Einstellungen sind für die Quelltextausblendung vorhanden:

Markierungen für Quelltextausblendungen anzeigen (F9)

Schaltet die Anzeige der Quelltext-Ausblendungsleiste am linken Rand des Editorfensters ein und aus.

Aktuelle Ebene einklappen

Blendet die Ebene aus, die den Cursor enthält.

Aktuelle Ebene ausklappen

Blendet die Ebene ein, die den Cursor enthält.

Oberste Ebene einklappen (Strg+Umschalt+-)

Blendet alle Abschnitte der obersten Ebene im Dokument aus. Klicken Sie auf den nach rechts zeigenden Pfeil, um all Abschnitte in der obersten Ebene wieder einzublenden.

Oberste Ebene ausklappen (Strg+Umschalt++)

Blendet alle Abschnitte der obersten Ebene im Dokument ein.

Nicht druckbare Leerzeichen anzeigen

Umgebende Rahmen um nicht druckbare Leerzeichen anzeigen/ausblenden.

Das Menü Lesezeichen

Das Menü Lesezeichen

Unterhalb der hier beschriebenen Einträge bekommt das Menü einen zusätzlichen Eintrag für jedes im aktuellen Dokument existierende Lesezeichen. Der Text des Lesezeicheneintrags besteht aus den ersten Wörter der durch das Lesezeichen markierten Zeile. Klicken Sie auf einen Lesezeicheneintrag, um den Cursor zu der markierten Zeile zu setzen. Der Editor rollt das Fenster, wenn notwendig.

LesezeichenLesezeichen setzen (Strg+B)

Setzt oder entfernt ein Lesezeichen in der aktuellen Zeile des aktiven Dokuments. Wenn das Lesezeichen bereits existiert, wird es entfernt, wenn nicht, wird es gesetzt.

LesezeichenAlle Lesezeichen löschen

Dieser Befehl löscht alle Lesezeichen aus der Datei sowie die Lesezeichen-Liste am unteren Ende dieses Menüs.

LesezeichenVorheriges (Alt+Bild auf)

Dieser Befehl bewegt den Cursor zur ersten Zeile mit Lesezeichen oberhalb der aktuellen Cursor-Postion. Der Menüeintrag enthält die Zeilennummer und den ersten Teil des Textes in der Zeile mit dem Lesezeichen. Der Menüeintrag ist nur verfügbar, wenn es oberhalb des Cursors eine Zeile mit Lesezeichen gibt.

LesezeichenNächstes (Alt+Bild ab)

Dieser Befehl bewegt den Cursor zur ersten Zeile mit Lesezeichen unterhalb der aktuellen Cursor-Postion. Der Menüeintrag enthält die Zeilennummer und den ersten Teil des Textes in der Zeile mit dem Lesezeichen. Der Menüeintrag ist nur verfügbar, wenn es unterhalb des Cursors eine Zeile mit Lesezeichen gibt.

Das Menü Extras

Das Menü Extras

ExtrasNur-Lesen-Modus

Setzt das aktuelle Dokument in dem Modus Nur-Lesen. Dies verhindert jegliche Änderungen am Dokument.

ExtrasModus

Wählen Sie hier den Dateityp, den Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt den unter EinstellungenEditor einrichten ... auf der Karte Datentypen festgelegten Standardtyp für das aktuelle Dokument.

ExtrasHervorhebung

Wählen Sie hier das Hervorhebungsschema, das Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt die unter EinstellungenEditor einrichten ... auf der Karte Hervorhebungen festgelegte Hervorhebungsregel für das aktuelle Dokument.

ExtrasEinrückung

Wählen Sie hier den Einrückungsmodus, den Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt die unter EinstellungenEditor einrichten ... auf der Karte Einrückung festgelegte Einrückungsregel für das aktuelle Dokument.

ExtrasKodierung

Wählen Sie hier die Kodierung, die Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt die unter EinstellungenEditor einrichten ... auf der Seite Öffnen/Speichern festgelegte Standardkodierung nur für das aktuelle Dokument.

ExtrasZeilenende

Wählen Sie hier den Zeilenendemodus, den Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt den unter EinstellungenEditor einrichten ... auf der Karte Öffnen/Speichern festgelegten Zeilenendemodus für das aktuelle Dokument.

ExtrasByte-Reihenfolge-Markierung (BOM) hinzufügen

Mit dieser Aktion kann ausdrücklich eine Byte-Reihenfolge-Markierung für Dokumente in Unicode-Kodierung hinzugefügt werden. Die Byte-Reihenfolge-Markierung ist ein Unicode-Zeichen, das die Bytereihenfolge (Big- oder Little-Endian) eines Textes anzeigt. Weitere Informationen finden Sie im Artikel Byte-Reihenfolge-Markierung.

ExtrasSkripte

Dieses Untermenü enthält eine Liste von allen Aktionen, für die es Skripte gibt. Die Liste kann leicht durch das Schreiben eigener Skripte verändert werden. KatePart kann auf diesem Weg mit eigenen Werkzeugen erweitert werden.

ExtrasSkripteNavigation
ExtrasSkripteNavigationCursor zur vorherigen passenden Einrückung verschieben (Alt+Umschalt+Pfeil runter)

Verschiebt den Cursor zur ersten Zeile oberhalb der aktuellen Cursor-Position, die die gleiche Einrückungstiefe wie die aktuelle Zeile hat.

ExtrasSkripteNavigationCursor zur nächsten passenden Einrückung verschieben (Alt+Umschalt+Pfeil runter)

Verschiebt den Cursor zur nächsten Zeile unterhalb der aktuellen Cursor-Position, die die gleiche Einrückungstiefe wie die aktuelle Zeile hat.

ExtrasSkripteBearbeitung
ExtrasSkripteBearbeitungMarkierten Text sortieren

Sortiert den ausgewählten Text oder das gesamte Dokument in aufsteigender Reihenfolge.

ExtrasSkripteBearbeitungZeilen nach unten verschieben (Strg+Umschalt+Pfeil runter)

Verschiebt die markierten Zeilen nach unten.

ExtrasSkripteBearbeitungZeilen nach oben verschieben (Strg+Umschalt+Pfeil hoch)

Verschiebt die markierten Zeilen nach oben.

ExtrasSkripteBearbeitungMarkierte Zeilen nach unten kopieren (Strg+Alt+Pfeil runter)

Kopiert die markierten Zeilen nach unten.

ExtrasSkripteBearbeitungMarkierte Zeilen nach oben kopieren (Strg+Alt+Pfeil hoch)

Kopiert die markierten Zeilen nach oben.

ExtrasSkripteBearbeitungMarkierten Text als URI kodieren

Kodiert den ausgewählten Text, so dass dieser als Teil einer Abfrage in einer URL benutzt werden kann. Der Text ersetzt dabei die Auswahl in der URL.

ExtrasSkripteBearbeitungMarkierten Text als URI dekodieren

Wenn ein Teil einer Abfrage in einer URL ausgewählt wird, dann wird diese Funktion die Auswahl durch den originalen Text ersetzen.

ExtrasSkripteEmmet
ExtrasSkripteEmmetAbkürzung ausschreiben

Wandelt den ausgewählten Text in ein Paar von öffnenden und schließenden HTML- oder XML-Tags um. Ist zum Beispiel div ausgewählt, wird es durch <div></div> ersetzt.

ExtrasSkripteEmmetUmbruch mit Tag

Bricht den ausgewählten Text mit dem auf der Befehlszeile angegebenen Tag um.

ExtrasSkripteEmmetCursor zum passenden Tag verschieben

Befindet sich der Cursor innerhalb eines öffnenden HTML- / XML-Tags, verschiebt diese Aktion ihn zum schließenden Tag. Befindet sich der Cursor innerhalb eines schließenden HTML- / XML-Tags, verschiebt diese Aktion ihn stattdessen zum öffnenden Tag.

ExtrasSkripteEmmetInhalte von HTML/XML-Tag innerhalb wählen

Befindet sich der Cursor innerhalb eines Paares von HTML- / XML-Tags, ändert diese Aktion die Auswahl zum Inhalt der HTML- / XML-Tags ohne die Tags selbst.

ExtrasSkripteEmmetInhalte von HTML/XML-Tag außerhalb wählen

Befindet sich der Cursor innerhalb eines Paares von HTML- / XML-Tags, ändert diese Aktion die Auswahl zum Inhalt der HTML- / XML-Tags einschließlich der Tags selbst.

ExtrasSkripteEmmetKommentar ein-/ausschalten

Ist die Auswahl kein Kommentar, wird diese Aktion die Auswahl in HTML- / XML-Kommentaren einschließen, z. B. <!-- markierter Text -->). Handelt es sich bei der Auswahl um einen Kommentar, werden die Tags stattdessen entfernt.

ExtrasSkripteEmmetTag unter Cursor löschen

Befindet sich der Cursor gerade innerhalb eines HTML- / XML-Tags, löscht diese Aktion das gesamte Tag.

ExtrasSkripteEmmetZahl um 1 verringern

Diese Aktion subtrahiert 1 vom aktuell ausgewählten Text, sofern es sich dabei um eine Zahl handelt. Wenn zum Beispiel 5 ausgewählt ist, wird dies zu 4 geändert.

ExtrasSkripteEmmetZahl um 10 verringern

Diese Aktion subtrahiert 10 vom aktuell ausgewählten Text, sofern es sich dabei um eine Zahl handelt. Wenn zum Beispiel 15 ausgewählt ist, wird dies zu 5 geändert.

ExtrasSkripteEmmetZahl um 0.1 verringern

Diese Aktion subtrahiert 0.1 vom aktuell ausgewählten Text, sofern es sich dabei um eine Zahl handelt. Wenn zum Beispiel 4.5 ausgewählt ist, wird dies zu 4.4 geändert.

ExtrasSkripteEmmetZahl um 1 vergrößern

Diese Aktion addiert 1 zum aktuell ausgewählten Text, sofern es sich dabei um eine Zahl handelt. Wenn zum Beispiel 5 ausgewählt ist, wird dies zu 6 geändert.

ExtrasSkripteEmmetZahl um 10 vergrößern

Diese Aktion addiert 10 zum aktuell ausgewählten Text, sofern es sich dabei um eine Zahl handelt. Wenn zum Beispiel 5 ausgewählt ist, wird dies zu 15 geändert.

ExtrasSkripteEmmetZahl um 0.1 vergrößern

Diese Aktion addiert 0.1 zum aktuell ausgewählten Text, sofern es sich dabei um eine Zahl handelt. Wenn zum Beispiel 4.5 ausgewählt ist, wird dies zu 4.6 geändert.

ExtrasQuelltextvervollständigung aufrufen (Strg+Leertaste)

Manueller Aufruf der Quelltextvervollständigung, üblicherweise durch einen mit dieser Aktion belegten Kurzbefehl.

ExtrasWortvervollständigung

Mit Wort unten erneut verwenden (Strg+9) und Wort oben erneut verwenden (Strg+8) wird bei der Texteingabe vorwärts und rückwärts von der aktuellen Cursor-Position nach ähnlichen Wörtern gesucht und der Text vervollständigt. Mit Shell-Eingabevervollständigung wird ein Feld mit passenden Wörtern angezeigt.

ExtrasRechtschreibungAutomatische Rechtschreibprüfung (Strg+Umschalt+O)

Ist die Automatische Rechtschreibprüfung aktiviert, werden falsch geschriebene Wörter bei der Eingabe unterstrichen.

ExtrasRechtschreibungRechtschreibung ...

Ruft die Rechtschreibprüfung auf - ein Programm zum Finden und Korrigieren von Rechtschreibfehlern. Klicken auf diesen Menüeintrag startet das Programm zur Rechtschreibprüfung und öffnet dessen Dialogfenster, in dem Sie die Ausführung der Rechtschreibprüfung steuern können. Es gibt vier Textfelder in der Mitte des Dialogfensters mit den zugehörigen Namen links daneben. Diese sind von oben nach unten:

Unbekanntes Wort:

Hier zeigt das Programm zur Rechtschreibprüfung das aktuell als falsch erkannte Wort an. Dieses Wort hat das Programm zur Rechtschreibprüfung nicht in seinem Wörterbuch gefunden. Das Wörterbuch ist eine Datei, die eine Liste der korrekt geschriebenen Wörter enthält, mit denen das Programm zur Rechtschreibprüfung jedes einzelne Wort des zu prüfenden Textes vergleicht.

Ersetzen durch:

Wenn das Programm zur Rechtschreibprüfung ähnliche Wörter im Wörterbuch findet, wird das erste hier angezeigt. Der Benutzer kann den Vorschlag akzeptieren, eine eigene Korrektur eingeben oder einen anderen Vorschlag aus dem nächsten Feld auswählen.

Sprache:

Wenn Sie mehrere Wörterbücher installiert haben, können Sie hier das Wörterbuch oder die Sprache auswählen.

Auf der rechten Seite des Dialogfensters befinden sich sechs Knöpfe, mit denen Sie den Prüfungsvorgang steuern können. Diese sind im einzelnen:

Zum Wörterbuch hinzufügen

Drücken dieses Knopfes fügt das Wort im Feld Unbekanntes Wort: zum benutzten Wörterbuch des Rechtschreibprüfungsprogramms hinzu. Das bedeutet, dass dieses Wort in Zukunft immer als richtig geschrieben erkannt wird.

Vorschläge

Das Prüfungsprogramm zeigt hier eine Liste mit möglichen Vorschlägen an, die das gefundene Wort ersetzen können. Klicken auf einen dieser Vorschläge trägt diesen Vorschlag in das Feld Ersetzen durch: gleich darüber ein.

Ersetzen

Ersetzt das gefundene Wort im Dokument mit dem Wort im Feld Ersetzen durch:.

Alle ersetzen

Dieser Knopf ersetzt nicht nur das aktuell Unbekanntes Wort mit dem Inhalt des Feldes Ersetzen durch:, sondern ersetzt automatisch alle Vorkommen des unbekannten Wortes im Dokument.

Ignorieren

Die Rechtschreibprüfung wird ohne Änderungen am aktuellen Wort fortgesetzt.

Alle ignorieren

Klicken auf diesen Knopf setzt die Rechtschreibprüfung ohne Änderungen unbekannten Wortes fort und ignoriert alle weiteren Vorkommen dieses Wortes im gesamten Dokument.

Anmerkung

Dies gilt nur für den aktuellen Lauf der Rechtschreibprüfung, wenn später noch einmal die Rechtschreibung geprüft wird, wird dasselbe Wort wieder als falsch erkannt.

Drei weitere Knöpfe befinden sich im unteren Bereich des Dialogs:

Hilfe

Dies startet das KDE-Hilfesystem mit den Hilfeseiten zu diesem Dialog.

Abgeschlossen

Dieser Knopf beendet die Rechtschreibprüfung und kehrt zum Dokument zurück.

Abbrechen

Dieser Knopf bricht die Rechtschreibprüfung ab. Alle Änderungen werden vor der Rückkehr zum Dokument zurückgenommen.

ExtrasRechtschreibungRechtschreibung (ab Cursor) ...

Ruft das Rechtschreibprüfungsprogramm auf - mit dem Unterschied, dass die Prüfung an der aktuellen Cursor-Position beginnt und nicht am Anfang des Dokuments.

ExtrasRechtschreibungRechtschreibprüfung für Auswahl ...

Ruft das Rechtschreibprüfungsprogramm auf und prüft den aktuell ausgewählten Text.

ExtrasRechtschreibungWörterbuch auswählen ...

Zeigt ein Auswahlfeld mit allen verfügbaren Wörterbüchern zur Rechtschreibprüfung unten im Editorfenster an. Dadurch kann das Wörterbuch schnell gewechselt werden, z. B. für die automatische Rechtschreibprüfung von Text in mehreren Sprachen.

ExtrasEinrückungen löschen

Löscht die Einrückung für die aktuelle Auswahl oder für die Zeile, in der sich der Cursor befindet. Löschen der Einrückungen stellt sicher, dass der gesamte ausgewählte Text nach dem ausgewählten Einrückungsmodus behandelt wird.

ExtrasAusrichten

Bewirkt, dass die aktuelle Zeile oder aktuelle Auswahl nach den Einstellungen für den aktuellen Einrückungsmodus und den Einrückungseinstellungen im Dokument neu ausgerichtet wird.

ExtrasKommentar (Strg+D)

Dieser Befehl fügt ein Leerzeichen am Zeilenanfang der aktuellen Zeile oder an den Zeilenanfängen aller markierten Zeilen ein.

ExtrasKommentar entfernen (Strg+Umschalt+D)

Dieser Befehl entfernt (wenn vorhanden) ein Leerzeichen vom Zeilenanfang der aktuellen Zeile oder von den Zeilenanfängen der markierten Zeilen.

ExtrasGroßschreibung (Strg+U)

Setzt den ausgewählten Text oder den Buchstaben nach dem Cursor in Großbuchstaben.

ExtrasKleinschreibung (Strg+Umschalt+U)

Setzt den ausgewählten Text oder den Buchstaben nach dem Cursor in Kleinbuchstaben.

ExtrasGroßschreibung am Wortanfang (Strg+Alt+U)

Setzt den ausgewählten Text oder das aktuelle Wort in Großbuchstaben.

ExtrasZeilen zusammenführen (Strg+J)

Setzt die ausgewählten Zeilen oder die aktuelle und die nächste Zeile zusammen. Ein Leerzeichen wird zwischen die Zeileninhalte gesetzt. Noch vorhandene weitere Leerzeichen werden an den betroffenen Zeilenanfängen oder -enden entfernt.

ExtrasZeilenumbruch hinzufügen

Das gesamte Dokument wird automatisch mit Zeilenumbrüchen versehen. Das heißt, dass automatisch eine neue Zeile begonnen wird, wenn die aktuelle Zeile die Länge, die unter Zeilenumbruch bei auf der Karte Bearbeitung in EinstellungenEditor einrichten ... eingestellt wurde, überschritten wird.

Die Menüs „Einstellungen“ und „Hilfe“

Die Menüs Einstellungen und Hilfe

KatePart benutzt die bekannten KDE-Menüeinträge Einstellungen und Hilfe. Mehr dazu erfahren Sie in den Abschnitten zu den Menüs Einstellungen und Hilfe in den KDE-Grundlagen.

Kapitel 5. Weiterentwickelte Editierwerkzeuge

Kapitel 5. Weiterentwickelte Editierwerkzeuge

Anders Lund

Dominik Haumann

GUI-Übersetzung: Thomas Diehl
Deutsche Übersetzung: Matthias Schulz

Kommentar/Kommentar entfernen

Die Befehle Kommentar und Kommentar entfernen im Menü Bearbeiten erlauben das Hinzufügen oder Entfernen von Kommentarzeichen zur Auswahl, oder der aktuellen Textzeile, wenn kein Text markiert wurde. Diese Funktionen stehen nur zur Verfügung, wenn das benutzte Textformat Kommentare unterstützt.

Die Regeln für Kommentare werden in den Definitionen für die Syntax festgelegt, wenn Hervorhebungen für Syntax nicht benutzt werden, ist die Nutzung der Befehle also nicht möglich.

Einige Formate nutzen Kommentarzeichen für einzelne Zeilen, manche nutzen Kommentarzeichen für mehrere Zeilen, manche beides. Wenn Kommentarzeichen für mehrere Zeilen nicht verfügbar sind, kann eine Auswahl nicht auskommentiert werden, deren letzte Zeile nicht vollständig in die Auswahl einbezogen ist.

Wenn Kommentarzeichen für einzelne Zeilen definiert sind, werden diese bevorzugt eingesetzt, dies hilft, Probleme mit eingebetteten Kommentaren zu vermeiden.

Wenn Sie Kommentarzeichen entfernen, sollte nur kommentierter Text ausgewählt sein. Wenn mehrzeilige Kommentare entfernt werden, werden Leerzeichen und Tabulatoren (whitespaces) außerhalb der Kommentarzeichen ignoriert.

Um Kommentarzeichen einzufügen, wählen Sie im Menü ExtrasKommentar oder das Tastenkürzel, hier standardmäßig Strg+D.

Zum Entfernen von Kommentarzeichen wählen Sie im Menü BearbeitenKommentar entfernen oder das Tastenkürzel, hier standardmäßig Strg+Umschalt+D.

Die integrierte Befehlszeile im Editor

Die integrierte Befehlszeile im Editor

KatePart;s Editor hat eine interne Befehlszeile, von der aus Sie verschiedene Aktionen ausführen können. Die Befehlszeile ist ein Texteingabefeld am unteren Rand des Editorbereichs. Sie können diese einblenden, indem Sie im Menü AnsichtAuf Befehlszeile umschalten wählen oder das Tastenkürzel verwenden (standardmäßig ist F7 eingestellt). Der Editor stellt einige Befehle bereit, die nachfolgend beschrieben werden. Außerdem können Erweiterungen (Plugins) weitere Befehle bereitstellen.

Um einen Befehl auszuführen, geben Sie diesen in die Befehlszeile ein und drücken Sie Eingabetaste. Der Befehl gibt aus, ob die Ausführung erfolgreich war, eventuell wird noch eine Mitteilung ausgegeben. Wenn Sie den Befehl durch Drücken des Tastenkürzels F7 eingegeben haben, wird die Befehlszeile nach einigen Sekunden ausgeblendet. Um die Mitteilung zu löschen und einen neuen Befehl einzugeben, drücken Sie das Tastenkürzel F7 noch einmal.

Die Befehlszeile hat ein eingebautes Hilfesystem, das durch den Befehl help aufgerufen wird. Der Befehl help list zeigt eine Liste aller verfügbaren Befehle an, Hilfe zu einem speziellen Befehl erhalten Sie durch Eingabe von help befehl.

Die Befehlszeile hat eine eingebauten Verlaufsspeicher, sodass Sie bereits eingegebene Befehle wiederverwenden können. Um aus den bisherigen Befehlen auszuwählen, benutzen Sie die Tasten Nach oben und Nach unten. Wenn bisherige Befehle angezeigt werden, dann ist automatisch der Teil des Befehls, der die Argumente enthält, markiert, sodass Sie die Argumente sofort überschreiben können.

Standardbefehle der Befehlszeile

Typen der Argumente

BOOLEAN

Dieser Typ wird mit Befehlen benutzt, die Dinge ein- und ausschalten. Zulässige Werte sind on, off, true, false, 1 oder 0.

INTEGER

Eine ganze Zahl.

STRING

Ein Text, umschlossen von einfachen Anführungszeichen (') oder von doppelten Anführungszeichen ("), wenn der Text Leerzeichen enthält.

Befehle zum Einrichten des Editors

Diese Befehle werden von der Editorkomponente bereitgestellt und gestatten das Einrichten des Editors für die aktuelle Ansicht des aktuellen Dokuments. Dies ist hilfreich, wenn Sie von den Standardeinstellungen abweichende Einstellungen, z. B. für Einrückungen benutzen wollen.

set-tab-width {INTEGER Weite}

Setzt die Tabulatorweite auf Weite.

set-indent-width {INTEGER Weite}

Setzt die Einrückungsweite auf Weite. Dieser Wert wird nur benutzt, wenn Sie Leerzeichen zum Einrücken verwenden.

set-word-wrap-column {INTEGER Weite}

Setzt die Zeilenlänge für den harten Zeilenumbruch auf Weite. Dieser Wert wird nur benutzt, wenn Sie den automatischen Zeilenumbruch benutzen.

set-icon-border {BOOLEAN enable}

Schaltet die Anzeige des Symbolrandes ein und aus.

set-folding-markers {BOOLEAN enable}

Schaltet die Markierungen für die Quelltextausblendung ein und aus.

set-line-numbers {BOOLEAN enable}

Schaltet die Zeilennummerierung ein und aus.

set-replace-tabs {BOOLEAN enable}

Wenn eingeschaltet, werden Tabulatorzeichen durch Leerzeichen ersetzt.

set-remove-trailing-space {BOOLEAN enable}

Wenn eingeschaltet, werden Leerzeichen und andere Zwischenräume am Zeilenanfang entfernt, wenn der Cursor eine Zeile verlässt.

set-show-tabs {BOOLEAN enable}

Wenn eingeschaltet, werden Tabulatorzeichen und vorangestellte Leerzeichen durch kleine Punkte dargestellt.

set-show-indent {BOOLEAN enable}

Wenn eingeschaltet, wird die Einrückung durch eine punktierte Linie dargestellt.

set-indent-spaces {BOOLEAN enable}

Wenn eingeschaltet, werden Leerzeichen in der mit indent-width eingestellten Anzahl für jedes Einrückungsniveau benutzt und nicht Tabulatorzeichen.

set-mixed-indent {BOOLEAN enable}

KatePart benutzt eine Mischung aus Tabulatoren und Leerzeichen zum Einrücken wenn diese Option eingeschaltet ist. Jedes Einrückungsniveau ist indent-width breit, es werden möglichst viele Leerzeichen durch Tabulatoren ersetzt.

Wenn dieser Befehl ausgeführt wird, wird außerdem das Einrücken mit Leerzeichen eingeschaltet und wenn die Einrückungsbreite noch nicht festgelegt ist, dann wird diese auf die Hälfte von tab-width für dieses Dokument zum Ausführungszeitpunkt gesetzt.

set-word-wrap {BOOLEAN enable}

Schaltet dynamischen Zeilenumbruch ein oder aus.

set-replace-tabs-save {BOOLEAN enable }

Wenn eingeschaltet, werden Tabulatorzeichen durch Leerzeichen ersetzt, wenn das Dokument gespeichert wird.

set-remove-trailing-space-save {BOOLEAN enable}

Wenn eingeschaltet, werden am Anfang der Zeile stehende Leerzeichen oder Tabulatorzeichen entfernt, wenn das Dokument gespeichert wird.

set-indent-mode {STRING name}

Setzt den Einrückungsmodus auf name. Wenn name nicht angegeben ist oder ein ungültiger Name verwendet wurde, wird der Modus ‚Kein(none)‘ gesetzt. Verfügbare Modi sind: 'none', 'normal', 'cstyle', 'haskell', 'lilypond', 'lisp', 'python', 'ruby' und 'xml'.

set-auto-ident {BOOLEAN script}

Aktiviert oder deaktiviert die automatische Einrückung.

set-highlight {STRING highlight}

Setzt den Hervorhebungsmodus für das aktuelle Dokument. Das Argument muss ein gültiger Name für einen Hervorhebungsmodus sein. Die gültigen Modi findet man unter ExtrasHervorhebungen. Dieser Befehl zeigt eine Liste der möglichen Argumente an, wenn die ersten Zeichen des Argumentes eingegeben wurden.

reload-scripts

Lädt alle von Kate benutzten JavaScript-Skripte neu, einschließlich der Skripte für die Befehlszeile und Einrückung.

set-mode {STRING mode}

Setzt das Dateityp-Schema für das aktuelle Dokument.

nn[oremap] {STRING original} {STRING mapped}

Weist den Kurzbefehl original dem Kurzbefehl mapped zu.

Befehle zum Bearbeiten

Diese Befehle bearbeiten und verändern das aktuelle Dokument.

indent

Rückt markierten Text oder die aktuelle Zeile ein.

unindent

Hebt die Einrückung für die markierten Zeilen oder die aktuelle Zeile auf.

cleanindent

Setzt die Einrückungen in den markierten Zeilen oder in der aktuellen Zeile in den Grundzustand zurück. Hierzu werden die Einstellungen für das aktuelle Dokument verwendet.

comment

Setzt Kommentarzeichen um die markierten Zeilen oder die aktuelle Zeile zu Kommentaren zu machen. Es wird das Kommentarzeichen aus der Hervorhebungsdefinition für das aktuelle Textformat benutzt.

uncomment

Entfernt Kommentarzeichen von den markierten Zeilen oder der aktuellen Zeile. Es wird das Kommentarzeichen aus der Hervorhebungsdefinition für das aktuelle Textformat benutzt.

kill-line

Löscht die aktuelle Zeile

replace { STRING suchtext} {STRING replacement}

Ersetzt den mit suchtext übereinstimmenden Text durch replacement. Wenn Sie Leerzeichen oder Tabulatoren im suchtext verwenden wollen, dann müssen Sie sowohl suchtext als auch replacement in einfache oder doppelte Anführungszeichen einschließen. Wenn Worte nicht in Anführungszeichen eingeschlossen sind, wird das erste Wort als suchtext und der Rest als replacement benutzt. Wenn replacement nicht angegeben ist, dann wird jedes Auftreten von suchtext gelöscht.

Sie können bestimmte Einstellungen für die Suche vornehmen, indem Sie einen Doppelpunkt, gefolgt von einem oder mehreren Buchstaben - die die Einstellungen enthalten - anfügen. Die Form der Eingabe ist dann: replace:options suchtext replacement. Folgende Einstellungen sind verfügbar:

b

Rückwärts suchen.

c

Suchen ab Cursor-Position.

e

Suchen nur in markiertem Text.

r

Suche nach einem regulären Ausdruck. Wenn diese Einstellung verwendet wird, können Sie \N im Ersetzungstext verwenden, die Anzahl, wie oft der Suchtext gefunden wurde, wird dann in den Ersetzungstext eingefügt.

s

Suche unter Berücksichtigung von Groß- und Kleinschreibung.

p

Nachfragen vor Ersetzen des nächsten Auftretens.

w

Nur ganze Wörter erfüllen die Suchbedingung.

date {STRING format}

Setzt das aktuelle Datum und die aktuelle Uhrzeit im durch format eingestellten Format ein. Wenn kein Format eingestellt wurde, wird das Format yyyy-MM-dd hh:mm:ss als Standard benutzt. Die folgenden Übersetzungen werden vorgenommen, wenn format ausgewertet wird:

dTag als Ziffer ohne führende Null (1-31).
ddTag als Ziffer mit führender Null (01-31).
dddTag als abgekürzter Name in Landessprache (z. B. ‚Mon‘..‚Son‘).
ddddTag als langer Name in Landessprache (z. B. ‚Montag‘..‚Sonntag‘).
MMonat als Ziffer ohne führende Null (1-12).
MMMonat als Ziffer mit führender Null (01-12).
MMMMDer lange, lokale Monatsname (z. B. „Januar“..„Dezember“).
MMMMonat als abgekürzter Name in Landessprache (z. B.‚Jan‘..‚Dez‘).
yyDas Jahr als zweistellige Ziffer (00-99).
yyyyDas Jahr als vierstellige Ziffer (1752-8000).
hStunde ohne führende Null (0..23 oder 1..12 wenn AM/PM verwendet wird).
hhStunde mit führender Null (00..23 oder 00..12 wenn AM/PM verwendet wird).
mMinute ohne führende Null (0.59).
mmMinute mit führender Null (00..59).
sSekunde ohne führende Null (0.59).
ssSekunde mit führender Null (00.59).
zMillisekunden ohne führende Null (0..999).
zzzMillisekunden mit führender Null (000..999).
APBenutzt die Anzeige mit AM/PM. AP wird entweder von AM oder PM ersetzt.
apBenutzt die Anzeige mit am/pm. ap wird durch am oder pm ersetzt.

char {STRING identifier}

Dieser Befehl erlaubt das Einsetzen von Zeichen in Text durch die Eingabe Ihrer Kodierung in dezimaler, oktaler oder hexadezimaler Form. Rufen Sie die Befehlszeile auf, schreiben Sie in das Eingabefeld das Wort char:[nummer] und klicken Sie auf OK.

Beispiel 5.1. Beispiele zu char

Eingabe: char:234

Ausgabe: ê

Eingabe: char:0x1234

Ausgabe:


s///[ig] %s///[ig]

Dieser Befehl führt Suchen/Ersetzen auf der aktuellen Zeile oder in der gesamten Datei aus (%s///).

Kurz gesagt, der Text wird nach dem Suchtext, dem regulären Ausdruck zwischen dem ersten und dem zweiten Schrägstrich, durchsucht und wenn der Suchtext gefunden wurde, wird der übereinstimmende Teil des Textes durch den Ausdruck zwischen dem zweiten und dem hinterem Schrägstrich ersetzt. Runde Klammern im Suchtext erzeugen Referenzen, die dann später dazu benutzt werden, die Zeichenketten wiederzuverwenden. Diese Referenzen werden wie folgt aufgerufen: \1 für die erste Referenz, \2 für die zweite und so weiter.

Um nach einem Sonderzeichen, ( oder ), zu suchen, müssen Sie dieses durch einen Rückwärtsschrägstrich kenntlich machen. \(\)

Wenn Sie ein i an das Ende des Ausdruckes anhängen, wird beim Suchen nicht nach Groß- und Kleinbuchstaben unterschieden. Das Anhängen eines g legt fest, dass alle Vorkommen des Suchtextes ersetzt werden, normalerweise wird nur das erste Vorkommen ersetzt.

Beispiel 5.2. Ersetzen von Text in der aktuellen Zeile

Ihr lieber Computer verweigerte gerade die Ausführung eines Programms, mit der Bemerkung, dass die Klasse myClass, die in der Zeile 3902 im Quelltext verwendet wird, nicht definiert ist.

"Natürlich!", denken Sie, das muss MyClass heißen. Sie gehen zur Zeile 3092, rufen den Bearbeitungsbefehl auf, geben s/myclass/MyClass/i ein und klicken auf OK, Speichern die Datei und kompilieren – ohne Fehlermeldungen.


Beispiel 5.3. Ersetzen von Text in der gesamten Datei

Stellen Sie sich vor, Sie hätten eine Datei, in der eine Miss Jensen einige Male erwähnt wird. Jemand kommt zur Tür herein und erzählt Ihnen, dass sie gerade Mr Jones geheiratet hat. Sie stehen nun vor der Aufgabe, jedes Miss Jensen durch Ms Jones zu ersetzen.

Rufen Sie die Befehlszeile auf, geben Sie %s/Miss Jensen/Ms Jones/ ein drücken Sie die Eingabetaste - fertig.


Beispiel 5.4. Ein etwas komplizierteres Beispiel

Dieses Beispiel benutzt Referenzen und auch eine Wortklasse (wenn Sie nicht wissen, was das bedeutet, sehen Sie bitte in der unten angegebenen Dokumentation nach).

Stellen Sie sich vor, Sie hätten folgende Zeile:

void MyClass::DoStringOps( String      &foo, String &bar, String *p, int  &a, int &b )

Sie erkennen, dass dies nicht gut lesbar ist und entscheiden, das Schlüsselwort const für alle address of-Argumente zu verwenden (diese sind durch den vorangestellten Operator & gekennzeichnet). Außerdem wollen Sie die Zwischenräume vereinfachen, sodass nur noch ein Leerzeichen zwischen den Wörtern steht.

Rufen Sie den Bearbeitungsbefehl auf, geben Sie s/\s+(\w+)\s+(&)/ const \1 \2/g und klicken Sie auf OK. Das g am Ende des regulären Ausdrucks bewirkt, dass der reguläre Ausdruck jedesmal neu kompiliert wird, um die Referenz zu sichern.

Ausgabe: void MyClass::DoStringOps( const String &foo, const String &bar, String *p, const int &a, const int &b )

Erledigt! Was passierte hier? Es wurde nach Leerzeichen (\s+) gefolgt von einem oder mehreren alphanumerischen Zeichen (\w+) gefolgt von einem oder mehreren Leerzeichen (\s+) gefolgt von einem Ampersand (&) gesucht und dabei der alphanumerische Abschnitt und das Ampersand (&) gesichert, um diese beim Ersetzen wiederzuverwenden. Dann haben wir den übereinstimmenden Teil der Zeile ersetzt durch ein Leerzeichen gefolgt von const gefolgt von einem Leerzeichen gefolgt vom gesicherten Abschnitt (\1) gefolgt von einem Leerzeichen gefolgt vom gesicherten Ampersand (&) (\2).

In einigen Fällen war der gesicherte Abschnitt String, in einigen int, sodass das Benutzen der Wortklasse \w und des +-Zeichens zum Angeben von ein oder mehrere sich als wertvoll erwies.


sort

Sortiert den markierten Text oder das ganze Dokument.

natsort

Sortiert den markierten Text oder das ganze Dokument in natürlicher Reihenfolge.

Beispiel 5.5. sort vs. natsort

sort(a10, a1, a2) ergibt a1, a10, a2

natsort(a10, a1, a2) ergibt a1, a2, a10


moveLinesDown

Verschiebt die markierten Zeilen nach unten.

moveLinesUp

Verschiebt die markierten Zeilen nach oben.

uniq

Entfernt doppelte Zeilen aus dem markierten Text oder dem gesamten Dokument.

rtrim

Entfernt Leerzeichen am Zeilenende aus dem markierten Text oder dem gesamten Dokument.

ltrim

Entfernt Leerzeichen am Zeilenanfang aus dem markierten Text oder dem gesamten Dokument.

join [STRING separator]

Verbindet die ausgewählten Zeilen oder das gesamte Dokument. Wahlweise kann ein Parameter mit der Definition des Trennzeichens angegeben werden, zum Beispiel join ', '

rmblank

Entfernt alle Leerzeichen aus dem markierten Text oder dem gesamten Dokument.

unwrap

Entfernt den Zeilenumbruch aus dem markierten Text oder dem gesamten Dokument.

each {STRING script}

Mit einer JavaScript-Funktion als Argument wird diese Funktion für die Liste der ausgewählten Zeilen aufgerufen und die Zeilen mit dem Rückgabewert der Funktion ersetzt

Beispiel 5.6. Verbindet die ausgewählten Zeilen

each 'function(lines){return lines.join(", ")}'

Oder noch kürzer:

each 'lines.join(", ")'


filter {STRING script}

Mit einer JavaScript-Funktion als Argument wird diese Funktion für die ausgewählten Zeilen aufgerufen und die Zeilen werden entfernt, bei denen die Funktion den Wert Falsch zurück gibt

Beispiel 5.7. Entfernt leere Zeilen.

filter 'function(1){return 1.length > 0;}'

Oder noch kürzer:

filter 'line.length > 0'


map {STRING script}

Mit einer JavaScript-Funktion als Argument wird diese Funktion für die Liste der ausgewählten Zeilen aufgerufen und die Zeile mit dem Rückgabewert der Funktion ersetzt

Beispiel 5.8. Entfernt leere Zeilen.

map 'function(line){return line.replace(/^s+/,"");}'

Oder noch kürzer:

map 'line.replace(/^s+/,"")'


duplicateLinesUp

Verdoppelt die ausgewählten Zeilen oberhalb der aktuellen Auswahl.

duplicateLinesDown

Verdoppelt die ausgewählten Zeilen unterhalb der aktuellen Auswahl.

Befehle zur Bewegung im Dokument

goto {INT line}

Dieser Befehl setzt den Cursor auf die angegebene Zeile.

grep {STRING pattern}

Sucht im Dokument nach dem regulären Ausdruck muster. Weitere Informationen finden Sie unter Anhang A, Reguläre Ausdrücke.

find {STRING pattern}

Dieser Befehl setzt den Cursor auf das erste Auftreten des Suchtext entsprechend der Einstellungen. Weitere Fundstellen werden durch BearbeitenWeitersuchen oder Drücken des Tastenkürzels (Standard ist F3) gefunden.

Der Befehl find kann durch das Anhängen eines Doppelpunktes und eines oder mehrerer Buchstaben in der Form find:options pattern ergänzt werden. Die folgenden Einstellungen sind verfügbar:

b

Rückwärts suchen.

c

Suchen ab Cursor-Position.

e

Suchen nur in markiertem Text.

r

Suche nach einem regulären Ausdruck. Wenn diese Einstellung verwendet wird, können Sie \N im Ersetzungstext verwenden, die Anzahl, wie oft der Suchtext gefunden wurde, wird dann in den Ersetzungstext eingefügt.

s

Suche unter Berücksichtigung von Groß- und Kleinschreibung.

w

Nur ganze Wörter erfüllen die Suchbedingung.

ifind {STRING pattern}

Dieser Befehl sucht schon beim Eingeben nach dem Suchtext. Sie können auch hier die Suche durch Anhängen eines Doppelpunktes und eines oder mehrerer Buchstaben in ihrem Verhalten anpassen. Die Eingabe muss dann in der Form: ifind:options suchtext erfolgen. Die folgenden Einstellungen stehen zur Verfügung:

b

Rückwärts suchen.

r

Suche nach einem regulären Ausdruck.

s

Suche unter Berücksichtigung von Groß- und Kleinschreibung.

c

Suchen ab Cursor-Position.

Befehle für die grundlegenden Editor-Funktionen. Diese hängen von der Anwendung ab, in der die Editorkomponente verwendet wird.

w

Speichert das aktuelle Dokument.

wa

Speichert alle gerade geöffneten Dateien.

q

Schließt das aktuelle Dokument.

qa

Schließt alle geöffneten Dokumente.

wq

Speichert und schließt das aktuelle Dokument.

wqa

Speichert und schließt alle geöffneten Dokumente.

x

Speichert und schließt das aktuelle Dokument nur, wenn es geändert wurde.

x

Speichert und schließt alle geöffneten Dokument nur, wenn sie geändert wurden.

bp

Geht zum vorherigen Dokument in der Dokumentliste.

bn

Geht zum nächsten Dokument in der Dokumentliste.

new

Öffnet ein neues Dokument in waagerecht geteilter Ansicht.

vnew

Öffnet ein neues Dokument in senkrecht geteilter Ansicht.

e

Lädt das aktuelle Dokument erneut, wenn es auf dem Datenträger geändert wurde.

enew

Bearbeitet ein neues Dokument.

print

Öffnet den Druckdialog, um das aktuelle Dokument zu drucken.

Benutzen von Quelltextausblendung

Benutzen von Quelltextausblendung

Quelltextausblendung dient zum Verstecken von Teilen des Dokuments im Editor, sodass große Dokumente einfacher zu lesen sind. In KatePart werden die ausblendbaren Abschnitte unter Zugrundelegung der Hervorhebungsregeln ermittelt und demzufolge sind Quelltextausblendungen nur in manchen Formaten verfügbar. Dies sind besonders Quelltexte in Programmiersprachen, XML und Ähnliches. Die meisten Hervorhebungsregeln, die Quelltextausblendungen bereitstellen, lassen auch die manuelle Festlegung von ausblendbaren Abschnitten zu, üblicherweise werden dazu die Schlüsselwörter BEGIN und END benutzt.

Um die Funktion Quelltextausblendung zu benutzen, wählen Sie im Menü AnsichtMarkierungen für Quelltextausblendungen anzeigen. Es wird dann am linken Rand des Editorfensters ein grauer Rand eingeblendet, der eine grafische Darstellung der ausblendbaren Abschnitte enthält. In diesen Markierungen sind Symbole enthalten, die die möglichen Operationen anzeigen. Wenn zum Beispiel ein Dreieck mit der Spitze nach unten angezeigt wird, kann dieser Abschnitt ausgeblendet werden, ein nach rechts zeigendes Dreieck dagegen zeigt, dass hier ein Abschnitt ausgeblendet wurde. Dieser kann durch Klicken auf das Dreiecksymbol wieder eingeblendet werden.

Drei Befehle sind im Menü enthalten, die die Quelltextausblendung beeinflussen, sehen Sie in der Menü-Dokumentation für weitere Einzelheiten nach.

Der Status der Quelltextausblendung wird gespeichert, wenn eine Datei geschlossen wird. Öffnen Sie diese Datei erneut, wird sie mit den ausgeblendeten Ebenen wie beim Schließen angezeigt. Auch beim erneuten Laden einer Datei bleibt die eingestellte Quelltextausblendung erhalten.

Wenn Sie keine Quelltextausblendung benutzen wollen, dann können Sie die Funktion Markierung für Quelltextausblendungen anzeigen auf der Seite Erscheinungsbild in den Einstellungen komplett ausschalten.

Kapitel 6. KatePart erweitern

Kapitel 6. KatePart erweitern

T.C. Hollingsworth

GUI-Übersetzung: Thomas Diehl
Deutsche Übersetzung: Matthias Schulz

Einführung

Wie jeder gute Texteditor bietet auch KatePart verschiedene Möglichkeiten für Erweiterungen. Sie können Skripte in Javascript schreiben, um Funktionen zu erweitern. Wenn Sie dann KatePart erweitert haben, laden wir Sie ein, Ihre Verbesserungen mit der ganzen Welt zu teilen.

Arbeiten mit Syntax-Hervorhebungen

Arbeiten mit Syntax-Hervorhebungen

Überblick

Syntax-Hervorhebungen bewirken, dass der Editor den Text automatisch in verschiedenen Farben und Schriftstilen anzeigt, abhängig von der Funktion der Zeichenkette in Beziehung zum Zweck des Dokuments. Zum Beispiel können in Quelltext Kontrollbefehle fett dargestellt werden, während Daten und Kommentare andere Farben als der Rest des Textes bekommen. Dies verbessert die Lesbarkeit des Textes erheblich und verhilft damit dem Autor zu mehr Effizienz und Produktivität.

Eine Perl-Funktion, mit Hervorhebungen angezeigt.

Eine Perl-Funktion, mit Hervorhebungen angezeigt.

Dieselbe Perl-Funktion, ohne Hervorhebungen.

Dieselbe Perl-Funktion, ohne Hervorhebungen.

Welche der beiden ist einfacher zu lesen?

KatePart enthält ein flexibles, konfigurierbares und leistungsfähiges System für Syntax-Hervorhebungen, und die Standarddistribution enthält bereits Definitionen für eine Anzahl von Programmiersprachen, Markup- und Skriptsprachen sowie andere Textformaten. Außerdem können Sie eigene Definitionen in einfachen XML-Dateien erstellen.

KatePart erkennt auf Basis des MIME-Typs, der Dateiendung oder des Inhalts des Dokuments bereits beim Öffnen des Dokuments automatisch die richtigen Regeln für die Syntax-Hervorhebungen. Wenn die automatische Auswahl nicht die richtigen Regeln ausgewählt hat, können Sie dies manuell korrigieren (ExtrasHervorhebung).

Die Schriftstile und Farben, die von jeder Syntax-Hervorhebungsdefinition benutzt werden, können auf der Seite Hervorhebungs-Schriftarten des Einrichtungsdialogs festgelegt werden, die Einrichtung der MIME-Typen und Dateierweiterung, auf die diese angewendet werden, ist auf der Seite Dateitypen möglich.

Anmerkung

Syntax-Hervorhebungen sind dazu gedacht die Lesbarkeit von Text zu verbessern, aber nicht dazu geeignet die Richtigkeit des Quelltextes zu überprüfen. Die Erstellung der Regeln für die Hervorhebungen ist kompliziert, abhängig davon, welches Format Sie benutzen. In manchen Fällen sind die Autoren der Regeln stolz, wenn 98 % des Textes korrekt hervorgehoben werden, meistens jedoch sehen Sie die nicht korrekten 2 % nur bei seltenen Konstruktionen.

Tipp

Sie können weitere oder aktualisierte Syntax-Hervorhebungsdefinitionen von der KatePart-Webseite durch Klicken auf Herunterladen im Dialog Hervorhebungen einrichten des Einrichtungsdialogs einrichten bzw. aktualisieren.

Das KatePart Syntax-Hervorhebungssystem

Dieser Abschnitt behandelt die Mechanismen des KatePart Syntax-Hervorhebungssystems genauer. Wenn Sie selbst Definitionen erstellen oder verändern möchten, sollten Sie diesen genau lesen.

Wie es funktioniert

Immer, wenn Sie ein Dokument öffnen, ist eines der ersten Dinge, die KatePart macht, festzustellen, welche Syntaxdefinition für dieses Dokument benutzt werden soll. Während Sie den Text lesen und neuen Text eingeben, analysiert das Syntax-Hervorhebungssystem den Text anhand der Regeln in der Syntaxdefinition und markiert ihn dementsprechend.

Wenn Sie Text eingeben, wird der neue Text sofort analysiert und markiert.

Die Syntaxdefinitionen, die in XML benutzt werden, sind XML-Dateien, die Folgendes enthalten

  • Regeln für das Erkennen von Text, organisiert in Kontextblöcken

  • Listen mit Schlüsselworten

  • Stildefinitionen

Beim Analysieren von Text werden die Erkennungsregeln in der Reihenfolge, in der sie definiert wurden, überprüft und wenn der Anfang des aktuellen Textes mit einer Definition übereinstimmt, wird der zugehörige Kontext benutzt. Der nächste Startpunkt wird nach dem Ende des erkannten Bereichs gesetzt und von dort aus wird eine neue Schleife für die Regeln mit dem Kontext der gerade gefundenen Regel gestartet.

Regeln

Die Erkennungsregeln sind das Herzstück des Syntax-Hervorhebungssystems. Eine Regel besteht aus einer Zeichenkette, einem Zeichen oder einem regulären Ausdruck. Mit diesen wird der zu analysierende Text verglichen. Sie enthalten Informationen, welche Darstellung für das erkannte Stück Text verwendet werden soll und ob entweder zu einem explizit angegebenem Kontext oder zum vorher vom Text benutzten Kontext gewechselt werden soll.

Die Regeln sind in Kontextgruppen organisiert. Eine Kontextgruppe wird für die grundlegenden Textkonzepte innerhalb des Formates benutzt, z. B. für Textteile in Anführungszeichen oder Kommentarblöcke in Programmquelltext. Dadurch wird sichergestellt, dass sich das Syntax-Hervorhebungssystem nicht unnötig durch alle Regeln hindurch arbeiten muss und dass einige Zeichenketten im Text abhängig vom aktuellen Kontext unterschiedlich behandelt werden können.

Kontexte können dynamisch generiert werden, um das Benutzen von Daten in Regeln zu erlauben, die nur auf diese Instanz zutreffen.

Kontextstile und Schlüsselwörter

In einigen Programmiersprachen werden Ganze Zahlen durch den Compiler (das Programm, das den Quelltext in ein ausführbares Programm übersetzt) anders behandelt als Gleitkommazahlen, und es gibt Zeichen, die eine spezielle Bedeutung innerhalb einer in Anführungszeichen eingeschlossenen Zeichenkette haben. In solchen Fällen ist es sinnvoll, diese unterschiedlich darzustellen, sodass sie beim Lesen einfach vom umgebenden Text zu unterscheiden sind. Auch wenn diese keine speziellen Kontexte repräsentieren, können sie durch das Syntax-Hervorhebungssystem erkannt und anders dargestellt werden.

Eine Syntaxdefinition kann so viele verschiedene Stile beinhalten, wie für das Format notwendig sind.

In vielen Formaten gibt es Listen mit Wörtern, die einem speziellen Konzept zugehörig sind. In Programmiersprachen sind z. B. die Kontrollanweisungen ein Konzept, die Datentypen ein anderes und die eingebauten Funktionen ein drittes. Das Syntax-Hervorhebungssystem von KatePart kann benutzt werden, um solche Wörter anhand der Listen zu finden und zur Hervorhebung der Konzepte im Text zu markieren.

Standardstile

Wenn Sie eine C++-Quelltextdatei, eine Java™-Quelltextdatei und eine HTML-Datei in KatePart öffnen, sehen Sie dass auch in unterschiedlichen Formaten und damit unterschiedlichen Worten, die spezielle Behandlung bekommen, die benutzten Farben dieselben sind. Der Grund dafür ist, dass KatePart vordefinierte Standardstile benutzt, die von den individuellen Syntaxdefinitionen verwendet werden.

Dadurch wird die Erkennung von ähnlichen Konzepten in verschiedenen Textformaten einfach. Kommentare z. B. gibt es in fast allen Programmiersprachen, Skripten und Markup-Sprachen; diese werden in allen Sprachen gleich dargestellt, sodass Sie sich auf die Arbeit konzentrieren können und nicht über den Zweck einzelner Einträge nachdenken müssen.

Tipp

Alle Stile in einer Syntaxdefinition nutzen einen der Standardstile. Einige wenige Syntaxdefinitionen nutzen mehr Stile als Standardstile vorhanden sind. Wenn Sie ein Format sehr oft benutzen, kann es die Arbeit wert sein, den Einrichtungsdialog zu starten und nachzusehen, ob mehrere Konzepte dieselben Stile benutzen. In der Programmiersprache Perl z. B. gibt es zwei Typen von Zeichenketten, sodass Sie die Hervorhebung durch eine etwas andere Darstellung des zweiten Typs verbessern können. Alle verfügbaren Standardstile, werden weiter unten erklärt.

Die Hervorhebungsdefinition für das XML Format

Überblick

KatePart verwendet die Syntax-Highlighting-Bibliothek von KDE Frameworks. Die in KatePart enthaltenen Standard-Hervorhebungsdateien werden in die Syntax-Highlighting-Bibliothek einkompiliert.

Dieser Abschnitt ist ein Überblick über die Hervorhebungsdefinition für das XML-Format.. Es beschreibt die Hauptbestandteile, deren Bedeutung und Verwendung. Im nächsten Kapitel werden die Erkennungsregeln detailliert beschrieben.

Die formale Definition XSD finden Sie im Syntax-Highlighting-Repository in der Datei language.xsd.

Eigene .xml-Dateien mit Definitionen zur Syntax-Hervorhebung sind im Ordner org.kde.syntax-highlighting/syntax/ in Ihrem persönlichen Ordner. Den Pfad zu diesem Ordner finden Sie mit qtpaths--paths GenericDataLocation. Normalerweise ist dies $HOME/.local/share.

Auf Windows®-Systemen finden Sie diese Dateien unter %USERPROFILE%/AppData/Local/org.kde.syntax-highlighting/syntax. Dabei ist %USERPROFILE% normalerweise C:\\Users\\user.

Hauptbestandteile der KatePart-Hervorhebungsdefinitionen

Eine Hervorhebungsdefinitionsdatei enthält einen Kopf mit der XML-Version:
<?xml version="1.0" encoding="UTF-8"?>
Die Wurzel der Definitionsdatei ist das Element language. Verfügbare Eigenschaften sind:

Notwendige Eigenschaften:

name setzt den Namen der Sprache. Dieser erscheint nachher in Menüs und in Dialogen.

Die Eigenschaft section definiert die Kategorie.

extensions definiert die Erweiterungen für Dateinamen wie z. B. "*.cpp;*.h".

version gibt die aktuelle Revision der Definitionsdatei als ganze Zahl an. Bei jeder Änderung einer Hervorhebungs-Datei sollte diese Zahl vergrößert werden.

kateversion definiert die letzte unterstützte Version von KatePart.

Optionale Eigenschaften:

mimetype ordnet Dateien basierend auf deren MIME-Type zu.

casesensitive definiert, ob bei den Schlüsselwörtern Groß-/Kleinschreibung unterschieden wird oder nicht.

priority ist notwendig, wenn eine andere Hervorhebungsdefinitionsdatei die gleichen Dateinamenerweiterung benutzt. Die Definitionsdatei mit der höheren Priorität wird dann benutzt.

author enthält den Namen des Autors und dessen E-Mail-Adresse.

license enthält die Lizenz der Datei, normalerweise wird hier die MIT-Lizenz für neue Dateien benutzt.

style enthält die Programmiersprache, die mit der Definition zur Verfügung gestellt wird und wird durch das Einrückungsskript für die Eigenschaft required-syntax-style benutzt.

hidden definiert, ob der Name in Menüs von KatePart erscheinen soll.

Die nächste Zeile könnte wie folgt aussehen:

<language name="C++" version="1" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" />
Als nächstes kommt das Element highlighting, das das optionale Element list und die notwendigen Elemente contexts und itemDatas enthält.

list-Elemente enthalten eine Liste von Schlüsselwörtern. In diesem Fall sind die Schlüsselwörter class und const. Sie können so viele hinzufügen, wie Sie brauchen.

Das Element contexts enthält alle Kontexte. Der erste Kontext ist Standard bei Start der Hervorhebungen. Es gibt zwei Regeln im Kontext Normal Text, die auf die Liste mit Schlüsselwörtern mit dem Namen somename und eine Regel, die Anführungszeichen entdeckt und zum Kontext string umschaltet. Weitere Informationen zu Regeln finden Sie im nächsten Kapitel.

Der dritte Teil ist das Element itemDatas. Es enthält alle Farb- und Schriftartstile, die durch die Kontexte und Regeln benötigt werden. In diesem Beispiel werden itemData, Normal Text, String und Keyword benutzt.

<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="&quot;" />
      </context>
      <context attribute="String" lineEndContext="#stay" name="string" >
        <DetectChar attribute="String" context="#pop" char="&quot;" />
      </context>
    </contexts>
    <itemDatas>
      <itemData name="Normal Text" defStyleNum="dsNormal" />
      <itemData name="Keyword" defStyleNum="dsKeyword" />
      <itemData name="String" defStyleNum="dsString" />
    </itemDatas>
  </highlighting>
Der letzte Teil der Hervorhebungsdefinition ist der optionale Abschnitt general. Dieser kann Informationen über Schlüsselwörter, Quelltextausblendungen, Kommentare und Einrückungen enthalten.

Der Abschnitt comment definiert, mit welcher Zeichenkette eine einzelne Kommentarzeile beginnt. Sie können außerdem mehrzeilige Kommentare definieren, indem Sie multiLine mit der zusätzlichen Eigenschaft end benutzen. Diese werden benutzt, wenn Sie das Tastaturkürzel für Kommentar / Kommentar entfernen drücken.

Der Abschnitt keywords definiert, ob in den Schlüsselwortlisten nach Groß- und Kleinschreibung unterschieden wird oder nicht. Andere Eigenschaften werden später erläutert.

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

Die Abschnitte im Einzelnen

Dieser Teil beschreibt alle verfügbaren Eigenschaften für Kontexte, itemDatas, Schlüsselwörter, Kommentare, Quelltextausblendungen und Einrückungen.

Das Element context gehört in die Gruppe contexts. Ein Kontext selbst definiert spezielle Regeln, wie zum Beispiel, was geschehen soll, wenn das Hervorhebungssystem ein Zeilenende erreicht. Die verfügbaren Eigenschaften sind:

Der Kontextname name. Regeln benutzen diesen Namen, um festzulegen, zu welchem Kontext umgeschaltet wird, wenn die Regel zutrifft.

Der Kontext lineEndContext definiert den Kontext, zu dem das Hervorhebungssystem umschaltet, wenn es ein Zeilenende erreicht. Das kann entweder der Name eines anderen Kontextes sein, #stay um den Kontext nicht umzuschalten, (z. B. tue nichts) oder #pop das bewirkt, dass der Kontext verlassen wird. Es ist möglich, zum Beispiel #pop#pop#pop zu verwenden, um drei Kontextebenen zu verlassen oder mit #pop#pop!OtherContext zwei Kontextebenen zu verlassen und in einen neuen Kontext zu springen.

lineEmptyContext definiert den Kontext, der in einer leeren Zeile verwendet wird. Standard hierfür ist: #stay.

fallthrough definiert,ob das Hervorhebungssystem zu dem in fallthroughContext definiertem Kontext umschaltet, wenn keine Regel zutrifft Standard ist hier : false.

fallthroughContext definiert den nächsten Kontext, wenn keine Regel zutrifft.

dynamic Wenn true, erinnert sich der Kontext an Zeichenketten und Platzhalter, die durch dynamische Regeln gespeichert wurden. Dies wird z. B. für HERE-Dokumente benötigt. Standard: false.

Das Element itemData ist in der Gruppe itemDatas. Es definiert die Schriftarten und Schriftfarben. So ist es möglich, Ihre eigenen Schriftarten und -farben festzulegen. Wir empfehlen jedoch, bei den vordefinierten Einstellungen zu bleiben, sodass in unterschiedlichen Sprachen trotzdem die gleichen Farben angezeigt werden. Manchmal ist es doch nötig, die Farben und Schriftarten zu ändern. Der Name der Eigenschaft und defStyleNum müssen angeben werden, alle anderen können verwendet werden, sind aber nicht unbedingt nötig. Die verfügbaren Eigenschaften sind:

name setzt den Namen von itemData. Kontexte und Regel benutzen diesen Namen in ihrer Eigenschaft attribute, um den Bezug zum itemData herzustellen.

defStyleNum definiert, welcher Stil standardmäßig benutzt wird. Die verfügbaren Stile werden später näher erläutert.

color definiert eine Farbe. Erlaubte Formate hierfür sind: ‚#rrggbb‘ oder ‚#rgb‘.

selColor definiert die Farbe für die Hervorhebung.

italic Wenn true, dann wird der Text in Kursivschrift dargestellt.

bold Wenn true, dann wird der Text in Fettschrift dargestellt.

underline Wenn true, dann wird der Text unterstrichen dargestellt.

strikeout Wenn true, dann wird der Text durchgestrichen dargestellt.

spellChecking Wenn true, dann wird die Rechtschreibprüfung für den Text aktiviert.

Das Element keywords in der Gruppe general definiert Eigenschaften von Schlüsselwörtern. Verfügbare Eigenschaften sind:

casesensitive kann true oder false sein. Wenn es true ist, dann wird bei allen Schlüsselwörtern die Groß- und Kleinschreibung beachtet.

weakDeliminator ist eine Liste von Zeichen, die nicht als Wortbegrenzung wirken. Der Punkt '.' ist zum Beispiel eine Wortbegrenzung. Nehmen Sie an, ein Schlüsselwort in einer list enthält einen Punkt, diese Schlüsselwort kann nur dann erkannt werden, wenn Sie den Punkt als weakDeliminator festlegen.

additionalDeliminator definiert zusätzliche Wortbegrenzungen.

wordWrapDeliminator definiert Zeichen, nach denen ein Zeilenumbruch erfolgen kann.

Standard für Wortbegrenzer und Zeilenumbruchbegrenzer sind die Zeichen .():!+,-<=>%&*/;?[]^{|}~\, Leerzeichen (' ') und der Tabulator ('\t').

Das Element comment in der Gruppe comments definiert Eigenschaften für Kommentare, die für ExtrasKommentar und ExtrasKommentar entfernen benutzt werden. Verfügbare Eigenschaften hierfür sind:

name ist entweder singleLine oder multiLine. Wenn Sie multiLine auswählen, müssen auch die Eigenschaften end und region benutzt werden.

start definiert die Zeichenkette, die einen Kommentar beginnt. In C++ ist dies zum Beispiel "/*".

end definiert die Zeichenkette, die einen Kommentar beendet. In C++ ist dies zum Beispiel "*/".

region sollte der Name von ausblendbaren Mehrzeilenkommentaren sein. Nehmen Sie an, Sie haben beginRegion=Comment ... endRegion=Comment in Ihren Regeln, dann sollten Sie region=Comment benutzen. Auf diesem Wege funktioniert das automatische Entfernen von Kommentaren auch dann, wenn Sie nicht den gesamten Text des mehrzeiligen Kommentars auswählen. Es muss nur der Cursor innerhalb des mehrzeiligen Kommentars stehen.

Das Element folding in der Gruppe general definiert Eigenschaften für ausblendbaren Quelltext. Verfügbare Eigenschaften sind:

indentationsensitive Wenn true, werden die Markierungen für Quelltextausblendungen basiert auf Einrückungen gesetzt, wie zum Beispiel in der Skriptsprache Python. Normalerweise brauchen Sie dies nicht zu setzen, Standard ist false.

Das Element indentation in der Gruppe general definiert, welche Einrücker benutzt werden. Wir empfehlen jedoch, dieses Element nicht zu benutzen, da der Typ des Einrückers normalerweise durch den Dateityp oder durch Hinzufügen einer Modezeile zur Textdatei gesetzt wird. Wenn Sie trotzdem einen Einrücker bestimmen, dann zwingen Sie den Benutzer eine bestimmte Einrückung zu verwenden, die dieser eventuell nicht nutzen möchte. Verfügbare Eigenschaften sind:

mode ist der Name des Einrückers. Verfügbare Einrücker sind zurzeit: normal, cstyle, haskell, lilypond, lisp, python, ruby und xml.

Verfügbare Standardstile

Standardstile wurden als kurze Zusammenfassung bereits erklärt. Standardstile sind vordefinierte Schriftarten und -farben.

Allgemeine Standardstile:

dsNormal, wenn keine spezielle Hervorhebung benötigt wird

dsKeyword, benutzt für eingebaute Sprach-Schlüsselwörter.

dsFunction, benutzt für Funktionsaufrufe und -definitionen.

dsVariable, falls zutreffend Variablennamen z. B. $someVar in PHP/Perl.

dsControlFlow, Kontrollfluss-Schlüsselwörter wie if, else, switch, break, return, yield, ...

dsOperator, Operatoren wie + - * / :: < >

dsBuiltIn, eingebaute Funktionen, Klassen und Objekte.

dsExtension, allgemeine Erweiterungen wie zum Beispiel Qt-Klassen und Funktionen/Makros in C++ und Python.

dsPreprocessor, Präprozessor-Anweisungen oder Makro-Definitionen.

dsAttribute, Anmerkungen wie @override und __declspec(...).

Standardstile für Zeichenketten:

dsChar, benutzt für einzelne Buchstaben wie „X“.

dsSpecialChar, Zeichen mit besonderer Bedeutung in Zeichenketten wie Escape-Sequenzen, Ersetzungen oder Operatoren für reguläre Ausdrücke.

dsString, benutzt für Zeichenketten wie „Hallo Welt“.

dsVerbatimString, wörtliche oder unveränderte Zeichenketten wie „raw \backlash“ in Perl, CoffeeScript und Shells wie auch r'\raw' in Python.

dsSpecialString, SQL, Reguläre Ausdrücke, HERE-Dokumente, LaTeX-Mathematikmodus, ...

dsImport, import, include, erforderliche Module.

Standardstile für Zahlen:

dsDataType, benutzt für eingebaute Datentypen wie int, void, u64.

dsDecVal, benutzt für Dezimalwerte.

dsBaseN, benutzt für Werte mit einer anderen Zahlenbasis als 10.

dsFloat, benutzt für Gleitkommawerte.

dsConstant, eingebaute und benutzerdefinierte Konsonanten wie Pi.PI.

Standardstile für Kommentare und Dokumentation:

dsComment, benutzt für Kommentare.

dsDocumentation, /** Dokumentation-Kommentare */ oder """docstrings""".

dsAnnotation, Dokumentations--Befehle wie @param, @brief.

dsCommentVar, die in den vorher genannten Befehlen verwendeten Variablennamen wie „foobar“ in @param foobar.

dsRegionMarker, benutzt für Markierungen von Bereichen wie //BEGIN, //END in Kommentaren.

Andere Standardstile:

dsInformation, Notizen und Hinweise wie @note in doxygen.

dsWarning, Warnungen wie @warning in doxygen.

dsAlert, besondere Wörter wie TODO, FIXME, XXXX.

dsError, benutzt für Hervorhebungen von Fehlern und für fehlerhafter Syntax.

dsOthers, wenn nichts anderes passt.

Hervorhebungs-Erkennungsregeln

Dieser Abschnitt beschreibt die Hervorhebungs-Erkennungsregeln

Jede Regel kann auf Null oder mehrere Zeichen am Anfang der untersuchten Zeichenkette zutreffen. Wenn eine Übereinstimmung gefunden wird, wird den erkannten Zeichen der Stil oder die Eigenschaft, die durch die Regel festgelegt wurde, zugeordnet, Außerdem kann die Regel ein Umschalten des aktuellen Kontexts anfordern.

Eine Regel sieht wie folgt aus:

<RuleName attribute="(identifier)" context="(identifier)" [rule specific attributes] />

Die attribute (Eigenschaft) legt den Namen des Stils fest, der für die erkannten Zeichen benutzt werden soll und der context (Kontext) legt den Kontext fest, der ab hier benutzt werden soll.

Der context (Kontext) kann durch Folgendes identifiziert werden:

  • Einen identifier, der der Name eines anderen Kontextes ist.

  • Eine Anweisung, die vorgibt, im aktuellen Kontext zu bleiben (#stay), oder zu einem vorher in der Zeichenkette benutzten Kontext zurückzuspringen (#pop).

    Zum Zurückgehen über mehrere Schritte kann das Schlüsselwort #pop wiederholt werden: #pop#pop#pop

  • Eine Anweisung order, die von einem Ausrufezeichen (!) und einem identifier gefolgt wird, veranlasst Kate erst die Anweisung order auszuführen und dann in den Kontext identifier umzuschalten, z. B. #pop#pop!OtherContext.

Regeln können child rules(Unterregeln) haben, deren Einhaltung nur dann untersucht wird, wenn die Einhaltung der Hauptregel erkannt wurde. Der gesamten erkannten Zeichenkette wird die durch die Hauptregel festgelegte attribute (Eigenschaft) zugeordnet. Eine Regel mit Unterregel sieht z. B. so aus:

<RuleName (attributes)>
  <ChildRuleName (attributes) />
  ...
</RuleName>

Regelspezifische Eigenschaften sind unterschiedlich und werden im Folgenden beschrieben.

Gemeinsame Eigenschaften

Alle Regeln haben die folgenden Eigenschaften gemeinsam und sind immer verfügbar, wenn (common attributes) erscheint. attribute und context sind notwendige Eigenschaften, alle anderen sind optional, müssen also nicht benutzt werden.

  • attribute: Eine Eigenschaft zeigt auf ein bestimmtes itemData-Element.

  • context: Legt den Kontext fest, zu dem das Hervorhebungssystem umschaltet, wenn die Regel als zutreffend erkannt wird.

  • beginRegion: Beginnt einen Quelltextausblendungsblock. Standard ist: unset.

  • endRegion: Beendet eine Quelltextausblendungsblock. Standard ist: unset.

  • lookAhead: Wenn true, dann wird das Hervorhebungssystem die Länge der Übereinstimmung nicht verarbeiten. Standard ist: false.

  • firstNonSpace: Trifft nur dann zu, wenn die Zeichenkette als erstes nach Zwischenräumen in der Zeile erkannt wird. Standard ist: false.

  • column: Trifft nur dann zu, wenn die Spalte zutrifft. Standard ist: unset.

Dynamische Regeln

Einige Regeln erlauben die Benutzung der optionalen Eigenschaft dynamic, Standard ist hier false.Wenn diese Eigenschaft auf true gesetzt wird, kann eine Regel in ihren Eigenschaften string oder char Platzhalter verwenden, die den zutreffenden Text aus einer als regulärem Ausdruck formulierten Regel enthält. Diese Regel muss direkt in den gegenwärtigen Kontext umgeschaltet haben. In einem string wird der Platzhalter %N (wobei N eine Zahl sein muss) ersetzt durch das Ergebnis für N aus dem aufrufenden regulären Ausdruck. In einem char muss der Platzhalter auch eine Zahl N sein und wird durch das erste Zeichen aus dem Ergebnis für N aus dem aufrufenden regulären Ausdruck ersetzt. Immer wenn eine Regel diese Eigenschaft erlaubt, dann enthält diese ein (dynamic).

  • dynamic: kann (true oder false) sein.

Die Regeln im Einzelnen:

DetectChar

Findet ein einzelnes bestimmtes Zeichen. Häufig zum Finden des Endes von Zeichenketten in Anführungszeichen benutzt.

<DetectChar char="(character)" (common attributes) (dynamic) />

Die Eigenschaft char definiert das zu erkennende Zeichen.

Detect2Chars

Findet zwei bestimmte Zeichen in einer bestimmten Reihenfolge.

<Detect2Chars char="(character)" char1="(character)" (common attributes) (dynamic) />

Die Eigenschaft char definiert das erste zu erkennende Zeichen, char1 das zweite.

AnyChar

Findet ein Zeichen aus einem bestimmten Satz von Zeichen.

<AnyChar String="(string)" (common attributes) />

Die Eigenschaft String definiert den Satz der Zeichen.

StringDetect

Findet eine bestimmte Zeichenkette.

<StringDetect String="(string)" [insensitive="true|false"] (common attributes) (dynamic) />

Die Eigenschaft String definiert die zu erkennende Zeichenkette. Die Eigenschaft insensitive ist standardmäßig auf false gesetzt und wird an die Zeichenketten-Vergleichsfunktion übergeben. Wenn der Wert auf true gesetzt wird, wird Groß- und Kleinschreibung ignoriert.

WordDetect

Findet eine Zeichenkette, aber zusätzlich werden die Wortgrenzen wie ein Punkt '.' oder ein Leerzeichen am Anfang und Ende des Wortes beachtet. Dies funktioniert wie der reguläre Ausdruck \b<string>\b, ist aber schneller als die Regel RegExpr.

<WordDetect String="(string)" [insensitive="true|false"] (common attributes) (dynamic) />

Die Eigenschaft String definiert die zu erkennende Zeichenkette. Die Eigenschaft insensitive ist standardmäßig auf false gesetzt und wird an die Zeichenketten-Vergleichsfunktion übergeben. Wenn der Wert auf true gesetzt wird, wird Groß- und Kleinschreibung ignoriert.

Seit: Kate 3.5 (KDE 4.5)

RegExpr

Prüft die Übereinstimmung mit einem regulären Ausdruck.

<RegExpr String="(string)" [insensitive="true|false"] [minimal="true|false"] (common attributes) (dynamic) />

Die Eigenschaft String definiert den regulären Ausdruck.

Die Eigenschaft insensitive ist standardmäßig auf false gesetzt und wird an die Funktion zur Auswertung des regulären Ausdrucks übergeben.

Die Eigenschaft minimal ist standardmäßig auf false gesetzt und wird an die Funktion zur Auswertung des regulären Ausdrucks übergeben.

Weil die Regeleinhaltung immer am Anfang der aktuellen Zeichenkette geprüft wird, kann mit dem Hochzeichen (^) angegeben werden, dass die Regeleinhaltung nur am Anfang der Zeile untersucht werden soll.

Sehen Sie unter Reguläre Ausdrücke für weitere Informationen zu diesen nach.

keyword

Erkennt ein Schlüsselwort aus einer angegebenen Liste.

<keyword String="(list name)" (common attributes) />

Die Eigenschaft String definiert die Schlüsselwortliste durch deren Name. Eine Liste mit diesem Namen muss vorhanden sein.

Das Hervorhebungssystem verarbeitet die Regeln mit sehr stark optimierten Methoden. Deswegen ist es absolut notwendig, dass alle Schlüsselworte, die gefunden werden sollen, durch definierte Begrenzer eingeschlossen werden. Das können entweder die Standardbegrenzer sein oder Begrenzer, die mit der Eigenschaft additionalDeliminator des Tagskeywords festgelegt wurden.

Wenn ein Schlüsselwort ein Begrenzerzeichen enthalten soll, dann muss dieses Zeichen zur Eigenschaft weakDeliminator des Tags keywords hinzugefügt werden. Dieses Zeichen verliert damit seine Funktion als Begrenzer in allen keyword-Regeln.

Int

Erkennt eine ganze Zahl(integer).

<Int (common attributes) (dynamic) />

Diese Regel hat keine speziellen Eigenschaften. Unterregeln werden häufig dazu benutzt, um Kombinationen von L und U nach der Zahl zu erkennen, die den Typ der Integerzahl im Programm beschreiben. Eigentlich sind alle Regel als Unterregeln erlaubt, aber die DTD erlaubt nur die Unterregel StringDetect.

Das folgende Beispiel trifft auf Integerzahlen, gefolgt vom Zeichen ‚L‘ zu.

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

Findet eine Gleitkommazahl.

<Float (common attributes) />

Diese Regel hat keine speziellen Eigenschaften. AnyChar ist als Unterregel erlaubt und wird normalerweise dazu benutzt, um Kombinationen zu finden. Sehen Sie in der Beschreibung der Regel Int für nähere Informationen hierzu nach.

HlCOct

Findet eine oktale Zahl.

<HlCOct (common attributes) />

Diese Regel hat keine speziellen Eigenschaften.

HlCHex

Findet eine Hexadezimalzahl.

<HlCHex (common attributes) />

Diese Regel hat keine speziellen Eigenschaften.

HlCStringChar

Findet ein Steuerzeichen.

<HlCStringChar (common attributes) />

Diese Regel hat keine speziellen Eigenschaften.

Solche Zeichen sind durch druckbare Zeichen dargestellte nichtdruckbare Zeichen, die in Programmquelltexten häufig benutzt werden. z. B.: \n (Zeilenvorschub) oder \t (TAB)

Die folgenden Zeichen werden erkannt, wenn sie einem Linksschrägstrich \ folgen: abefnrtv"'?. Zusätzlich werden auch hexadezimale (\xff) oder oktale (\033) Zahlen nach einem \ erkannt.

HlCChar

Findet ein C Zeichen.

<HlCChar (common attributes) />

Diese Regel hat keine speziellen Eigenschaften.

Trifft zu, wenn C Zeichen in einfachen Anführungszeichen (Beispiel: 'c') vorkommen. In den Anführungszeichen kann ein einfaches Zeichen oder Sonderzeichen (Beispiel: ' ') stehen. Für Zeichenfolgen von Sonderzeichen sehen Sie unter HlCStringChar nach.

RangeDetect

Findet eine Zeichenkette mit definierten Anfangs- und Endzeichen.

<RangeDetect char="(character)"  char1="(character)" (common attributes) />

char definiert das Zeichen am Anfang des Bereichs, char1 das Zeichen am Ende des Bereichs.

Diese Regel ist für das Finden von kleinen Zeichenketten in Anführungszeichen nützlich, kann aber wegen der verwendeten Funktion keine über mehrere Zeilen gehenden Zeichenketten finden.

LineContinue

Trifft auf ein angegebenes Zeichen an einem Zeilenende zu.

<LineContinue (common attributes) [char="\"] />

Die Eigenschaft char definiert das optionale zu erkennende Zeichen, Standard ist der Rückstrich '\'. Neu seit KDE 4.13.

Diese Regel wird zum Umschalten des Kontextes am Ende einer Zeile benutzt. Dies wird in C/C++ zum Fortsetzen von Makros oder Zeichenketten gebraucht.

IncludeRules

Schließt Regeln aus einem anderen Kontext, einer anderen Sprache oder einer anderen Datei ein.

<IncludeRules context="contextlink" [includeAttrib="true|false"] />

Die Eigenschaft context definiert, welcher Kontext eingeschlossen werden soll.

Wenn dies eine einfache Zeichenkette ist, dann werden alle definierten Regeln in den gegenwärtigen Kontext eingeschlossen. Beispiel:

<IncludeRules context="anotherContext" />

Wenn die Zeichenkette eine ##-Nutzereingabe enthät, dann wird das Hervorhebungssystem einen Kontext aus einer anderen Sprachdefinition mit dem angegebenen Namen suchen, zum Beispiel:

<IncludeRules context="String##C++" />

schliesst den Kontext String aus der Sprachdefinition für C++ ein.

Wenn die Eigenschaft includeAttrib true ist, dann wird die Zieleigenschaft zu der aus der Quelle geändert. Dies wird zum Beispiel für Kommentare gebraucht, wenn der Text, der durch den eingeschlossenen Kontext anders hervorgehoben wird, als im gegenwärtigen Kontext.

DetectSpaces

Finde Zwischenräume.

<DetectSpaces (common attributes) />

Diese Regel hat keine speziellen Eigenschaften.

Benutzen Sie diese Regel, wenn Sie wissen, dass jetzt mehrere Zwischenräume folgen, zum Beispiel am Anfang von eingerückten Zeilen. Diese Regel überspringt mehrere Zwischenräume mit einem Mal, ohne diese einzeln auf die Einhaltung von anderen Regeln zu testen und dann nach Nichtzutreffen einzeln zu überspringen.

DetectIdentifier

Finde Zeichenketten als Bezeichner (als regulärer Ausdruck: [a-zA-Z_][a-zA-Z0-9_]*).

<DetectIdentifier (common attributes) />

Diese Regel hat keine speziellen Eigenschaften.

Benutzen Sie diese Regel zum Überspringen von Wörtern mit einem Mal, ohne die Zeichen im Wort einzeln auf die Einhaltung von anderen Regeln zu testen und dann nach Nichtzutreffen zu überspringen.

Tipps & Tricks

Wenn Sie einmal verstanden haben, wie das Umschalten zwischen Kontexten funktioniert, dann ist es einfach Hervorhebungsdefinitionen zu schreiben. Sie sollten jedoch sorgfältig entscheiden, welche Regel in welcher Situation Sie verwenden. Reguläre Ausdrücke sind sehr leistungsfähig, aber verglichen mit einfachen Regeln langsam. Sie sollten daher die folgenden Tipps beachten.

  • Wenn Sie nur zwei Zeichen vergleichen, dann benutzen Sie Detect2Chars an Stelle von StringDetect. Das Gleiche gilt für DetectChar.

  • Reguläre Ausdrücke sind einfach zu benutzen, aber oft gibt es einen anderen viel schnelleren Weg, um das gleiche Ergebnis zu erreichen. Nehmen Sie an, Sie wollen feststellen, ob das Zeichen '#' das erste Zeichen einer Zeile ist. Ein regulärer Ausdruck dafür wäre:

    <RegExpr attribute="Macro" context="macro" String="^\s*#" /> 

    Sie können aber auch die wesentlich schnellere Lösung:

    <DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" />

    benutzen. An Stelle des regulären Ausdrucks '^#' können Sie DetectChar mit der Eigenschaft column="0" benutzen. Die Eigenschaft column zählt Zeichenbasiert, sodass auch ein Tabulator nur ein Zeichen ist.

  • Sie können zwischen Kontexten umschalten, ohne Zeichen zu verarbeiten. Nehmen Sie an, Sie wollen den Kontext umschalten, wenn Sie die Zeichenkette */ finden, aber Sie müssen diese Zeichenkette im nächsten Kontext verarbeiten. Die folgende Regel trifft zu und die Eigenschaft lookAhead sorgt dafür, dass die zutreffende Zeichenkette für den folgenden Kontext bereitgehalten wird.

    <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />

  • Benutzen Sie DetectSpaces, wenn Sie wissen, dass mehrere Zwischenräume vorkommen.

  • Benutzen Sie DetectIdentifier an Stelle des regulären Ausdrucks '[a-zA-Z_]\w*'.

  • Benutzen Sie Standardstile wann immer das möglich ist. Die Benutzer finden dadurch eine vertraute Umgebung vor.

  • Sehen Sie in anderen XML-Dateien nach, wie andere Benutzer komplizierte Regeln geschrieben haben.

  • Sie können die Gültigkeit jeder XML-Datei mit dem Befehl validatehl.sh language.xsd mySyntax.xml überprüfen. Die Dateien validatehl.sh und language.xsd finden Sie im Syntax-Highlighting-Repository.

  • Wenn Sie komplexe reguläre Ausdrücke oft wiederholen, können Sie ENTITIES benutzen. Beispiel:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE language SYSTEM "language.dtd"
    [
            <!ENTITY myref    "[A-Za-z_:][\w.:_-]*">
    ]>
    

    Nun können Sie &myref; an Stelle des regulären Ausdrucks benutzen.

Scripting mit JavaScript

Scripting mit JavaScript

Die Editorkomponente von KatePart kann durch Skripte erweitert werden. Als Skriptsprache wird ECMAScript verwendet, das auch unter dem Namen JavaScript bekannt ist. In KatePart können zwei Arten von Skripten benutzt werden: Einrückungs- und Befehlszeilenskripte.

Einrückungsskripte

Mit Einrückungsskripten wird der Quelltext automatisch bei der Eingabe eingerückt. Nach Drücken der Eingabetaste wird die Einrückungstiefe zum Beispiel oft vergrößert.

Die folgenden Abschnitte beschreiben Schritt für Schritt, wie das Gerüst für ein einfaches Einrückungsskript entsteht. Zuerst wird eine neue *.js-Datei z. B. mit dem Namen $XDG_DATA_HOME/katepart5/script/indentation erzeugt. Darin wird die Umgebungsvariable XDG_DATA_HOME normalerweise entweder zu ~/.local oder ~/.local/share erweitert.

Auf Windows®-Systemen finden Sie diese Dateien unter %USER%\AppData\Local\katepart5\indentation. Dabei ist %USER% normalerweise C:\\Users\\user.

Der Vorspann des Einrückungsskripts

Der Vorspann der Datei javascript.js ist als JSON am Anfang des Dokumentes eingebettet und hat folgende Form:

var katescript = {
    "name": "JavaScript",
    "author": "Example Name <example.name@some.address.org>",
    "license": "BSD License",
    "revision": 1,
    "kate-version": "5.1",
    "required-syntax-style": "javascript",
    "indent-languages": ["javascript"],
    "priority": 0,
}; // kate-script-header, muss am Anfang der Datei stehen und darf keine Kommentare enthalten

Jede Zeile wird jetzt im Detail erklärt:

  • name [erforderlich]: Dies ist der Name des Skripts, der im Menü ExtrasEinrückung und im Einrichtungsdialog angezeigt wird.

  • author [optional]: Der Name des Autors und weitere Kontaktinformationen.

  • license [optional]: Kurzform der Lizenz, wie zum Beispiel BSD-Lizenz oder LGPLv3.

  • revision [erforderlich]: Die Version des Skripts, sie sollte bei jeder Änderung des Skripts erhöht werden.

  • kate-version [required]: Minimal erforderliche KatePart-Version.

  • required-syntax-style [optional]: Der erforderliche Sytaxstil, der zum angebenen style in Syntaxhervorhebungs-Stildateien passt. Dies ist wichtig für Einrückungsskripte, die besondere Informationen über die Hervorhebung im Dokument benötigen. Wenn ein erforderlicher Syntaxstil angegeben ist, ist das Einrückungsskript nur verfügbar, wenn auch die zugehörige Hervorhebung aktiviert ist. Dies verhindert ein nicht definiertes Verhalten beim Verwenden einer Einrückung ohne das erwartete Hervorhebungschema. Ein Beispiel dafür ist das Einrückungsskript für Ruby, das diese Option in den Dateien ruby.js und ruby.xml benutzt.

  • indent-languages [optional]: JSON-Feld von Syntaxstilen, die das Skript richtig einrücken kann, z. B.: ["c++", "java"].

  • priority [optional]: Wenn es mehrere Einrückungsskripte für eine bestimmte hervorgehobene Datei gibt, bestimmt die Priorität, welches Skript als Standard verwendet wird.

Der Quelltext des Einrückungsskripts

Nachdem der Vorspann beschrieben wurde, erklärt dieser Abschnitt wie das Einrückungsskript selbst funktioniert. Die Basisvorlage für den Quelltext sieht so aus:

// benötigt die Bibliothek „katepart js“ z. B. range.js wenn Range benutzt wird
require ("range.js");
  
triggerCharacters = "{}/:;";
function indent(line, indentWidth, ch)
{
    // wird für jedem Zeilenumbruch (ch == '\n') und alle in der 
    // globalen Variable triggerCharacters festgelegten Zeichen aufgerufen. Wenn ExtrasAusrichten
    // gewählt wird, ist die Variable ch leer, d. h. ch == ''.
    //
    // siehe auch: Skript-API
    return -2;
}

Die Funktion indent() hat drei Argumente:

  • line: die Zeile die eingerückt werden soll

  • indentWidth: die Einrückungstiefe mit der Anzahl der Leerzeichen

  • ch: entweder das Zeichen für Zeilenumbruch (ch == '\n'), ein in triggerCharacters festgelegtes Zeichen oder ein leeres Zeichen, wenn der Benutzer die Aktion ExtrasAusrichten aufgerufen hat.

Der Rückgabewert der Funktion indent() bestimmt, wie die Zeile eingerückt wird. Ist dieser Wert eine Ganze Zahl, wird sie wie folgt interpretiert:

  • Rückgabewert -2: keine Aktion

  • Rückgabewert -1: Einrückung beibehalten (sucht nach vorherigen nicht leeren Zeilen)

  • Rückgabewert 0: eine Zahl >= 0 gibt die Anzahl der Leerzeichen zum Einrücken an

Alternativ kann ein Feld mit zwei Elementen zurückgegeben werden:

  • Rückgabewert [ indent, align ];

In diesem Fall ist das erste Element die Einrückungstiefe wie oben mit derselben Bedeutung spezieller Werte. Das zweite Element ist ein absoluter Wert für die Spalte der Ausrichtung. Ist dieser Wert größer als der Einrückungswert, legt die Differenz der Werte die Anzahl von Leerzeichen fest, die zum ersten Wert für die gesamte Einrückung hinzuaddiert werden. Anderenfalls wird der zweite Rückgabewert ignoriert. Die Benutzung von Tabulator- und Leerzeichen wird oft als Mischmodus bezeichnet.

Betrachten Sie das folgende Beispiel: Angenommen das Tabulatorzeichen wird zur Einrückung verwendet und die Tabulatorweite beträgt 4. Hier steht <tab> für den Tabulator und '.' für ein Leerzeichen:

1: <tab><tab>foobar("hello",
2: <tab><tab>......."world");

Beim Einrücken der Zeile 2 gibt die Funktion indent() [8, 15] zurück. Daher werden zwei Tabulatoren für das Einrücken bis Spalte 8 und noch zusätzlich 7 Leerzeichen hinzugefügt. Dadurch steht der zweite Parameter unter dem ersten und bleibt auch so ausgerichtet, wenn die Datei mit einer anderen Tabulatorweite angezeigt wird.

In der Standardinstallation von KDE wird KatePart mit einigen Einrückungsskripten installiert. Die entsprechenden JavaScript-Quelltexte finden Sie unter $XDG_DATA_DIRS/katepart5/script/indentation.

Auf Windows®-Systemen finden Sie diese Dateien unter %USER%\AppData\Local\katepart5\indentation. Dabei ist %USER% normalerweise C:\\Users\\user.

Bei der Entwicklung eines Einrückungsskripts muss das Skript wieder neu geladen werden, um testen zu können, ob es richtig funktioniert. Anstatt das ganze Programm neu zu starten, wechseln Sie zur Befehlszeile und geben reload-scripts ein.

Wenn Sie nützliche Skripte entwickelt haben, sollten Sie darüber nachdenken, sie zum KatePart-Projekt hinzufügen. Schreiben Sie dazu an die Mailingliste.

Befehlszeilenskripte

Da nicht alle gewünschten Funktionen in KatePart eingebaut werden können, ist es möglich, kleine Hilfsskripte für die schnelle Änderung von Textes mit der eingebauten Befehlszeile auszuführen. Der Befehl sort ist zum Beispiel als Skript geschrieben. Dieser Abschnitt erklärt, wie *.js-Dateien erstellt werden, um die Fähigkeiten von KatePart mit beliebigen Hilfsskripten zu erweitern.

Befehlszeilenskripte werden im gleichen Ordner wie Einrückungsskripte gespeichert. Zuerst erstellen Sie eine neue *.js-Datei namens myutils.js im lokalen persönlichen Ordner $XDG_DATA_HOME/katepart5/script/commands. Darin wird die Umgebungsvariable XDG_DATA_HOME normalerweise entweder zu ~/.local oder ~/.local/share erweitert.

On Windows® these files are located in %USER%\AppData\Local\katepart5\commands. %USER% usually expands to C:\\Users\\user.

Der Vorspann des Befehlszeilenskripts

Der Vorspann jedes Befehlszeilen-Skripts ist in der JSON-Datei am Anfang des Skripts so eingebettet:

var katescript = {
    "author": "Example Name <example.name@some.address.org>",
    "license": "LGPLv2+",
    "revision": 1,
    "kate-version": "5.1",
    "functions": ["sort", "moveLinesDown"],
    "actions": [
        {   "function": "sort",
            "name": "Sort Selected Text",
            "category": "Editing",
            "interactive": "false"
        },
        {   "function": "moveLinesDown",
            "name": "Move Lines Down",
            "category": "Editing",
            "shortcut": "Ctrl+Shift+Down",
            "interactive": "false"
        }
    ]
}; // kate-script-header, muss am Anfang der Datei stehen und darf keine Kommentare enthalten

Jede Zeile wird jetzt im Detail erklärt:

  • author [optional]: Der Name des Autors und weitere Kontaktinformationen.

  • license [optional]: Kurzform der Lizenz, wie zum Beispiel BSD-Lizenz oder LGPLv2.

  • revision [erforderlich]: Die Version des Skripts, sie sollte bei jeder Änderung des Skripts erhöht werden.

  • kate-version [required]: Minimal erforderliche KatePart-Version.

  • functions [erforderlich]: JSON-Feld der Befehle im Skript.

  • actions [optional]: JSON-Feld mit JSON-Objekten, das die Aktionen festlegt, die im Anwendungsmenü erscheinen sollen. Weitergehende Informationen finden Sie im Abschnitt Kurzbefehle festlegen.

Da der Inhalt von functions ein JSON-Feld ist, kann ein einzelnes Skript eine beliebige Anzahl von Befehlen für die Befehlszeile enthalten. Jede Funktion ist durch die eingebaute Befehlszeile in KatePart verfügbar.

Der Quelltext des Skripts

Alle im Vorspann aufgeführten Funktionen müssen im Skript implementiert werden. Im oben gezeigten Skript müssen zum Beispiel die beiden Funktionen sort und moveLinesDown implementiert werden. Alle Funktionen haben folgende Syntax:

// benötigt die Bibliothek „katepart js“ z. B. range.js wenn Range benutzt wird
require ("range.js");
function <name>(arg1, arg2, ...)
{
    // ... Implementierung, siehe auch: Skript-API
}

Argumente in der Befehlszeile werden der Funktion als arg1, arg2 usw. übergeben. Um für jeden Befehl eine Dokumentation zu Verfügung zu stellen, verwenden Sie die Funktion „help“ wie im folgenden Beispiel:

function help(cmd)
{
    if (cmd == "sort") {
        return i18n("Sortiert den ausgewählten Text.");
    } else if (cmd == "...") {
        // ...
    }
}

Durch den Aufruf von help sort auf der Befehlszeile wird dann diese Hilfefunktion mit dem Argument cmd für den verwendeten Befehl benutzt, d. h. mit cmd == "sort". zeigt Kate den zurückgegebenen Text als Hilfe für den Benutzer an. Denken Sie daran, die Texte zu übersetzen .

Bei der Entwicklung eines Befehlszeilenskripts muss das Skript wieder neu geladen werden, um testen zu können, ob es richtig funktioniert. Anstatt das ganze Programm neu zu starten, wechseln Sie zur Befehlszeile und geben reload-scripts ein.

Kurzbefehle festlegen

Das Skript braucht einen passenden Skript-Header, der die Skripte über das Anwendungsmenü verfügbar macht. Im Beispiel erscheinen die Funktionen sort und moveLinesDown im Menü. Das wird durch den folgenden Skript-Header erreicht:

var katescript = {
    ...
    "actions": [
        {   "function": "sort",
            "name": "Sort Selected Text",
            "icon": "",
            "category": "Editing",
            "interactive": "false"
        },
        {   "function": "moveLinesDown",
            "name": "Move Lines Down",
            "icon": "",
            "category": "Editing",
            "shortcut": "Ctrl+Shift+Down",
            "interactive": "false"
        }
    ]
};

Die Felder für eine Aktion lauten wie folgt:

  • function [erforderlich]: Die Funktion, die im Menü ExtrasSkripte erscheint.

  • name [erforderlich]: Der Text, der im Menü Skript angezeigt wird.

  • icon [optional]: Dieses Symbol erscheint neben dem Text im Menü. Alle KDE-Symbolnamen können hier benutzt werden.

  • category [optional]: Wenn eine Kategorie angegeben ist, dann erscheint das Skript in einem Untermenü.

  • shortcut [optional]: Der hier angegebene Kurzbefehl ist der Standard. Beispiel: Ctrl+Alt+T. Sehen Sie in der Qt-Dokumentation für weitere Einzelheiten nach.

  • interactive [optional]: Wenn das Skript Benutzereingaben auf der Befehlszeile braucht, dann setzen Sie diesen Parameter auf true.

Wenn Sie nützliche Skripte entwickelt haben, sollten Sie darüber nachdenken, sie zum KatePart-Projekt hinzufügen. Schreiben Sie dazu an die Mailingliste.

Skript-API

Die hier vorgestellte Programmierschnittstelle (API) ist in allen Skripten verfügbar, d. h. in Einrückungs- und Befehlszeilenskripten. Die Klassen Cursor und Range werden durch die Bibliotheksdateien in $XDG_DATA_DIRS/katepart5/libraries bereit gestellt. Wenn Sie sie in Ihren Skripten verwenden möchten, was für einige der Funktionen Document oder View erforderlich ist, fügen Sie bitte die benötigte Bibliothek wie folgt ein:

// benötigt die Bibliothek „katepart js“ z. B. range.js wenn Range benutzt wird
require ("range.js");

Um die Standard-Skript-API mit eigenen Funktionen und Prototypen zu erweitern, erzeugen Sie eine neue Datei im lokalen Einrichtungsordner für KDE $XDG_DATA_HOME/katepart5/libraries und schließen Sie sie in Ihr Skript mit folgendem Befehl ein:

require ("myscriptnamehere.js");

Auf Windows®-Systemen finden Sie diese Dateien unter %USER%\AppData\Local\katepart5\libraries. Dabei ist %USER% normalerweise C:\\Users\\user.

Um vorhandene Prototypen wie Cursor oder Range zu erweitern, wird empfohlen, nicht die globalen *.js-Dateien zu ändern. Ändern Sie stattdessen den Cursor-Prototyp in JavaScript, nachdem cursor.js in Ihrem Skript mit require eingefügt ist.

Cursor und Bereiche

Da KatePart ein Texteditor ist, basiert die Skript-API soweit möglich auf Cursor und Bereichen. Ein Cursor ist ein einfaches Tupel (Zeile, Spalte) für eine Textposition im Dokument. Ein Bereich umfasst Text vom Start bis zum Ende der Cursor-Position. Die Programmschnittstelle wird in den nächsten Abschnitten im Einzelnen erläutert.

Der Cursor-Prototyp
Cursor();

Konstruktor. Gibt einen Cursor an der Position (0, 0) zurück.

Beispiel: var cursor = new Cursor();

Cursor(int zeile, int spalte);

Konstruktor. Gibt einen Cursor an der Position (zeile, spalte) zurück.

Beispiel: var cursor = new Cursor(3, 42);

Cursor(Cursor other);

Kopierkonstruktor. Gibt die Kopie des Cursors other zurück.

Beispiel: var copy = new Cursor(cursor);

Cursor Cursor.clone();

Gibt einen Klon des Cursors zurück.

Beispiel: var clone = cursor.clone();

Cursor.setPosition(int zeile, int spalte);

Setzt die Cursor-Position auf zeile und spalte.

Since: KDE 4.11

bool Cursor.isValid();

Überprüft, ob der Cursor gültig ist. Ein Cursor ist ungültig, wenn die Zeile und oder die Spalte den Wert -1 haben.

Beispiel: var valid = cursor.isValid();

Cursor Cursor.invalid();

Gibt einen neuen ungültigen Cursor an der Position (-1, -1) zurück.

Beispiel: var invalidCursor = cursor.invalid();

int Cursor.compareTo(Cursor other);

Vergleicht diesen Cursor mit dem Cursor other. Gibt folgende Werte zurück:

  • -1, wenn dieser Cursor sich vor dem Cursor other befindet,

  • 0, wenn beide Cursor an der gleichen Stelle stehen und

  • +1, wenn dieser Cursor sich hinter dem Cursor other befindet.

bool Cursor.equals(Cursor other);

Gibt true zurück, wenn dieser Cursor und der Cursor other gleich sind, sonst false.

String Cursor.toString();

Gibt den Cursor als Zeichenkette in der Form Cursor(zeile, spalte) zurück.

Der Bereich-Prototyp
Range();

Konstruktor. Der Aufruf new Range() gibt einen Bereich von (0, 0) - (0, 0) zurück.

Range(Cursor start, Cursor ende);

Konstruktor. Der Aufruf new Range(start, end) gibt einen Bereich von (start, ende) zurück.

Range(int startZeile, int startspalte, int endZeile, int endSpalte);

Konstruktor. Der Aufruf von new Range(startZeile, startSpalte, endZeile, endSpalte). Gibt den Bereich von (startZeile, startSpalte) bis (endZeile, endSpalte) zurück.

Range(Range other);

Kopierkonstruktor. Gibt eine Kopie von Range other zurück.

Range Range.clone();

Gibt einen Klon des Bereichs zurück.

Beispiel: var clone = range.clone();

bool Range.isEmpty();

Gibt true zurück, wenn der Start- und der End-Cursor gleich sind.

Beispiel: var empty = range.isEmpty();

Since: KDE 4.11

bool Range.isValid();

Gibt true zurück, wenn sowohl Start- als auch End-Cursor gültig sind, sonst false.

Beispiel: var valid = range.isValid();

Range Range.invalid();

Gibt den Bereich von (-1, -1) bis (-1, -1) zurück.

bool Range.contains(Cursor cursor);

Gibt true zurück, wenn dieser Bereich die Cursor-Position enthält, sonst false.

bool Range.contains(Range other);

Gibt true zurück, wenn dieser Bereich den Bereich other enthält, sonst false.

bool Range.containsColumn(int spalte);

Gibt true zurück, wenn spalte in dem halboffenen Intervall [start.spalte, end.spalte) liegt, sonst false.

bool Range.containsLine(int zeile);

Gibt true zurück, wenn zeile in dem halboffenen Intervall [start.zeile, end.zeile) liegt, sonst false.

bool Range.overlaps(Range other);

Gibt true zurück, wenn dieser Bereich und der Bereich other sich überlappen, sonst false.

bool Range.overlapsLine(int zeile);

Gibt true zurück, wenn zeile in dem Intervall [start.zeile, end.zeile] liegt, sonst false.

bool Range.overlapsColumn(int spalte);

Gibt true zurück, wenn spalte in dem Intervall [start.spalte, end.spalte] liegt, sonst false.

bool Range.onSingleLine();

Gibt true zurück, wenn der Bereich in der gleichen Zeile beginnt und endet, d. h. wenn Range.start.line == Range.end.line ist.

Seit: KDE 4.9

bool Range.equals(Range other);

Gibt true zurück, wenn dieser Bereich und der Bereich other gleich sind, sonst false.

String Range.toString();

Gibt den Bereich als Zeichenkette in der Form Range(Cursor(zeile, spalte), Cursor(zeile, spalte)) zurück.

Globale Funktionen

Dieser Abschnitt listet alle globalen Funktionen auf.

Lesen & Einfügen von Dateien
String read(String datei);

Sucht nach der angegebenen datei relativ zum Ordner katepart/script/files und gibt den Inhalt der Datei als String zurück.

void require(String datei);

Sucht die angegebene datei relativ zum Ordner katepart/script/libraries und wertet sie aus. require verhindert intern, dass die gleiche datei mehrfach eingeschlossen wird.

Seit: KDE 4.10

Fehlersuche
void debug(String text);

Gibt den text auf der Standardausgabe stdout in der Konsole aus, von der das Programm gestartet wurde.

Übersetzung

Die Lokalisierung wird durch einige Funktionen zum Übersetzen von Zeichenketten in Skripten unterstützt, so durch i18n, i18nc, i18np und i18ncp. Diese Funktionen arbeiten genau wie auf der Seite KDE's Übersetzungsfunktionen beschrieben.

Die Übersetzungsfunktionen übersetzen die eingepackten Zeichenketten durch KDE's Übersetzungssystem in die Sprache, die in der Anwendung benutzt wird. Zeichenketten in Skripten, die in den offiziellen KatePart-Quellen entwickelt werden, werden automatisch extrahiert und sind übersetzbar. Anders gesagt, müssen Sie sich als Entwickler von KatePart nicht um das Extrahieren und Übersetzen kümmern. Achtung, diese Funktionalität gibt es nur innerhalb der KDE-Infrastruktur. Neue Texte in Skripten, die von Anderen ausserhalb von KDE entwickelt wurden, werden nicht automatisch übersetzt. Bitte denken Sie darüber nach, solche Skripte an KDE zu geben, so dass die korrekte Übersetzung möglich wird.

void i18n(String text, arg1, ...);

Übersetzt text in die von der Anwendung benutzte Sprache. Die Argumente arg1, ..., sind optional und werden benutzt, um die Platzhalter %1, %2 usw. zu ersetzen.

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

Übersetzt text in die von der Anwendung benutzte Sprache. Zusätzlich ist die Zeichenkette context sichtbar, so dass Übersetzer bessere Übersetzungen anfertigen können. Die Argumente arg1, ..., sind optional und werden benutzt, um die Platzhalter %1, %2 usw. zu ersetzen.

void i18np(String singular, String plural, int number, arg1, ...);

Übersetzt entweder singular oder plural in die von der Anwendung benutzte Sprache. Dies ist abhängig von der angegebenen number. Die Argumente arg1, ..., sind optional und werden benutzt, um die Platzhalter %1, %2 usw. zu ersetzen.

void i18ncp(String context, String singular, String plural, int number, arg1, ...);

Übersetzt entweder singular oder plural in die von der Anwendung benutzte Sprache. Dies ist abhängig von der angegebenen number. Zusätzlich ist die Zeichenkette context sichtbar, so dass Übersetzer bessere Übersetzungen anfertigen können. Die Argumente arg1, ..., sind optional und werden benutzt, um die Platzhalter %1, %2 usw. zu ersetzen.

Die Programmschnittstelle zur Ansicht

Für jedes ausgeführte Skript gibt es eine globale Variable view, für die aktuelle Editoransicht. Im Folgenden finden Sie eine Liste aller verfügbaren Funktionen für eine Ansicht.

Cursor view.cursorPosition()

Gibt die aktuelle Position des Cursors in der Ansicht zurück.

void view.setCursorPosition(int zeile, int spalte);
void view.setCursorPosition(Cursor cursor);

Setzt die aktuelle Position des Cursors entweder auf (zeile, spalte) oder auf den angegebenen Cursor.

Cursor view.virtualCursorPosition();

Gibt die virtuelle Cursor-Position zurück, dabei wird jeder Tabulator mit der Anzahl der Leerzeichen entsprechend der aktuellen Tabulatorweite berechnet.

void view.setVirtualCursorPosition(int zeile, int spalte);
void view.setVirtualCursorPosition(Cursor cursor);

Setzt die aktuelle Position des virtuellen Cursors entweder auf (zeile, spalte) oder auf den angegebenen Cursor.

String view.selectedText();

Gibt den ausgewählten Text zurück. Ist kein Text ausgewählt, wird eine leere Zeichenkette zurückgegeben.

bool view.hasSelection();

Gibt true zurück, wenn die Ansicht ausgewählten Text enthält, sonst false.

Range view.selection();

Gibt den ausgewählten Textbereich zurück. Der zurückgegebene Bereich ist ungültig, wenn kein Text ausgewählt ist.

void view.setSelection(Range range);

Setzt den ausgewählten Text zum angegebenen Bereich.

void view.removeSelectedText();

Entfernt den ausgewählten Text. Wenn in der Ansicht kein Text ausgewählt ist, passiert nichts.

void view.selectAll();

Wählt den gesamten Text im Dokument aus.

void view.clearSelection();

Löscht die Textauswahl, aber nicht den Text selbst.

Die Programmschnittstelle zum Dokument

Für jedes ausgeführte Skript gibt es eine globale Variable document, die das aktuelle Dokument verweist. Im Folgenden finden Sie eine Liste aller verfügbaren Funktionen für ein Dokument.

String document.fileName();

Gibt den Dateinamen des Dokuments zurück oder eine leere Zeichenkette für nicht gespeicherte Textpuffer.

String document.url();

Gibt die vollständige URL des Dokuments zurück oder eine leere Zeichenkette für nicht gespeicherte Textpuffer.

String document.mimeType();

Gibt den Mimetyp des Dokuments zurück oder application/octet-stream, wenn kein passender Mimetyp gefunden wurde.

String document.encoding();

Gibt die aktuell verwendete Kodierung zum Speichern der Datei zurück.

String document.highlightingMode();

Gibt den globalen Hervorhebungsmodus für das gesamte Dokument zurück.

String document.highlightingModeAt(Cursor pos);

Gibt den Hervorhebungsmodus an der angegebenen Cursor-Position im Dokument zurück.

Array document.embeddedHighlightingModes();

Gibt ein Feld von Hervorhebungsmodi zurück, die in diesem Dokument eingebettet sind..

bool document.isModified();

Gibt true zurück, wenn das Dokument ungespeicherte Änderungen enthält, sonst false.

String document.text();

Gibt den gesamten Inhalt des Dokuments in einer einzigen Zeichenkette zurück. Zeilenumbrüche werden mit dem zugehörigen Zeichen \n markiert.

String document.text(int vonZeile, int vonSpalte, int bisZeile, int bisSpalte);
String document.text(Cursor von, Cursor bis);
String document.text(Range range);

Gibt den Text im angegebenen Bereich zurück. Es wird empfohlen, die Cursor- und Bereichsbasierte Version zu benutzen, dadurch ist der Quelltext besser lesbar.

String document.line(int zeile);

Gibt die angegebene Textzeile als Zeichenkette zurück. Die Zeichenkette ist leer, wenn die angeforderte Zeile außerhalb des Bereichs liegt.

String document.wordAt(int zeile, int spalte);
String document.wordAt(Cursor cursor);

Gibt das Wort an der angegebenen Cursor-Position zurück.

Range document.wordRangeAt(int zeile, int spalte);
Range document.wordRangeAt(Cursor cursor);

Gibt den Bereich des Wortes an der angegebenen Cursor-Position zurück. Der zurückgegebene Bereich ist ungültig (siehe Range.isValid()), wenn die Textposition nach dem Zeilenende liegt. Befindet sich an der angegebenen Cursor-Position kein Wort, wird ein leere Bereich zurückgegeben.

Seit: KDE 4.9

String document.charAt(int zeile, int spalte);
String document.charAt(Cursor cursor);

Gibt das Zeichen an der aktuellen Cursor-Position zurück.

String document.firstChar(int zeile);

Gibt in der angegebenen zeile das erste Zeichen zurück, das kein Leerraumzeichen ist. Wenn die Zeile leer ist oder nur Leerraumzeichen enthält, wird eine leere Zeichenkette zurückgegeben.

String document.lastChar(int zeile);

Gibt in der angegebenen zeile das letzten Zeichen zurück, das kein Leerraumzeichen ist. Wenn die Zeile leer ist oder nur Leerraumzeichen enthält, wird eine leere Zeichenkette zurückgegeben.

bool document.isSpace(int zeile, int spalte);
bool document.isSpace(Cursor cursor);

Gibt true zurück, wenn das Zeichen an der angegebenen Cursor-Position ein Leerraumzeichen ist, sonst false.

bool document.matchesAt(int line, int column, String text);
bool document.matchesAt(Cursor cursor, String text);

Gibt true zurück, wenn der angegebene text mit der zugehörigen Cursor-Position übereinstimmt, sonst false.

bool document.startsWith(int zeile, String text, bool skipWhiteSpaces);

Gibt true zurück, wenn die Zeile mit text beginnt, sonst false. Das Argument skipWhiteSpaces bestimmt, ob führende Leerraumzeichen ignoriert werden.

bool document.endsWith(int zeile, String text, bool skipWhiteSpaces);

Gibt true zurück, wenn die Zeile mit text endet, sonst false. Das Argument skipWhiteSpaces bestimmt, ob angehängte Leerraumzeichen ignoriert werden.

bool document.setText(String text);

Setzt den Text für das gesamte Dokument.

bool document.clear();

Löscht den gesamten Text im Dokument.

bool document.truncate(int zeile, int spalte);
bool document.truncate(Cursor cursor);

Schneidet die angegebene Zeile an der Spalte oder an der Cursor-Position ab. War das erfolgreich, wird true zurückgegeben, oder false, wenn die angegeben Zeile nicht im Bereich des Dokuments liegt.

bool document.insertText(int zeile, int spalte, String text);
bool document.insertText(Cursor cursor, String text);

Fügt den text an der angegebenen Cursor-Position ein. War das erfolgreich, wird true zurückgegeben, oder false, wenn das Dokument im Nur-Lesen-Modus geöffnet wurde.

bool document.removeText(int vonZeile, int vonSpalte, int bisZeile, int bisSpalte);
bool document.removeText(Cursor von, Cursor bis);
bool document.removeText(Range bereich);

Löscht den Text im angegebenen Bereich. War das erfolgreich, wird true zurückgegeben, oder false, wenn das Dokument im Nur-Lesen-Modus geöffnet wurde.

bool document.insertLine(int zeile, String text);

Fügt Text in einer angegebenen Zeile ein. War das erfolgreich, wird true zurückgegeben, oder false, wenn das Dokument im Nur-Lesen-Modus geöffnet wurde oder die Zeile nicht mehr im Bereich des Dokuments liegt.

bool document.removeLine(int zeile);

Löscht die angegebene Textzeile. War das erfolgreich, wird true zurückgegeben, oder false, wenn das Dokument im Nur-Lesen-Modus geöffnet wurde oder die Zeile nicht mehr im Bereich des Dokuments liegt.

bool document.wrapLine(int zeile, int spalte);
bool document.wrapLine(Cursor cursor);

Bricht die Zeile an der angegebenen Cursor-Position um. War das erfolgreich, wird true zurückgegeben, ansonsten false, z. B. wenn die angegeben Zeilennummer < 0 ist.

Seit: KDE 4.9

void document.joinLines(int startZeile, int endZeile);

Verbindet die Zeilen von startZeile bis endZeile. Zwei aufeinanderfolgende Textzeilen werden immer mit einem einzelnen Leerzeichen getrennt.

int document.lines();

Gibt die Zeilenanzahl des Dokuments zurück.

bool document.isLineModified(int zeile);

Gibt true zurück, wenn die zeile noch nicht gespeicherte Daten enthält.

Seit: KDE 5.0

bool document.isLineSaved(int zeile);

Gibt true zurück, wenn zeile geändert und das Dokument gespeichert wurde. Folglich enthält die aktuelle Zeile keine ungesicherten Daten.

Seit: KDE 5.0

bool document.isLineTouched(int zeile);

Gibt true zurück, wenn zeile ungesicherte Daten enthält oder geändert wurde.

Seit: KDE 5.0

void document.findTouchedLine(int startZeile, bool nach unten);

Suche nach der nächsten Zeile, die ungesicherte Daten enthält oder geändert wurde. Die Suche wird in der startZeile begonnen und in der Richtung durchgeführt, die in nach unten angegeben ist.

Seit: KDE 5.0

int document.length();

Gibt die Anzahl der Zeichen des Dokuments zurück.

int document.lineLength(int zeile);

Gibt die Länge der zeile zurück.

void document.editBegin();

Beginnt eine Bearbeitungsgruppe für die Gruppierung von Rückgängig/Wiederherstellen. Achten Sie darauf, editEnd() immer genauso oft wie editBegin() zu benutzen. Der Aufruf von editBegin() verwendet intern einen Referenzzähler, d. h. diese Aufrufe können geschachtelt werden.

void document.editEnd();

Beendet eine Bearbeitungsgruppe. Der letzte Aufruf von editEnd() (d. h. der Aufruf zum ersten Aufruf von editBegin()) beendet den Bearbeitungsschritt.

int document.firstColumn(int zeile);

Gibt die erste Spalte in der angegebenen zeile zurück, die kein Leerraumzeichen enthält. Besteht die Zeile nur aus Leerraumzeichen, wird -1 zurückgegeben.

int document.lastColumn(int zeile);

Gibt die letzte Spalte in der angegebenen zeile zurück, die kein Leerraumzeichen enthält. Besteht die Zeile nur aus Leerraumzeichen, wird -1 zurückgegeben.

int document.prevNonSpaceColumn(int zeile, int spalte);
int document.prevNonSpaceColumn(Cursor cursor);

Gibt die Spalte zurück, die keine Leerraumzeichen enthält. Die Suche beginnt an der angegebenen Cursor-Position und erfolgt dabei rückwärts.

int document.nextNonSpaceColumn(int zeile, int spalte);
int document.nextNonSpaceColumn(Cursor cursor);

Gibt die Spalte zurück, die keine Leerraumzeichen enthält. Die Suche beginnt an der angegebenen Cursor-Position und erfolgt dabei vorwärts.

int document.prevNonEmptyLine(int zeile);

Gibt die nächste nicht leere Zeile zurück, die keine Leerraumzeichen enthält. Die Suche erfolgt dabei rückwärts.

int document.nextNonEmptyLine(int zeile);

Gibt die nächste nicht leere Zeile zurück, die keine Leerraumzeichen enthält. Die Suche erfolgt dabei vorwärts.

bool document.isInWord(String zeichen, int attribut);

Gibt true zurück, wenn das angegebene zeichen mit den angegebenen attribut Teil eines Wortes sein kann, sonst false.

bool document.canBreakAt(String zeichen, int attribut);

Gibt true zurück, wenn die Zeile an dem angegebenen zeichen mit den angegebenen attribut umgebrochen werden kann, sonst false.

bool document.canComment(int startAttribut, int endAttribut);

Gibt true zurück, wenn ein mit dem angegebenen Attribut beginnender und endender Bereich auskommentiert werden kann, sonst false.

String document.commentMarker(int attribut);

Gibt das Kommentarzeichen für einzeilige Kommentare für ein angegebenes attribut zurück.

String document.commentStart(int attribut);

Gibt das Kommentarzeichen für den Beginn von mehrzeiligen Kommentaren für ein angegebenes attribut zurück.

String document.commentEnd(int attribut);

Gibt das Kommentarzeichen für das Ende von mehrzeiligen Kommentaren für ein angegebenes attribut zurück.

Range document.documentRange();

Gibt einen Bereich zurück, der dass gesamte Dokument umfasst.

Cursor documentEnd();

Gibt einen Cursor zurück, der an der letzten Spalte in der letzten Zeile des Dokuments positioniert ist.

bool isValidTextPosition(int zeile, int spalte);
bool isValidTextPosition(Cursor cursor);

Gibt true zurück, wenn der Cursor an eine gültigen Position innerhalb eines Textes positioniert ist. Eine Textposition ist nur dann gültig, wenn der Cursor am Anfang, in der Mitte oder am Ende einer gültigen Zeile positioniert ist. Weiterhin ist eine Textposition ungültig, wenn diese in einem Unicode-Surrogat liegt.

Seit: KDE 5.0

int document.attribute(int zeile, int spalte);
int document.attribute(Cursor cursor);

Gibt das Attribut an der aktuellen Cursor-Position zurück.

bool document.isAttribute(int zeile, int spalte, int attribut);
bool document.isAttribute(Cursor cursor, int attribut);

Gibt true zurück, wenn das Attribut an der angegebenen Cursor-Position gleich attribut ist, sonst false.

String document.attributeName(int zeile, int spalte);
String document.attributeName(Cursor cursor);

Gibt den Attributnamen als lesbaren Text zurück. Dies entspricht dem Namen itemData in den Syntaxhervorhebungs-Dateien.

bool document.isAttributeName(int zeile, int spalte, String name);
bool document.isAttributeName(Cursor cursor, String name);

Gibt true zurück, wenn der Attributname an der angegebenen Cursor-Position gleich name ist, sonst false.

String document.variable(String key);

Gibt den Wert der angefragten Dokumentvariablen key zurück. Existiert diese Variable nicht, wird eine leere Zeichenkette zurückgegeben.

void document.setVariable(String key, String value);

Setzt den Wert der angefragten Dokumentvariablen key.

Siehe auch: Kate-Dokumentvariable

Seit: KDE 4.8

int document.firstVirtualColumn(int zeile);

Gibt in der angegebenen Zeile die virtuelle Spalte des ersten Zeichens zurück, das kein Leerraumzeichen ist, oder -1, wenn die Zeile leer ist oder nur Leerraumzeichen enthält.

int document.lastVirtualColumn(int zeile);

Gibt in der angegebenen Zeile die virtuelle Spalte des letzten Zeichens zurück, das kein Leerraumzeichen ist, oder -1, wenn die Zeile leer ist oder nur Leerraumzeichen enthält.

int document.toVirtualColumn(int zeile, int spalte);
int document.toVirtualColumn(Cursor cursor);
Cursor document.toVirtualCursor(Cursor cursor);

Wandelt die angegebene reale Cursor-Position in eine virtuelle Cursor-Position um und gibt entweder einen „int“-Wert oder ein Cursor-Objekt zurück.

int document.fromVirtualColumn(int zeile, int virtuelleSpalte);
int document.fromVirtualColumn(Cursor virtuellerCursor);
Cursor document.fromVirtualCursor(Cursor virtuellerCursor);

Wandelt die angegebene virtuelle Cursor-Position in eine reale Cursor-Position um und gibt entweder einen „int“-Wert oder ein Cursor-Objekt zurück.

Cursor document.anchor(int zeile, int spalte, Char zeichen);
Cursor document.anchor(Cursor cursor, Char zeichen);

Sucht rückwärts nach dem angegebenen Zeichen und beginnt dabei an dem angegebenen Cursor. Wenn zum Beispiel „(“ als Zeichen ist, gibt diese Funktion die Position der öffnenden Klammer „(“. Dabei wird das Vorkommen mitgezählt, d. h. andere Klammern „(...)“ werden ignoriert.

Cursor document.rfind(int zeile, int spalte, String text, int attribut = -1);
Cursor document.rfind(Cursor cursor, String text, int attribut = -1);

Sucht rückwärts nach dem angegeben Text mit dem passenden attribut. Ein Attribut mit dem Wert -1wird dabei ignoriert. Es wird ein ungültiger Cursor zurückgegeben, wenn der Text nicht gefunden wurde.

int document.defStyleNum(int zeile, int spalte);
int document.defStyleNum(Cursor cursor);

Gibt den Standardstil zurück, der an der angegebenen Cursor-Position benutzt wird.

bool document.isCode(int zeile, int spalte);
bool document.isCode(Cursor cursor);

Gibt true zurück, wenn das Attribut an der angegeben Cursor-Position nicht den folgenden Stilen entspricht: dsComment, dsString, dsRegionMarker, dsChar, dsOthers.

bool document.isComment(int zeile, int spalte);
bool document.isComment(Cursor cursor);

Gibt true zurück, wenn das Attribut des Zeichens an der Cursor-Position dsComment ist, sonst false.

bool document.isString(int zeile, int spalte);
bool document.isString(Cursor cursor);

Gibt true zurück, wenn das Attribut des Zeichens an der Cursor-Position dsString ist, sonst false.

bool document.isRegionMarker(int zeile, int spalte);
bool document.isRegionMarker(Cursor cursor);

Gibt true zurück, wenn das Attribut des Zeichens an der Cursor-Position dsRegionMarker ist, sonst false.

bool document.isChar(int zeile, int spalte);
bool document.isChar(Cursor cursor);

Gibt true zurück, wenn das Attribut des Zeichens an der Cursor-Position dsChar ist, sonst false.

bool document.isOthers(int zeile, int spalte);
bool document.isOthers(Cursor cursor);

Gibt true zurück, wenn das Attribut des Zeichens an der Cursor-Position dsOthers ist, sonst false.

Kapitel 7. Einrichten von KatePart

Kapitel 7. Einrichten von KatePart

Die Auswahl von EinstellungenAnwendung einrichten ... im Menü öffnet das Einrichtungsfenster;. In diesem Dialogfenster können eine ganze Reihe von Einstellungen vorgenommen werden. Die angezeigten Einstellungsmöglichkeiten hängen von der Auswahl eines links in der Liste angezeigten Symbols ab. Die drei Knöpfe am unteren Rand des Dialogfeldes rufen die Hilfe auf, machen die aktuellen Einstellungen mit OK gütig, oder brechen mit Abbrechen den Einstellungs-Prozess ab.

Sie können das Hilfesystem aufrufen, die aktuellen Einstellungen mit OK übernehmen und das Dialogfeld schließen, oder den Knopf Abbrechen benutzen, um das Dialogfeld zu schließen, ohne Änderungen zu speichern. Die zur Auswahl stehenden Kategorien - Erscheinungsbild, Schriften & Farben, Bearbeitung, Öffnen/Speichern und Erweiterungen sind nachfolgend erläutert.

Einstellungen für die Editor-Komponente

Diese Gruppe enthält alle Seiten, auf denen die Einstellungen zum Editor von KatePart vorgenommen werden. Für die meisten der Einstellungen gibt es Standardwerte, die durch Festlegen von Datentypen, Dokumentvariablen oder durch dokumentbezogene Einstellungen verändert werden können.

Erscheinungsbild

Allgemein

Dynamischer Zeilenumbruch

Wenn eingeschaltet, dann werden die Zeilen am rechten Bildschirmrand automatisch umgebrochen.

Kennzeichnung für dynamischen Zeilenumbruch:

Wählen Sie hier, ob die Markierungen für den dynamischen Zeilenumbruch angezeigt werden sollen, entweder Aus, Zeilennummern folgen or Immer aktiv.

Dynamisch umbrochene Zeilen an der Einrückungstiefe ausrichten:

Dynamisch umgebrochene Zeilen werden auf die Einrückungsposition der ersten Zeile des Abschnittes eingerückt. Dadurch werden Quelltexte besser lesbar.

Zusätzlich können sie hier ein Maximum angeben, ab dem die neuen Zeilen nicht weiter eingerückt werden. Wenn Sie hier zum Beispiel 50 % angeben, dann werden Zeilen nicht weiter eingerückt, deren Einrückung weiter als 50 % der Bildschirmbreite sein würde.

Leerraum-Hervorhebung
Tabulatoren hervorheben

Im Editor wird ein »-Symbol für einen vorhandenen Tabulator angezeigt.

Leerzeichen am Zeilenende hervorheben

Im Editor werden Punkte angezeigt, wenn zusätzliche Leerzeichen am Zeilenende vorhanden sind.

Größe der Hervorhebungsmarkierungen

Ändern Sie mit dem Schieberegler die Größe der sichtbaren Markierung für Hervorhebungen.

Erweitert

Einrückungslinien anzeigen

Wenn dieses Feld angekreuzt ist, dann werden im aktuellen Dokument senkrechte Linien angezeigt, die Ihnen helfen, eingerückte Zeilen zuzuordnen.

Bereich zwischen zusammengehörenden Klammern hervorheben

Ist diese Einstellung markiert, wird der Bereich zwischen den ausgewählten, zusammengehörenden Klammern hervorgehoben.

Zusammengehörige Klammern animieren

Ist dies aktiviert, werden mit dem Mauszeiger auf Klammern ({, [, ], },( oder )) die zugehörigen schließenden Klammern hervorgehoben.

Erste Zeile ausblenden

Ist die aktiviert, dann wird die erste Zeile ausgeblendet. Benutzen Sie diese Einstellung, wenn die Datei mit einem Kommentar with zum Beispiel einem Copyright beginnt.

Wortanzahl anzeigen

Zeigt die Zahl der Wörter und Zeichen im Dokument und in der aktuellen Auswahl.

Randbereiche

Randbereiche
Markierungen für Quelltextausblendungen anzeigen

Wenn dieses Feld angekreuzt ist, dann werden im aktuellen Dokument für Quelltextausblendungen Markierungen angezeigt.

Vorschau des ausgeblendeten Texts anzeigen

Ist dies aktiviert, wird beim Überfahren eines ausgeblendeten Bereich eine Vorschau des ausgeblendeten Texts in einen Fenster angezeigt.

Symbolrand anzeigen

Wenn dieses Feld angekreuzt ist, dann wird im aktuellen Dokument an der linken Seite der Symbolrand angezeigt. Darin werden zum Beispiel Markierungen für Lesezeichen angezeigt.

Zeilennummern anzeigen

Wenn dieses Feld angekreuzt ist, dann werden im aktuellen Dokument an der linken Seite Zeilennummern angezeigt.

Markierungen für geänderte Zeilen anzeigen

Ist diese Einstellung aktiv, werden Markierungen für geänderte Zeilen angezeigt. Weitere Informationen finden Sie unter „Kennzeichnung von Änderungen in Textzeilen“.

Markierung für Bildlaufleiste anzeigen

Wenn dieses Feld angekreuzt ist, dann werden im aktuellen Dokument Markierungen in der senkrechten Bildlaufleiste angezeigt. Diese zeigen zum Beispiel Lesezeichen.

Textvorschau an der Bildlaufleiste anzeigen

Ist diese Einstellung aktiviert, wird beim Überfahren der Bildlaufleiste mit dem Mauszeiger eine verkleinerte Textvorschau mit mehreren Textzeilen um die Position des Mauszeigers angezeigt. Damit können Sie schnell zu anderen Bereichen des Dokuments wechseln.

Textgrafik auf Bildlaufleiste anzeigen

Ist diese Einstellung aktiv, zeigen neu geöffnete Ansichten ein verkleinerte Grafik des Texts im Dokuments auf der senkrechten Bildlaufleiste.

Weitere Informationen über die Textgrafik auf der Bildlaufleiste finden Sie im Abschnitt „Die Textgrafik auf der Bildlaufleiste“

Breite der Textgrafik:

Bestimmt die Breite der Textgrafik auf der Bildlaufleiste in Pixeln.

Anzeige der Bildlaufleisten

Schaltet die Bildlaufleisten ein, aus oder nur ein, wenn erforderlich. Klicken Sie mit der linken Maustaste auf das blaue Rechteck, dann wird der Zeilenbereich des Dokumentausschnitts auf dem Bildschirm angezeigt. Halten Sie die linke Maustaste außerhalb des blauen Rechtecks, um automatisch durch des Dokument zu blättern.

Lesezeichenmenü sortieren
Nach Erstellungszeitpunkt

Jedes neue Lesezeichen wird am Ende der Liste hinzugefügt.

Nach Position

Die Lesezeichen werden nach Zeilennummern geordnet.

Schriften & Farben

Dieser Abschnitt erlaubt die Einstellung aller Schriftarten und Farben in jedem Ihrer Farbschemata. Sei können auch neue Schemata erstellen oder bereits existierende löschen. Jedes Schema hat Einstellungen für Farben, Schriftarten sowie normale und hervorgehobene Textstile.

KatePart startet diese Seite mit dem aktuell aktiven Farbschema. Wenn Sie an einem anderen Farbschema Veränderungen vornehmen wollen, dann wählen Sie dieses mit im Auswahlfeld Schema. Mit den Knöpfen Neu und Löschen können Sie neue Schemata erstellen oder vorhandene entfernen.

Unten auf dieser Seite wählen Sie das Standardschema für KatePart.

Als Voreinstellung übernimmt KatePart das aktuelle KDE-Farbschema. Einzelne geänderte Farben können durch Klicken auf den Pfeil rechts neben dem Eintrag im Farbeditor oder alle Farben durch Klicken auf den Knopf KDE-Farbschema verwenden unten im Dialog auf die Standardwerte zurückgesetzt werden.

Tipp

Sie können das Farbschema für KDE in den Systemeinstellungen im Modul Farben anpassen.

Farben

Hintergrundfarben des Editors
Textbereich

Dies ist die Standardhintergrundfarbe für den Editorbereich, die vorherrschende Farbe im Editorbereich.

Ausgewählter Text

Dies ist die Hintergrundfarbe für ausgewählten Text. Die Voreinstellung hierfür ist die Farbe, die in den KDE-Einstellungen für ausgewählten Text festgelegt ist.

Aktuelle Zeile

Setzt die Farbe für die aktuelle Zeile. Die Farbe ist ein klein wenig anders als die normale Hintergrundfarbe, sodass Sie die aktuelle Zeile schnell wiederfinden.

Suchen-Hervorhebung

Die Farbe für den Text, der bei der letzten Suche gefunden wurde.

Ersetzen-Hervorhebung

Die Farbe für den Text, der bei der letzten Ersetzung gefunden wurde.

Symbolrand
Hintergrundbereich

Diese Farbe wird für den Hintergrund des Symbolrandes und des Zeilennummerrandes an der linken Seite des Editorfensters verwendet.

Zeilennummern

Diese Farbe wird für die Zeilennummern am linken Rand des Editorbereiches verwendet.

Markierungen für Zeilenumbrüche

Diese Farbe wird benutzt, wenn am linken Rand angezeigt wird, dass Zeilen dynamisch umgebrochen und eingerückt sind, sowie auch für die Markierung von festen Zeilenumbrüchen.

Quelltextausblendung

Mit dieser Farbe wird der Abschnitt des Quelltextes hervorgehoben, der beim Klicken auf den Pfeil zur Quelltextausblendung am linken Rand des Dokuments ausgeblendet wird Weitere Informationen finden Sie im Abschnitt Quelltextausblendung.

Geänderte Zeilen

Mit dieser Farbe werden links neben dem Dokument Zeilen hervorgehoben, die in dieser Sitzung geändert wurden aber noch nicht gespeichert sind. Weitere Informationen finden Sie unter „Kennzeichnung von Änderungen in Textzeilen“.

Gespeicherte Zeilen

Mit dieser Farbe werden links neben dem Dokument Zeilen hervorgehoben, die in dieser Sitzung geändert wurden und bereits gespeichert sind. Weitere Informationen finden Sie unter „Kennzeichnung von Änderungen in Textzeilen“.

Textdekorationen
Linie für Rechtschreibfehler

Dies legt die Farbe der Linie fest, die zum Markieren von Rechtschreibfehlern verwendet wird.

Markierungen für Tabulatoren und Leerzeichen

Diese Farbe wird für dir Markierung von Tabulatoren und Leerzeichen verwendet, wenn Symbole für Wortzwischenräume angezeigt werden.

Einrückungslinie

Diese Farbe wird verwendet,um eine Linie links von eingerückten Textblöcken anzuzeigen, wenn diese Funktion aktiviert ist.

Hervorhebung für Klammern

Diese Farbe wird für den Hintergrund von zusammengehörenden Klammern verwendet.

Markierungsfarben
Lesezeichen

Mit dieser Farbe werden Lesezeichen angezeigt. Weitere Informationen finden Sie unter „Lesezeichen benutzen“.

Aktiver Haltepunkt

In dieser Farbe wird ein aktiver Haltepunkt vom GDB-Modul angezeigt. Weitere Informationen finden Sie in der Dokumentation zum GDB-Modul.

Erreichter Haltepunkt

In dieser Farbe wird vom GDB-Modul ein Haltepunkt angezeigt, der beim Debuggen erreicht wurde. Weitere Informationen finden Sie in der Dokumentation zum GDB-Modul.

Nicht aktiver Haltepunkt

In dieser Farbe wird ein nicht aktiver Haltepunkt vom GDB-Modul angezeigt. Weitere Informationen finden Sie in der Dokumentation zum GDB-Modul.

Ausführung

In dieser Farbe wird die gerade ausgeführte Zeile vom GDB-Modul angezeigt. Weitere Informationen finden Sie in der Dokumentation zum GDB-Modul.

Warnung

Mit dieser Farbe wird vom Erstellen-Modul eine Zeile eingefärbt, für die Compiler eine Warnung ausgegeben hat. Weitere Informationen finden Sie in der Dokumentation zum Erstellen-Modul.

Fehler

Mit dieser Farbe wird vom Erstellen-Modul eine Zeile eingefärbt, für die Compiler einen Fehler ausgegeben hat. Weitere Informationen finden Sie in der Dokumentation zum Erstellen-Modul.

Textvorlagen & Textbausteine
Hintergrund

In dieser Farbe wird der Hintergrund eines Textbausteins in Kate angezeigt.

Editierbarer Platzhalter

Diese Farbe wird im Textbausteinmodul von Kate verwendet, um Platzhalter zu kennzeichnen, auf die zum manuellen Editieren geklickt werden kann.

Editierbarer Platzhalter mit Fokus

Diese Farbe wird im Textbausteinmodul von Kate verwendet, um Platzhalter zu kennzeichnen, die gerade editiert werden.

Nicht editierbarer Platzhalter

Diese Farbe wird im Textbausteinmodul von Kate verwendet, um Platzhalter zu kennzeichnen, der nicht manuell editiert werden kann und zum Beispiel automatisch ausgefüllt wird. Weitere Informationen finden Sie in der Dokumentation zu Kate-Textbausteinen.

KDE-Farbschema verwenden

Klicken auf diesen Knopf setzt das Farbschema mit allen oben definierten Farben passend zum aktuellen Farbschema in den Systemeinstellungen von KDE. Weitere Informationen finden Sie in der Dokumentation für den Farbkontrollmodul von KDE.

Wenn Sie keine KDE-Plasma-Arbeitsflächen benutzen, dann hat dieser Knopf keine Funktion und ist eventuell gar nicht vorhanden.

Schriftart

Hier stellen Sie die Schriftarten für das Schema ein. Sie können jede Schriftart verwenden, die auf Ihrem System verfügbar ist und Sie können eine Standardgröße einstellen. Unten im Dialog wird ein Beispiel in der gewählten Schrift angezeigt, sodass Sie die Auswirkungen Ihrer Wahl sofort sehen.

Weitere Informationen dazu finden Sie im Abschnitt Auswahl von Schriftarten der KDE-Grundlagen.

Standardtextstile

Die Stile für Standardtext sind von den Stilen für Hervorhebungen abgeleitet, sodass der Editor Texte immer in der gleichen Form anzeigen kann. So sind zum Beispiel Kommentare unabhängig vom Textformat oder der Programmiersprache des Quelltextdokuments immer in der gleichen Farbe gekennzeichnet.

Der Name in der Liste der Stile wird so angezeigt, wie Elemente im Dokument mit diesem Kontext angezeigt werden. So erhalten Sie einen sofortigen Eindruck.

Zu jedem Stil können Sie Eigenschaften sowie Vordergrund- und Hintergrundfarbe einstellen. Um eine Hintergrundfarbe zu löschen, benutzen Sie die rechte Maustaste, um das Kontextmenü aufzurufen.

Textstile für Hervorhebungen

Hier können Sie die Textstile für bestimmte Hervorhebungsdefinitionen einstellen. Der Editor startet diese Seite mit der Hervorhebung für das aktuelle Dokument. Wenn Sie an einer anderen Hervorhebungsdefinition Veränderungen vornehmen wollen, dann wählen Sie diese mit dem Auswahlfeld Hervorhebung aus.

Der Name in der Liste der Stile wird so angezeigt, wie Elemente im Dokument mit diesem Kontext angezeigt werden. So erhalten Sie einen sofortigen Eindruck.

Zu jedem Stil können Sie Eigenschaften sowie Vordergrund- und Hintergrundfarbe einstellen. Um eine Hintergrundfarbe zu löschen, benutzen Sie die rechte Maustaste, um das Kontextmenü aufzurufen. Zusätzlich gibt es noch ein Feld, das anzeigt, ob der eingestellte Stil der Standarddefinition entspricht - wenn nicht klicken Sie einfach auf dieses Feld, um die Standardeinstellungen herzustellen.

Sie werden feststellen, dass viele Hervorhebungen andere Hervorhebungen enthalten, die in Untergruppen geordnet sind. So werden zum Beispiel die Hervorhebungen für Alarme (Alerts) in die meisten Hervorhebungen importiert, viele Quelltexte importieren außerdem die Hervorhebungen für Doxygen. Wenn Sie Änderungen an den importierten Hervorhebungen vornehmen, dann werden nur die Stile im bearbeiteten Format beeinflusst. Andere Formate, die die gleichen Hervorhebungen importiert haben, werden nicht beeinflusst.

Bearbeitungseinstellungen

Allgemein

Statischer Zeilenumbruch

Zeilenumbruch ist eine Funktion, die bewirkt, dass der Editor automatisch eine neue Textzeile beginnt und den Cursor an den Anfang dieser neuen Zeile verschiebt. Wenn diese Option aktiv ist, beginnt KatePart automatisch eine neue Zeile, sobald die aktuelle Zeile die Länge erreicht, die im Feld Zeilenumbruch bei: angegeben ist.

Statischen Zeilenumbruch aktivieren

Schaltet den statischen Zeilenumbruch ein und aus.

Markierung für statischen Zeilenumbruch anzeigen (falls zutreffend)

Wenn eingeschaltet, dann wird eine senkrechte Linie in der Spalte, an der der Zeilenumbruch erfolgt, angezeigt. Die Position wird in EinstellungenEditor einrichten ... auf der Karte Bearbeitung festgelegt. Die Markierung wird nur dann angezeigt, wenn Sie eine Schrift mit fester Buchstabenbreite verwenden.

Zeilenumbruch bei:

Wenn die Option Statischen Zeilenumbruch aktivieren eingeschaltet ist, dann wird hier eingestellt, bei welcher Zeilenlänge in Zeichen der Editor automatisch eine neue Zeile beginnt.

Eingabemodus

Der hier ausgewählte Eingabemodus wird aktiviert, wenn eine neue Ansicht geöffnet wird. Sie können den VI-Eingabemodus weiterhin über das Menü Bearbeiten für jede Ansicht separat ein-/ausschalten.

Automatische Klammern

Wenn dies Option aktiv ist, setzt KatePart beim Eingeben einer linken Klammer ([, ( oder {) automatisch eine rechte Klammer des gleichen Typs (}, ), or ]) rechts vom Cursor. Diese braucht dann zum Schließen der Klammer nur noch übersprungen zu werden.

Ist Text ausgewählt, wird bei Eingabe dieser Zeichen der Text umgebrochen.

Kopieren und Einfügen
Die aktuelle Zeile kopieren/ausschneiden, wenn keine Markierung vorliegt

Ist diese Einstellung aktiv und kein Text ausgewählt, werden die Aktionen Kopieren und Ausschneiden für die ganze Textzeile an der aktuellen Cursorposition ausgeführt.

Textnavigation

Cursorbewegung
Intelligente Tasten Pos 1 und Ende

Wenn dieses Feld angekreuzt ist, dann bewegt das Drücken der Taste Pos1 den Cursor an den Beginn des Textes in der aktuellen Zeile, Leerzeichen und Tabulatoren davor werden übersprungen.

Cursor folgt Bild auf/ab

Diese Option ändert das Verhalten des Cursors, wenn der Benutzer die Tasten Bild auf oder Bild ab drückt. Wenn diese Option ausgeschaltet ist, dann bleibt der Cursor an der gleichen Stelle innerhalb des sichtbaren Bildes, es wird also der Text unter dem Cursor verschoben. Bei Erreichen des Textendes oder Textanfangs kann dies aber nicht immer funktionieren. Bei eingeschalteter Option wird der Cursor beim ersten Drücken der Taste an den Bildanfang oder das Bildende bewegt. Erst beim nächsten Betätigen wird dann der Text bewegt.

Automatische Cursorzentrierung:

Setzt die Anzahl der Zeilen, die der Cursor Abstand vom oberen oder unteren Bildrand hält, wenn möglich.

Textmarkierungsmodus
Normal

Die Auswahl wird durch Texteingaben überschrieben und geht beim Bewegen des Cursors verloren.

Beständig

Die Auswahl bleibt auch beim Bewegen des Cursors und bei Texteingaben bestehen.

Rollen über das Dokumentende hinaus zulassen

Mit dieser Einstellung ist es möglich, über das Dokumentende hinaus zu blättern. Damit kann das Ende des Dokuments im Fenster zentriert oder bis zum Anfang der Ansicht hochgeschoben werden.

Rücktaste löscht Basis- und zugehöriges diakritische Zeichen

Ist dies aktiviert, werden zusammengesetzte Zeichen mit den zugehörigen diakritischen Zeichen gelöscht, nicht nur die Basiszeichen allein. Dies ist nützlich für indische Schriften.

Einrückung

Standard-Einrückungsmodus:

Hier wählen Sie den Einrückungsmodus, den Sie als Standard benutzen wollen. Es wird empfohlen, dass Sie hier Kein oder Normal einstellen und die Einstellungen für Dateitypen benutzen, um andere Einrückungen, wie zum Beispiel C/C++-Quelltext oder XML zu wählen.

Einrücken mit
Tabulatoren

Wenn dieses Feld angekreuzt ist, setzt der Editor Tabulatorzeichen ein, wenn die Taste Tab gedrückt oder die Automatische Einrückung benutzt wird.

Leerzeichen

Wenn dieses Feld angekreuzt ist, setzt der Editor eine berechnete Anzahl von Leerzeichen ein, wenn die Taste Tab gedrückt oder Automatische Einrückung benutzt wird. Die Anzahl der Leerzeichen wird aus der Position im Text und der Einstellung für Tabulatorweite berechnet.

Tabulatoren und Leerzeichen

Ist diese Einstellung aktiv, werden Leerzeichen wie oben beschrieben eingefügt, wenn die Tabtaste am Zeilenanfang gedrückt oder Einrückung benutzt wird. Wird die Tabtaste mitten in der Zeile oder am Zeilenende gedrückt, werden Tabulatorzeichen eingefügt.

Tabulatorweite:

Hier wird die Anzahl der Leerzeichen angegeben, die für ein Tabulatorzeichen angezeigt werden.

Einrückungstiefe:

Die Einrückungstiefe ist die Anzahl Leerzeichen, die zum Einrücken einer Zeile verwendet wird. Ist das Einrücken mit Tabulator eingestellt , wird für die Einrückung ein Tabulator-Zeichen verwendet, sofern die Einrückungstiefe durch die Tabulatorweite teilbar ist.

Einrückungseigenschaften
Zusätzliche Leerzeichen beibehalten

Ist diese Einstellung nicht aktiv, richtet die Änderung der Einrückungsebene eine Zeile an einem Vielfachen der angegebenen Einrückungstiefe aus.

Einrückung von Text vornehmen, der aus der Zwischenablage eingefügt wird

Ist diese Einstellung ausgewählt, wird aus der Zwischenablage eingefügter Text eingerückt. Durch die Aktion Rückgängig kann die Einrückung rückgängig gemacht werden.

Einrückungs-Aktionen
Rücktaste verringert Einrückungsebene (im führenden Leerbereich einer eingerückten Zeile)

Ist diese Einstellung markiert, verringert die Rücktaste die Einrückungsebene, wenn der Cursor in den Leerzeichen am Anfang einer Zeile steht.

Aktion der Tabulator-Taste (wenn keine Markierung vorliegt)

Wenn Sie möchten, dass die Tabtaste die aktuelle Zeile im aktuellen Quelltextblock wie in Emacs ausrichtet, weisen Sie der Tabtaste den Kurzbefehl Ausrichten zu.

Immer zur nächsten Tabulatorposition vorrücken

Ist diese Einstellung aktiv, fügt die Tabulator-Taste immer Leerzeichen bis zum nächsten Tabulatorstop ein. Ist die Einstellung Leerzeichen statt Tabulatoren für Einrückung verwenden auf der Karteikarte Allgemein der Seite Bearbeitung aktiv, werden Leerzeichen eingefügt, anderenfalls ein einzelner Tabulator.

Einrückungsebene immer erhöhen

Ist diese Einstellung aktiv, fügt die Tab-Taste immer die unter Einrückungstiefe angegebene Anzahl Leerzeichen ein.

Einrückungsebene erhöhen, wenn im Leerzeichenbereich am Zeilenanfang

Ist die Einstellung markiert, rückt die Taste Tab entweder die aktuelle Zeile ein oder springt zur nächsten Tabulatorposition. Wird der Tabulator an oder vor der Position des ersten Zeichens eingefügt, dass kein Leerzeichen ist, oder liegt eine Markierung vor, wird die aktuelle Zeile um die Anzahl Zeichen eingerückt, die unter Einrückungstiefe: angegeben ist. Wird der Tabulator nach dem ersten Zeichen, dass kein Leerzeichen ist, eingefügt und es liegt keine Markierung vor, werden Leerräume bis zum Erreichen der nächsten Tabulatorposition eingefügt. Ist die Einstellung Leerzeichen statt Tabulatoren für Einrückung verwenden auf der Karteikarte Allgemein der Seite Bearbeitung aktiviert, werden Leerzeichen eingefügt, anderenfalls ein Tabulatorzeichen.

Autovervollständigung

Allgemein
Autovervollständigung aktivieren

Ist dies aktiviert, erscheint bei der Eingabe automatisch eine Liste mit Texteinträgen, mit denen der aktuelle Text unter dem Cursor vervollständigt werden kann.

Minimale Wortlänge für Vervollständigung

Bei der Texteingabe sucht die Wortvervollständigung im Dokument nach Wörtern, die mit dem bereits eingegebenen Text beginnen. Diese Einstellung legt die minimale Anzahl der einzugebenden Zeichen fest, ab der die Wortvervollständigung aktiviert und das Feld mit passenden Vorschlägen angezeigt wird.

Bei Vervollständigung Wortende entfernen

Entfernt ein bestehendes Wortende, wenn eine Vervollständigung aus der Liste gewählt wird

Schlüsselwortvervollständigung

Die eingebaute automatische Vervollständigung verwendet die Schlüsselwörter, die in der Syntaxhervorhebung definiert sind.

Rechtschreibprüfung

Die Einstellungen für die Rechtschreibprüfung werden Sie im Systemeinstellungen-Module Rechtschreibprüfung erläutert.

VI-Eingabemodus

Allgemein
VI-Befehle überschreiben Kate-Kurzbefehle

Wenn diese Einstellung aktiviert ist, werden VI-Befehle KatePart's eingebaute Befehle überschreiben. Beispielsweise wird Strg+R eine Aktion wiederherstellen anstatt die Standard-Aktion auszuführen (den Dialog „Suchen und Ersetzen“ anzeigen).

Relative Zeilennummern anzeigen

Ist dies aktiviert, wird immer die aktuelle Zeile als Zeile „0“ gezählt und Zeilen über und unter der aktuellen Zeile relativ zur aktuellen Zeile nummeriert.

Tastenzuordnung

Mit der Tastenzuordnung können Sie die Bedeutung von gedrückten Tasten auf der Tastatur anpassen. Sie können Befehle auf andere Tasten umlegen oder besondere Tastenkombinationen definieren, um eine Serie von Befehlen auszuführen.

Beispiel:

F2 -> I-- Esc

Dadurch wird einer Zeile beim Drücken von F2 die Zeichenkette I-- vorangestellt.

Öffnen/Speichern

Allgemein

Dateiformat
Kodierung

Hier wird die Standardkodierung zum Öffnen/Speichern von Dateien festgelegt, falls diese nicht im Öffnen-/Speichern-Dialog oder über die Befehlszeile bereits festgelegt ist.

Erkennung der Kodierung

Wählen Sie einen Eintrag aus der Liste im Auswahlfeld, um die automatische Erkennung abzuschalten oder mit Allgemein für alle Kodierungen zu aktivieren. Da diese Einstellung oft nur die Kodierung utf-8 oder utf-16 erkennt, wird bei der Auswahl einer Region mit dafür angepassten Verfahren die richtige Kodierung eher erkannt. Falls weder die oben angegebene Kodierung, noch die im Öffnen-/Speichern-Dialog oder die über die Befehlszeile angegebene Kodierung für die Datei passend sind, wird die automatische Erkennung gestartet.

Ausweich-Kodierung:

Hier wird die Ausweich-Kodierung festgelegt, mit der Dateien geöffnet werden, falls keine der sonstigen angegebenen Kodierungen passend ist. Bevor die Ausweich-Kodierung eingesetzt wird, wird zunächst versucht, die korrekte Kodierung anhand einer Byte-Reihenfolge-Markierung am Anfang der Datei automatisch festzustellen: Wenn eine gefunden wird, wird die korrekte Unicode-Kodierung verwendet; ansonsten wird die Kodierungserkennung gestartet. Erst wenn beides fehlschlägt, wird die Ausweich-Kodierung verwendet.

Zeilenende

Wählen Sie den Zeilenendemodus für das aktuelle Dokument. Sie haben die Auswahl zwischen UNIX®, DOS/Windows® oder Macintosh.

Automatische Zeilenendeerkennung

Wenn dieses Feld angekreuzt ist, dann stellt der Editor den Zeilenendetyp automatisch fest. Dazu wird das erste gefundene Zeilenende benutzt.

Byte-Reihenfolge-Markierung aktivieren (BOM)

Die Byte-Reihenfolge-Markierung ist eine spezielle Abfolge am Anfang von Unicode-kodierten Dokumenten. Sie unterstützt Editoren beim Öffnen von Textdokumenten mit der richtigen Unicode-Kodierung. Die Byte-Reihenfolge-Markierung ist im angezeigten Dokument nicht sichtbar. Weitere Informationen finden Sie im Artikel Byte-Reihenfolge-Markierung.

Begrenzung der Zeilenlänge

Wegen Mängeln in Qt™ verarbeitet KatePart sehr lange Zeilen nur mit eingeschränkter Leistungsfähigkeit. Daher werden Zeilen mit einer größeren Anzahl von Zeichen als hier angegeben automatisch umgebrochen. Um den automatischen Umbruch abzuschalten, setzen Sie diesen Wert auf 0.

Automatische Bereinigung beim Speichern
Leerzeichen am Zeilenende entfernen

Der Editor entfernt überflüssige Leerzeichen an den Zeilenenden beim Speichern.Sie können nie zum Abschalten dieser Funktion, nur geänderte Zeilen oder Im gesamten Dokument einstellen und so die Anwendung dieser Funtion steuern.

Beim Speichern Zeilenumbruch am Ende der Datei einfügen

Der Editor fügt beim Speichern automatisch ein Zeilenvorschubzeichen am Ende der Datei an, wenn noch keins vorhanden ist.

Erweitert

Sicherungskopie beim Speichern

Sicherungskopie beim Speichern weist KatePart an, vor dem Speichern von Dateien eine Sicherungskopie unter: <Präfix><Dateiname><Erweiterung>' zu erstellen. Die Erweiterung ist standardmäßig ~ und der Präfix ist standardmäßig leer.

Lokale Dateien

Wenn dieses Feld angekreuzt ist, werden von lokalen Dateien Sicherungskopien erstellt.

Dateien auf Fremdrechnern

Wenn dieses Feld angekreuzt ist, werden von auf Fremdrechnern bearbeiteten Dateien Sicherungskopien erstellt.

Präfix

Geben Sie hier den Präfix ein, der dem Dateinamen der Sicherungskopie vorangestellt wird.

Erweiterung

Geben Sie hier die Erweiterung ein, die an den Dateinamen der Sicherungskopie angehängt wird.

Swap-Dateieinstellungen

KatePart ist in der Lage, große Teile dessen, was seit der letzten Sicherung geschrieben wurde, bei einem Absturz oder einem Stromausfall wiederherzustellen. Nach der ersten Veränderung des aktuellen Dokumentes wird eine Swap-Datei (.swp.<filename>) erzeugt. Wenn der Nutzer die Änderungen nicht speichert und KatePart abstürzt, bleibt die Swap-Datei auf der Festplatte. Beim Öffnen eines Dokumentes prüft KatePart, ob eine Swap-Datei zu diesem Dokument existiert und wenn das der Fall ist, dann fragt KatePart, ob die verlorenen Änderungen wiederhergestellt werden sollen. Dabei kann der Nutzer diese Änderungen ansehen. Die Swap-Datei wird bei jedem Sichern und beim normalen Beenden von KatePart gelöscht.

KatePart gleicht die offenen Dateien mit den Swap-Dateien auf der Festplatte alle 15 Sekunden ab, aber nur wenn diese seit dem letzten Abgleich geändert wurden. Der Nutzer kann diesen Abgleich durch Ankreuzen von Deaktivierenabschalten, das kann aber zu Datenverlust führen.

Ist dies aktiviert, dann werden die Swap-Dateien im Ordner der Datei gespeichert. Mit Alternativer Ordner können Sie einen bestimmten Ordner für die Swap-Dateien angeben. Dies sollte bei Netzwerkwerk-Dateisystemen benutzt werden, um unnötige Netzwerkbelastungen zu vermeiden.

Modi & Dateitypen

Diese Seite dient zur Einstellung von abweichenden Einstellungen für Dokumente bestimmter MIME-Typen. Wenn ein Dokument in den Editor geladen wird, dann versucht dieser einen schon festgelegten Datentyp zu finden, auf den die Merkmale eines MIME-Typs passen und verwendet dann die Variablen, die für diesen Datentyp festgelegt wurden. Wenn mehrere Datentypen passend sind, dann wird der Typ verwendet, der die höchste Priorität besitzt.

Dateityp:

Der Dateityp mit der höchsten Priorität wird im ersten Auswahlfeld angezeigt. Wenn mehrere Dateitypen gefunden wurden, werden diese ebenfalls aufgelistet.

Neu

Dieser Knopf wird zum Erstellen eines neuen Dateityps benutzt. Wenn Sie diesen Knopf drücken, werden die Inhalte aller Felder hierunter gelöscht und Sie können die gewünschten Eigenschaften für den neuen Dateityp dort eintragen.

Löschen

Um einen existierenden Dateityp zu entfernen, klicken Sie auf den Knopf Löschen.

Eigenschaften des aktuellen Dateityps

Der Dateityp mit der höchsten Priorität wird im ersten Auswahlfeld angezeigt. Wenn mehrere Dateitypen gefunden wurden, werden diese ebenfalls aufgelistet.

Name:

Geben Sie hier einen aussagekräftigen Namen an, der dann im Menü ExtrasDateityp erscheint.

Abschnitt:

Der Abschnittsname wird zum Organisieren der vielen Dateitypen in Menüs benutzt. Geben Sie hier einen aussagekräftigen Namen an, der dann im Menü ExtrasDateityp als Untermenü erscheint.

Variablen:

Dieser Eintrag erlaubt das Einstellen von KateParts Optionen für die Dateien dieses Dateityps unter Benutzung der Variablen von KatePart. Sie können so fast alle Einstellungen wie zum Beispiel Hervorhebungen, Einrückung usw.

Drücken Sie auf das Symbol rechts neben dem Eingabefeld. dann wird eine Liste aller vorhandenen Variablen und deren Beschreibung angezeigt. Klicken Sie auf das Ankreuzfeld links, um eine bestimmte Variable zu aktivieren und stellen Sie dann rechts den Wert der Variablen ein. Für einige Variablen gibt es Auswahlfelder mit zulässigen Werten, für andere Variablen müssen Sie die Werte direkt eingeben.

Weitere Informationen zu diesen Variablen finden Sie unter Einstellungen mit Dokumentvariablen.

Hervorhebung:

Wenn Sie einen neuen Dateityp erstellen, können Sie in diesem Auswahlfeld einen Dateityp für die Hervorhebung auswählen.

Einrückungsmodus:

In diesem Auswahlfeld kann der Einrückungsmodus für neue Dokumente eingestellt werden.

Dateierweiterungen:

Das Feld Dateierweiterungen erlaubt das Auswählen von Dateien nach dem Dateinamen. Ein typischer Eintrag hier besteht aus einem Stern und der Dateinamenserweiterung, zum Beispiel *.txt; *.text. Tragen Sie hier mehrere Typen ein, werden diese Einträge durch Semikolons getrennt.

MIME-Typen:

Zeigt ein Dialogfeld an, in dem Sie einfach und schnell MIME-Typen auswählen können.

Priorität:

Stellen Sie hier die Priorität für den Dateityp ein. Wenn auf ein Dokument mehrere Dateitypen zutreffen, wird der Typ mit der höchsten Priorität benutzt.

Hervorhebungsdateien herunterladen ...

Klicken Sie auf diesen Knopf für das Herunterladen neuer oder aktualisierter Hervorhebungsregeln von der KatePart-Webseite.

Einstellungen mit Dokumentvariablen

Einstellungen mit Dokumentvariablen

KatePart Variablen sind KatePart Dokumentvariablen, ähnlich der Modelines in Emacs und Vi. In Katepart haben die Dokumentvariablen das folgende Format: kate: VARIABLENAME VALUE; [ VARIABLENAME VALUE; ... ]. Die Zeilen können natürlich auch in einem Kommentar stehen, wenn das Format des Dokuments Kommentare beinhaltet. Variablennamen sind einzelne Wörter ohne Zwischenräume und alles bis zum nächsten Semikolon sind Werte. Das Semikolon ist vorgeschrieben.

Hier ein Beispiel für eine Variablenzeile, die die Einrückung für Quelltext in C++, Java oder Javascript einschaltet:

// kate: replace-tabs on; indent-width 4; indent-mode cstyle;

Anmerkung

Nur die ersten und letzten 10 Zeilen eines Dokuments werden nach Dokumentvariablen durchsucht.

Zusätzlich können Dokumentvariablen in eine Datei mit dem Namen .kateconfig in jedem beliebigen Ordner geschrieben werden. Die Einstellungen dieser Dokumentvariablen werden so verwendet, als wenn sie als Modelines in jeder Datei im Ordner und allen Unterordnern eingefügt wären. Dokumentvariablen in .kateconfig verwenden die gleiche Syntax wie Modelines, aber mit zusätzlichen Optionen.

Es gibt Variablen für fast alle Einstellungen in KatePart. Außerdem können Module Variablen benutzen. In diesem Fall sind sie in der Dokumentation der Module dokumentiert.

KatePart kann Einstellungen aus .editorconfig-Dateien einlesen, wenn die Bibliothek editorconfig installiert ist. KatePart sucht immer automatisch nach einer Datei mit dem Namen .editorconfig, wenn Sie ein Dokument öffnen. Allerdings werden die Einstellungen aus .kateconfig-Dateien zuerst benutzt.

Wie KatePart Variablen benutzt

Beim Einlesen der Einstellungen werden von katepart

  • die globalen Einstellungen,

  • optionale Daten zur aktuellen Sitzung,

  • die Einstellungen zum Dateityp,

  • Dokumentvariablen in .kateconfig,

  • Variablen im Dokument selbst,

  • Einstellungen während der aktuellen Sitzung über das Menü oder die Befehlszeile

in der angegebenen Reihenfolge gelesen und angewendet. Wie Sie sehen, werden Dokumentvariablen nur durch Änderungen zur Laufzeit überschrieben. Immer wenn ein Dokument gespeichert wird, werden die Dokumentvariablen neu eingelesen und überschreiben dann von der Befehlszeile oder über das Menü vorgenommene Einstellungsänderungen.

Jede hier nicht beschriebene Variable ist im Dokument gespeichert und kann durch andere Objekte wie Erweiterungen abgefragt werden, die diese Variablen für ihre eigenen Zwecke setzen können. Zum Beispiel nutzt der Modus für die Variablenbasierte-Einrückung Dokumentvariablen zum Speichern der Einstellungen.

Die hier beschriebenen Variablen sind in KatePart Version 5.38 enthalten. Es werden in der Zukunft sicher weitere Variablen hinzugefügt werden. Es gibt drei Typen von Variablen mit den folgenden gültigen Werten:

  • BOOL - on|off|true|false|1|0

  • INTEGER - eine ganze Zahl

  • STRING - alles andere

Verfügbare Variablen

auto-brackets [BOOL]

Automatischen Einfügen von Klammern aktivieren.

auto-center-lines [INT]

Setzt die Anzahl der automatisch zentrierten Zeilen.

background-color [STRING]

Setzt die Hintergrundfarbe des Dokuments. Der Wert muss als gültige Farbe ausgewertet werden können, also z. B. #ff0000.

backspace-indents [BOOL]

Schaltet die Verringerung des Einrückens beim Drücken der Taste Rücktaste ein oder aus.

block-selection [BOOL]

Schaltet die Blockauswahl ein und aus.

bom | byte-order-mark | byte-order-marker [BOOL]

Schaltet die Markierung für die Bytereihenfolge (BOM) ein und aus, wenn Dokumente in einem Unicodeformat (utf8, utf16, utf32) gespeichert werden.

Ab Version: Kate 3.9 (KDE 4.9)

bracket-highlight-color [STRING]

Setzt die Hintergrundfarbe für die Hervorhebung von Klammern. Der Wert muss als gültige Farbe ausgewertet werden können, also z. B. #ff0000.

current-line-color [STRING]

Setzt die Farbe für die aktuelle Zeile. Der Wert muss als gültige Farbe ausgewertet werden können, also z. B. #ff0000.

default-dictionary [STRING]

Legt das Standardwörterbuch für die Rechtschreibprüfung fest.

Ab Version: Kate 3.9 (KDE 4.9)

dynamic-word-wrap [BOOL]

Schaltet den dynamischen Zeilenumbruch ein und aus.

eol | end-of-line [STRING]

Setzt das Format für das Zeilenende. Gültige Werte hierfür sind: unix, mac und dos.

folding-markers [BOOL]

Schaltet die Anzeige von Quelltextausblendungen ein und aus.

folding-preview [BOOL]

Vorschau der Text-Ausblendung am Editor-Rand anzeigen

font-size [INT]

Setzt die Schriftgröße des Dokuments.

font [STRING]

Setzt die Schriftart des Dokuments . Der Wert muss eine gültige Schriftart bezeichnen, also z. B. courier.

hl | syntax [STRING]

Setzt den Hervorhebungsmodus. Es können alle Namen, die auch in den Menüs vorhanden sind, verwendet werden. z.B für C++ benutzen Sie einfach C++.

icon-bar-color [STRING]

Setzt die Farbe des Symbolrandes. Der Wert muss als eine gültige Farbe übersetzt werden können, also z. B. #ff0000.

icon-border [BOOL]

Schaltet die Anzeige des Symbolrandes ein und aus.

indent-mode [STRING]

Setzt den Modus für das automatische Einrücken. Die Einstellungen normal, cstyle, haskell, lilypond, lisp, python, ruby und xml sind möglich. Sehen Sie unter Automatisches Einrücken benutzen für Einzelheiten nach.

indent-pasted-text [BOOL]

Aktiviert/deaktiviert die Anpassung der Einrückung von Text, der aus der Zwischenablage eingefügt wird

Ab Version: Kate 3.11 (KDE 4.11)

indent-width [INT]

Setzt die Breite der Einrückung.

keep-extra-spaces [BOOL]

Legt fest, ob zusätzliche Leerzeichen bei der Berechnung der Einrückungweite beibehalten werden.

line-numbers [BOOL]

Schaltet die Anzeige der Zeilennummern ein und aus.

newline-at-eof [BOOL]

Fügt beim Speichern des Dokuments eine leere Zeile am Ende der Datei (EOF) an.

Ab Version: Kate 3.9 (KDE 4.9)

overwrite-mode [BOOL]

Schaltet den Überschreibmodus ein und aus.

persistent-selection [BOOL]

Schaltet die durchgehende Auswahl ein und aus.

replace-tabs-save [BOOL]

Schaltet das Ersetzen von Tabulatoren durch Leerzeichen beim Speichern des Dokuments ein und aus.

replace-tabs [BOOL]

Schaltet das sofortige Ersetzen von Tabulatoren durch Leerzeichen ein und aus.

remove-trailing-spaces [STRING]

Entfernt Leerzeichen am Zeilenende beim Speichern des Dokuments. Gültige Optionen sind:

  • none, - or 0: Leerzeichen am Zeilenende nie entfernen.

  • modified, mod, + or 1: Leerzeichen am Zeilenende nur in geänderten Zeilen entfernen. Diese geänderten Zeilen werden durch das Zeilenänderungssystem gekennzeichnet.

  • all, * or 2: Leerzeichen am Zeilenende im gesamten Dokument entfernen.

Seit: KDE 4.10.

scrollbar-minimap [BOOL]

Textgrafik auf Bildlaufleiste anzeigen

scrollbar-preview [BOOL]

Vorschau an Bildlaufleiste anzeigen.

scheme [ZEICHENKETTE]

Setzt das Farbschema von Kate. Die Zeichenkette muss ein gültiger Name für ein Farbschema sein, sonst wird diese Einstellung ignoriert.

selection-color [STRING]

Setzt die Farbe für ausgewählten Text. Der Wert muss als gültige Farbe ausgewertet werden können, also z. B. #ff0000.

show-tabs [BOOL]

Schaltet die Anzeige von Tabulatorzeichen ein und aus.

smart-home [BOOL]

Schaltet die intelligente Funktion der Tasten Pos1 und Ende ein oder aus.

tab-indents [BOOL]

Schaltet das Einrücken mit der Tabtaste ein und aus.

tab-width [INT]

Setzt die angezeigte Weite für ein Tabulatorzeichen.

undo-steps [INT]

Setzt die Anzahl der gespeicherten Schritte für die Funktion Rückgängig.

Anmerkung: Ab Version Kate 3 in KDE4 wird diese Variable ignoriert. Die maximale Anzahl von Schritten für Rückgängig ist unbegrenzt.

word-wrap-column [INT]

Setzt die Zeilenlänge für den Statischen Zeilenumbruch.

word-wrap-marker-color [STRING]

Setzt die Farbe für Zeilenumbruchmarkierungen. Der Wert muss als gültige Farbe ausgewertet werden können, also z. B. #ff0000.

word-wrap [BOOL]

Schaltet den statischen Zeilenumbruch ein und aus.

Zusätzliche Optionen in .kateconfig-Dateien

KatePart sucht nach einer .kateconfig-Datei nur in lokalen Dateien, nicht in Dateien auf anderen Rechnern. Außerdem können Optionen für Platzhalter (Dateierweiterungen) wie folgt eingestellt werden:

kate: tab-width 4; indent-width 4; replace-tabs on;
kate-wildcard(*.xml): indent-width 2;
kate-wildcard(Makefile): replace-tabs off;

In diesem Beispiel wird für alle Dateien eine Tabulatorweite von vier Leerzeichen, eine Einrückungstiefe von vier Leerzeichen verwendet und Tabulatoren werden durch Leerzeichen ersetzt. Bei allen *.xml-Dateien wird jedoch eine Einrückungstiefe von zwei Leerzeichen benutzt., außerdem in Make-Dateien nur Tabulatoren, d. h. sie werden nicht durch Leerzeichen ersetzt.

Platzhalter werden durch Semikolon getrennt, d. h. Sie können auch mehrere Erweiterungen wie im nächsten Beispiel angeben:

kate-wildcard(*.json;*.xml): indent-width 2;

Weiterhin können Sie MIME-Typen auch zur Erkennung bestimmter Dateien benutzen. Um z. B. alle Dateien mit C++-Quelltexten mit vier Leerzeichen ein zu rücken, verwenden Sie:

kate-mimetype(text/x-c++src): indent-width 4;

Anmerkung

Außer in .kateconfig-Dateien können Dokumentvariablen mit Platzhaltern und MIME-Typen auch in Dateien direkt als Kommentare benutzt werden.

Kapitel 8. Danksagungen und Lizenz

Kapitel 8. Danksagungen und Lizenz

KatePart und KWrite Copyright 2001-2014 das Kate-Team.

Basiert auf dem Original-KWrite, mit Copyright 2000 von Jochen Wilhelmy

Mitarbeit:

  • Christoph Cullmann

  • Michael Bartl

  • Phlip

  • Anders Lund

  • Matt Newell

  • Joseph Wenninger

  • Jochen Wilhelmy

  • Michael Koch

  • Christian Gebauer

  • Simon Hausmann

  • Glen Parker

  • Scott Manson

  • John Firebaugh

Die Dokumentation zu KatePart basiert auf der Originaldokumentation zu KWrite angepasst für alle Nutzer von KatePart.

Die Originaldokumentation für KWrite wurde von Thad McGinnis verfasst, viele Änderungen stammen von Christian Tibirna . Kontrollgelesen und nach Docbook konvertiert wurde diese von Lauri Watts . Aktualisierungen kamen von Anne-Marie Mahfouf und Anders Lund .

Die aktuelle Dokumentation für KatePart wird von T.C. Hollingsworth gepflegt. Bitte schicken Sie Kommentare oder Verbesserungsvorschläge unter der Adresse an die Entwickler-Mailingliste von KatePart oder eröffnen Sie ein Ticket im KDE Bugtracking System.

Übersetzungen von:

  • Thomas Diehl , GUI-Übersetzung

  • Matthias Schulz, Übersetzung der Dokumentation

Diese Dokumentation ist unter den Bedingungen der GNU Free Documentation License veröffentlicht.

Dieses Programm ist unter den Bedingungen der GNU General Public License veröffentlicht.

Kapitel 9. Der VI-Eingabemodus

Kapitel 9. Der VI-Eingabemodus

Erlend Hamberg

Übersetzung: Frederik Schwarzer

VI-Eingabemodus

Ziel des VI-Modus ist nicht, Vim zu ersetzen indem alle Vim-Funktionen unterstützt werden. Das Ziel ist es, die Vim-Art der Textbearbeitung und somit die angelernten Gewohnheiten in Programmen zur Verfügung zu stellen, die den KatePart-Texteditor als ihren internen Editor verwenden.

Der VI-Modus hat zum Ziel, sich in die Programme zu integrieren und, wo sinnvoll, das Verhalten von Vim nachzubilden. Zum Beispiel öffnet :w in KateParts VI-Modus einen Dialog zum Speichern.

Um den VI-Modus für alle neuen Ansichten zu aktivieren, gehen Sie auf EinstellungenKatePart einrichten ...+BearbeitungVI-Eingabemodus. Auf dieser Karteikarte können Sie den VI-Modus einrichten und die Tastenzuordnungen für diesen Modus anlegen und ändern. Der VI-Modus kann auch mit dem Menüpunkt VI-Eingabemodus im Menü Bearbeiten ein- bzw. ausgeschaltet werden. (Der Standardkurzbefehl ist Meta+Strg+V, wobei Meta normalerweise die Windows-Taste ist.)

Anmerkung

Viele Kurzbefehle im VI-Modus beachten die Groß- und Kleinschreibung, im Gegensatz zu den meisten KDE-Kurzbefehlen. Das heißt, dass y und Y verschiedene Kurzbefehle sind. Um den Befehl y (kopieren) einzugeben, überprüfen Sie dass die Feststelltaste nicht aktiviert ist und drücken Y auf der Tastatur. Um den Befehl Y (kopieren bis zum Zeilenende) einzugeben, drücken Sie die Tastenkombination Umschalt+Y.

Die betrifft nicht die Kurzbefehle mit der Strg-Taste, die unabhängig vom Status der Feststelltaste und ohne Drücken der Umschalt-Taste eingegeben werden können. Bei einige Befehle jedoch muss bei einer Tasteneingabe nach der Tastenkombination mit der Strg-Taste die Groß-/Kleinschreibung berücksichtigt werden. Um zum Beispiel den Befehl Strg+W, h (Wechsel zum rechten Fenster der geteilten Ansicht) einzugeben, überprüfen Sie dass die Feststelltaste nicht aktiviert ist, drücken die Tastenkombination Strg+W und dann H.

Inkompatibilitäten mit Vim

Es gibt ein paar Funktionen in KateParts VI-Modus, die mit Vim nicht kompatibel sind (abgesehen von den fehlenden Funktionen). Diese sind hier aufgelistet, einschließlich. der entsprechenden Begründungen.

  • KatePart: U und Strg+R ist Wiederherstellen.

    Vim: Strg+R ist normales Wiederherstellen; U macht alle Änderungen in einer Zeile rückgängig.

    Der Grund dafür, in KateParts VI-Modus U für die Wiederherstellen-Aktion zu verwenden, ist, dass der Kurzbefehl Strg+R voreingestellt von KateParts Ersetzen-Funktion belegt ist (Suchen und ersetzen). Der VI-Modus überschreibt keine KatePart-Kurzbefehle (dies kann in EinstellungenKatePart einrichten ...+BearbeitungVi-Eingabemodus eingestellt werden), weshalb eine Wiederherstellen-Aktion auch über einen normalen Tastendruck verfügbar sein muss. Davon abgesehen lässt sich die Funktionsweise des U-Befehls aus Vim nicht gut auf das interne System zum Rückgängigmachen in KatePart abbilden, weshalb es nicht einfach wäre, dies zu unterstützen.

  • KatePart: der Befehl print öffnet den Dialog Drucken.

    Vim: der Befehl print gibt die Zeilen des angegebenen Bereichs wie sein Vorläufer ed aus.

    Befehle wie :print sind nicht nur im VI-Modus, sondern für alle KatePart-Benutzer verfügbar. Daher öffnet der :print-Befehl den bekannten Dialog zum Drucken, anstatt das Verhalten von Vim nachzubilden.

  • KatePart: Y kopiert bis zum Ende der Zeile.

    Vim: Y kopiert gesamte Zeile, genau wie yy.

    Das Verhalten des Y-Befehls von VI kann als Fehlerhaft angesehen werden. Beim Ändern und Löschen wirken sich cc/ dd auf die gesamte Zeile aus und C/D arbeiten von der aktuellen Cursor-Position bis zum Zeilenende. Beide, yy und Y hingegen kopieren die gesamte Zeile. In KateParts VI-Modus kopiert Y bis zum Zeilenende kopieren. Dieses Verhalten wird in der Vim-Dokumentation als logischer beschrieben.

  • KatePart: O und o öffnen [eine Anzahl] neuer Zeilen und wechseln in den Eingabemodus.

    Vim: O und o öffnen eine neue Zeile und fügen den eingegebenen Text [so oft] ein, sobald der Eingabemodus verlassen wird.

    Diese unterscheiden sich hauptsächlich, weil sich viele Benutzer im Vim-IRC-Kanal (#vim auf Freenode) verwirrt über die Funktionsweise geäußert haben.

Wechseln der Modi

  • Im Normalen Modus können Sie Befehle zum Navigieren und Ändern eines Dokuments eingeben. Dieser Modus ist der Standardmodus. Sie können aus allen anderen Modi mit der Esc-Taste in diesen Modus zurückkehren.

  • Im Visuellen Modus können Sie Text in einem Dokument markieren. Die meisten Befehle aus dem Normalen Modus sind auch in diesem Modus gültig. Zum zeichenweise auszuwählen, wechseln in diesen Modus, indem Sie die Taste v drücken; für zeilenweise Auswahl, drücken Sie V.

  • Im Eingabemodus können Sie das Dokument direkt bearbeiten. Sie wechseln in diesen Modus, indem Sie die Taste i oder einen der anderen, oben genannten Befehle drücken.

  • Der Befehlsmodus ruft KateParts Befehlszeile auf. Hier können Sie viele in Vi implementierte Befehle wie auch spezielle Befehle für KatePart aufrufen. Weitere Informationen über diese Befehle finden Sie unter „Die integrierte Befehlszeile im Editor“. Um diesen Modus zu benutzen, drücken Sie die Taste :, geben den Befehl ein und drücken dann die Eingabetaste.

Einbindung in Kate's Funktionen

  • Es wird automatisch in den Visuellen Modus gewechselt, wenn Text mit der Maus ausgewählt ist. Dieser Wechsel findet auch dann statt, wenn Funktion von Kate benutzt werden, die Text auswählen, wie zum Beispiel Alles auswählen aus dem Menü oder mit dem Kurzbefehl Strg+A.

  • Marker in Vi und Lesezeichen in Kate sind integriert. Erstellen Sie einen Marker im Vi-Modus, dann wird auch das zugehörige Lesezeichen für Kate erstellt und im Menü Lesezeichen angezeigt. Umgekehrt wird mit einem Lesezeichen in Kate auch der zugehörige Marker in Vi an Spalte Null der Zeile erzeugt.

Unterstützte Befehle im normalen/visuellen Modus

a

Wechselt zum Eingabemodus und fügt hinter dem Cursor ein

A

Wechselt zum Eingabemodus und fügt hinter der Zeile ein

i

Wechselt zum Eingabemodus und fügt vor dem Cursor ein

Einfügen

Wechselt zum Eingabemodus und fügt vor dem Cursor ein

I

Wechselt zum Einfügemodus und fügt vor dem ersten nicht leeren Zeichen auf der Zeile ein

gi

Wechselt zum Einfügemodus und fügt vor der Stelle ein, an der der letzte Einfügemodus verlassen wurde

v

Wechsel in den visuellen Modus; Auswahl von Zeichen

V

Wechsel in den visuellen Modus; Auswahl von Zeilen

Strg+v

Wechselt in den visuellen Modus; Auswahl von Blöcken

gb

Wechselt in den visuellen Modus und aktiviert die letzte Auswahl erneut

o

Fügt unter der aktuellen Zeile eine neue Zeile ein

O

Fügt über der aktuellen Zeile eine neue Zeile ein

J

Zeilen zusammenführen

c

Ändern: gefolgt von einer Richtungstaste; löscht ein Zeichen und wechselt in den Eingabemodus

C

Bis zum Zeilenende ändern: löscht bis zum Zeilenende und wechselt in den Eingabemodus

cc

Zeile ändern: Zeile löschen und in den Eingabemodus wechseln

s

Zeichen ersetzen

S

Zeilen ersetzen

dd

Zeile löschen

d

Gefolgt von einer Richtungstaste, um eine Zeile zu löschen

D

Löschen bis Zeilenende

x

Zeichen rechts vom Cursor löschen

Löschen

Zeichen rechts vom Cursor löschen

X

Zeichen links vom Cursor löschen

gu

Gefolgt von einer Richtungstaste, um ein Zeichen in Kleinbuchstaben zu ändern

guu

Ändert die aktuelle Zeile in Kleinschreibung

gU

Gefolgt von einer Richtungstaste, um ein Zeichen in Großbuchstaben zu ändern

gUU

Ändert die aktuelle Zeile in Großschreibung

y

Gefolgt von einer Richtungstaste, um eine Zeile zu kopieren

yy

Zeile kopieren

Y

Zeile kopieren

p

Hinter dem Cursor einfügen

P

Vor dem Cursor einfügen

]p

Hinter dem Cursor mit Einrückung einfügen

[p

Vor dem Cursor mit Einrückung einfügen

r

Gefolgt von einem Zeichen, um das Zeichen hinter dem Cursor zu ersetzen

R

Zu Ersetzungsmodus wechseln

:

Zu Befehlsmodus wechseln

/

Suchen

u

Rückgängig

Strg+R

Wiederherstellen

U

Wiederherstellen

m

Marker setzen (kann später zum Navigieren verwendet werden)

n

Weitersuchen

N

Frühere suchen

>>

Zeile einrücken

<<

Zeileneinrückung rückgängig

>

Zeilen einrücken

<

Einrückung mehrere Zeilen rückgängig

Strg+F

Seite nach unten

Strg+B

Seite nach oben

ga

ASCII-Wert des Zeichens ausgeben

.

Letzte Änderung wiederholen

==

commandAlignLine

=

commandAlignLines

~

Groß-/Kleinschreibung des aktuellen Zeichens ändern

Strg+S

Ansicht waagerecht teilen

Strg+V

Ansicht senkrecht teilen

Strg+W, w

Wechselt zum nächsten Fenster der geteilten Ansicht

Strg+W, h

Strg+W Left

Wechselt zum linken Fenster der geteilten Ansicht

Strg+W, l

Strg+W Pfeil rechts

Wechselt zum rechten Fenster der geteilten Ansicht

Strg+W, k

Strg+W Pfeil hoch

Wechselt zum oberen Fenster der geteilten Ansicht

Strg+W, j

Strg+W Pfeil runter

Wechselt zum unteren Fenster der geteilten Ansicht

Unterstützte Richtungstasten

Diese können zum Bewegen in einem Dokument im Normalen und im Visuellen Modus oder im Zusammenspiel mit einem der oben genannten Befehle verwendet werden. Es können Nummern angehängt werden, um anzugeben, wie oft die entsprechende Bewegung ausgeführt werden soll.

h

Nach links

Nach links

Nach links

Rücktaste

Nach links

j

Nach unten

Nach unten

Nach unten

k

Nach oben

Nach oben

Nach oben

l

Nach rechts

Nach rechts

Nach rechts

Leertaste

Nach rechts

$

Zum Zeilenende

Ende

Zum Zeilenende

0

Zum ersten Zeichen der Zeile (Spalte 0)

Pos1

Zum ersten Zeichen der Zeile

^

Erstes Zeichen, das kein Leerzeichen ist, in dieser Zeile

f

Gefolgt von einem Zeichen rechts vom Cursor, zu dem der Cursor bewegt werden soll

F

Gefolgt von einem Zeichen links vom Cursor, zu dem der Cursor bewegt werden soll

t

Gefolgt von einem Zeichen rechts vom Cursor, vor das der Cursor bewegt werden soll

T

Gefolgt von einem Zeichen links vom Cursor, vor das der Cursor bewegt werden soll

gg

Zur ersten Zeile

G

Zur letzten Zeile

w

Nächstes Wort

W

Nächstes Wort getrennt durch Leerzeichen

b

Vorheriges Wort

B

Vorheriges Wort getrennt durch Leerzeichen

e

Wortende

E

Ende des Worts getrennt durch Leerzeichen

ge

Ende des vorheriges Wortes

gE

Ende des vorherigen Worts getrennt durch Leerzeichen

|

Gefolgt von einer Spaltennummer, um in die Spalte zu springen

%

Gefolgt von einem Element, um zu dem Element zu springen

`

Marker

Erstes Zeichen, das kein Leerzeichen ist, in der Zeile, in der sich der Marker befindet

[[

Vorherige öffnende eckige Klammer

]]

Nächste öffnende eckige Klammer

[]

Vorherige schließende eckige Klammer

][

Nächste schließende eckige Klammer

Strg+I

Geht vorwärts zur nächsten Adresse

Strg+O

Geht zurück zur vorherigen Adresse

H

Geht zur ersten Zeile auf dem Bildschirm

M

Geht zur mittleren Zeile auf dem Bildschirm

L

Geht zur letzten Zeile auf dem Bildschirm

%Prozentsatz

Geht zum angegebenen Prozentsatz des Dokuments

gk

Geht optisch eine Zeile aufwärts (bei dynamischem Zeilenumbruch)

gj

Geht optisch eine Zeile abwärts (bei dynamischem Zeilenumbruch)

Strg+Pfeil links

Verschiebt ein Wort nach links

Strg+Pfeil rechts

Verschiebt ein Wort nach rechts

Unterstützte Textobjekte

Diese können verwendet werden, um bestimmte Bereiche eines Dokuments auszuwählen.

iw

Inneres Wort: Wort inklusive Leerzeichen

aw

Ein Wort: Wort ohne Leerzeichen

i"

Vorherige Anführungszeichen (") bis nächste Anführungszeichen, inklusive der Anführungszeichen

a”

Vorherige Anführungszeichen (") bis nächste Anführungszeichen, ohne die Anführungszeichen

i'

Vorherige einfache Anführungszeichen (") bis nächste einfache Anführungszeichen, inklusive der Anführungszeichen

a'

Vorherige einfache Anführungszeichen (") bis nächste einfache Anführungszeichen, ohne die Anführungszeichen

i(

Vorherige öffnende Klammer [(] bis nächste schließende Klammer [)], inklusive der Klammern

a(

Vorherige öffnende Klammer [(] bis nächste schließende Klammer [)], ohne die Klammern

i[

Vorherige öffnende eckige Klammer ([) bis nächste schließende eckige Klammer (]), inklusive der Klammern

a[

Vorherige öffnende eckige Klammer ([) bis nächste schließende eckige Klammer (]), ohne die Klammern

i{

Vorherige öffnende geschweifte Klammer ({) bis nächste schließende geschweifte Klammer (}), inklusive der Klammern

a{

Vorherige öffnende geschweifte Klammer ({) bis nächste schließende geschweifte Klammer (}), ohne die Klammern

i<

Vorherige öffnende spitze Klammer (<) bis nächste schließende spitze Klammer (>), inklusive der Klammern

a<

Vorherige öffnende spitze Klammer (<) bis nächste schließende spitze Klammer (>), ohne die Klammern

i`

Vorheriges Backtick („rückwärts geneigtes Hochkomma“) (") bis nächstes Backtick, inklusive der Backticks

a`

Vorheriges Backtick („rückwärts geneigtes Hochkomma“) (") bis nächstes Backtick, ohne die Backticks

Unterstützte Befehle im Eingabemodus

Strg+D

Einrückung verringern

Strg+T

Einrücken

Strg+E

Von unten einfügen

Strg+Y

Wort löschen

Strg+W

Wort löschen

Strg+U

Zeile löschen

Strg+J

Neue Zeile

Strg+H

Löscht Zeichen rückwärts

Strg+Pos1

Geht zum ersten Zeichen im Dokument

Strg+R n

Fügt den Inhalt des Registers n ein

Strg+O, Befehl

Wechselt für einen Befehl zum normalen Modus

Strg+A

Verringert die aktuell gewählte Zahl

Strg+X

Erhöht die aktuell gewählte Zahl

Das Komma-Textobjekt

Dieses Objekt fehlt in Vim. Das Komma-Text-Objekt vereinfacht das Ändern von Parameterlisten in C-ähnlichen Sprachen und anderen durch Komma getrennte Listen. Dies ist der Bereich zwischen zwei Kommas oder einem Komma und einer Klammer. In der Demonstrationszeile sind die Bereiche, die dieses Text-Objekt umfassen kann, hervorgehoben.

Ein Beispiel für ein Komma-Textobjekt

Bereiche des Komma-Text-Objekts. Wenn sich der Cursor z. B. über arg2 befindet, bewirkt das Drücken von ci(inneres Komma ändern), dass double arg2 gelöscht wird und der Cursor im Eingabemodus zwischen die beiden Kommas platziert wird. Das ist ein sehr angenehme Art, Funktionsparameter zu ändern.

Fehlende Funktionen

Wie bereits erwähnt, ist es nicht Ziel des VI-Modus in KatePart, die Funktionen von Vim zu 100 % zu unterstützen.

Anhang A. Reguläre Ausdrücke

Anhang A. Reguläre Ausdrücke

Anders Lund

GUI-Übersetzung: Thomas Diehl
Deutsche Übersetzung: Matthias Schulz
Dieser Anhang enthält eine kurze, aber hoffentlich ausreichende Einführung in die Welt der regulären Ausdrücke. Es werden reguläre Ausdrücke in der Form dokumentiert, in der sie in KatePart anwendbar sind, die aber nicht kompatibel z. B. zu der in Perl oder in grep verwendeten Form ist.

Einleitung

Reguläre Ausdrücke stellen eine Möglichkeit zur Verfügung, vielleicht zu suchende Teile von Text in einer Form zu beschreiben, die von einer kleinen Software verstanden wird, sodass diese feststellen kann, ob die Beschreibung zutrifft und sogar Text zur späteren Verwendung speichern kann.

Ein Beispiel: Nehmen Sie an, Sie wollen eine Text nach Abschnitten durchsuchen, die mit einem der Namen Henrik oder Pernille beginnen, gefolgt von einer Form des Verbs say.

Mit einer normalen Suche würden Sie anfangen, nach dem ersten Namen Henrik zu suchen, vielleicht gefolgt von sa, also Henrik sa. Bei dieser Suche würden Sie alle Übereinstimmungen überspringen müssen, die nicht am Anfang eines Abschnittes stehen und die, hinter denen ein sa steht, aber kein says, said und so weiter. Dann natürlich das Ganze von vorn für den nächsten Namen ...

Mit regulären Ausdrücken können Sie dies mit einer einzelnen Suche erreichen und das noch genauer.

Um dies zu erreichen, definieren reguläre Ausdrücke Regeln zum Ausdrücken von Details einer zu suchenden Zeichenkette. Unser Beispiel, das wir wie folgt ausdrücken können: Eine Zeile mit Henrik oder Pernille beginnend (eventuell nach bis zu 4 Leerzeichen oder Tabulatoren) gefolgt von einem Leerzeichen gefolgt von sa und dann entweder ys oder id kann so als regulärer Ausdruck geschrieben werden:

^[ \t]{0,4}(Henrik|Pernille) sa(ys|id)

Das oben angegebene Beispiel zeigt alle vier Hauptkonzepte von regulären Ausdrücke, speziell:

  • Muster

  • Behauptungen

  • Quantifiers

  • Referenzen

Das Hochzeichen (^) am Anfang des Ausdruckes kennzeichnet eine Behauptung, die nur dann wahr ist, wenn sich der folgende Text am Anfang einer Zeile befindet.

Die Zeichenketten [ \t] und (Henrik|Pernille) sa(ys|id) sind Muster. Das erste ist ein Zeichen das entweder auf ein Leerzeichen oder ein Tabulatorzeichen zutrifft, das andere enthält als erstes ein Untermuster, das entweder auf Henrik oder Pernille zutrifft, dann ein Muster, das exakt auf sa zutrifft und zum Schluss wieder ein Untermuster, das auf ys, oder id zutrifft.

Die Angabe {0,4} ist ein Quantifizierer, der sagt: von 0 bis 4 mal das vorher spezifizierte.

Weil Software für reguläre Ausdrücke, die das Konzept von Referenzen den gesamten zutreffenden Teil des Textes wie auch in Klammern eingeschlossene Untermuster sichert, können Sie diese gefundenen Textstellen (diese sind nach dem Suchen mit einem regulären Ausdruck in einem Textdokument in einem Editor meistens ausgewählt) oder den gefundenen Namen oder den letzten Teil des Verbs weiterverwenden, die Referenzen ermöglichen den Zugriff auf diese.

Zusammengefasst: die regulären Ausdrücke treffen zu, wo wir wollten, und nur dort.

Die folgenden Abschnitte beschreiben im einzelnen, wie Muster, Zeichenklassen, Behauptungen, Quantifizierer und Backreferenzen benutzt werden und der letzte Abschnitt gibt einige nützliche Beispiele.

Muster

Muster

Muster bestehen aus Zeichenketten und Zeichenklassen. Muster können Untermuster enthalten, diese sind in Klammern eingeschlossene Muster.

Steuerzeichen

In Mustern und in Zeichenklassen haben einige Zeichen spezielle Bedeutungen. Um diese Steuerzeichen zu finden, müssen sie als solche markiert werden.

Dies geschieht durch das Voranstellen eines Rückwärtsschrägstriches (\) vor das Zeichen.

Die Software ignoriert die Kennzeichnung als Steuerzeichen von Zeichen, die in dem betrachteten Zusammenhang keine Steuerzeichen sind. So ist z. B. die Angabe von (\j), also ein j als Steuerzeichen markiert, kein Problem. Wenn Sie Zweifel haben, ob ein Zeichen eine spezielle Bedeutung hat, können Sie dies ohne Bedenken als Steuerzeichen markieren.

Selbstverständlich können Sie auch den Rückwärtsschrägstrich als Steuerzeichen markieren, dies geschieht durch \\.

Zeichenklassen und Abkürzungen

Eine Zeichenklasse ist ein Ausdruck, der auf einen bestimmten Satz von Zeichen zutrifft. Zeichenklassen werden in regulären Ausdrücken durch Setzen der zugelassenen Zeichen in eckige Klammern [] oder durch Nutzen einer der im Folgenden beschriebenen abgekürzten Klassen definiert.

Einfache Zeichenklassen enthalten nur ein oder mehrere Zeichen, z. B. [abc] (zutreffend auf einen der Buchstaben a, b oder c) oder [0123456789] (zutreffend auf eine Zahl).

Da Buchstaben und Zahlen eine festgelegte Reihenfolge haben, können diese durch Angabe des Bereiches :abgekürzt werden: [a-c] entspricht [abc] und [0-9] entspricht [0123456789]. Diese Angaben können auch kombiniert werden, zum Beispiel trifft [a-fynot1-38] auf die folgenden Zeichen zu: a,b,c,d, e,f,y,n,o,t, 1,2,3 oder 8.

Da Großbuchstaben von Kleinbuchstaben unterschieden werden, müssen Sie zur Angabe von a oder b ohne Unterscheidung von Groß- und Kleinschreibung [aAbB] angeben.

Die Erzeugung von negativen Klassen, die auf alles außer zutreffen, erfolgt durch das Hoch-Zeichen (^) am Anfang der Klassendefinition:

[^abc] trifft auf alle Zeichen außer a, b oder c zu.

Zusätzlich zu den druckbaren Zeichen sind noch einige Abkürzungen definiert, um die Verwendung ein wenig einfacher zu machen:

\a

Trifft auf das ASCII-Beep-Zeichen zu (BEL, 0x07).

\f

Trifft auf das ASCIISeitenvorschub-Zeichen zu (FF, 0x0C).

\n

Trifft auf das ASCII-Zeilenvorschub-Zeichen zu (LF, 0x0A, Unix newline).

\r

Trifft auf das ASCII-Wagenrücklauf-Zeichen zu (CR, 0x0D).

\t

Trifft auf das ASCII-Zeichen Horizontaltabulator zu (HT, 0x09).

\v

Trifft auf das ASCII-Zeichen Vertikaltabulator zu (VT, 0x0B).

\xhhhh

Dieser Ausdruck trifft auf das Unicodezeichen mit dem Code mit der Hexadezimalzahl hhhh (zwischen 0x0000 und 0xFFFF) zu. \0ooo (z. B., \zero ooo) trifft auf das ASCII-/Latin-1-Zeichen mit dem Code mit der Oktalzahl ooo (zwischen 0 und 0377) zu.

. (Punkt)

Trifft auf jedes Zeichen einschließlich Zeilenvorschub zu.

\d

Trifft auf eine Ziffer zu. Entspricht [0-9].

\D

Trifft auf ein Zeichen, das keine Ziffer ist, zu. Entspricht [^0-9] oder [^\d].

\s

Trifft auf ein Zeichen, das einen Zwischenraum angibt, zu. Praktisch entspricht dies [ \t\n\r].

\S

Trifft auf ein Zeichen, das keinen Zwischenraum angibt, zu. Praktisch entspricht dies [^ \t\n\r] oder [^\s].

\w

Trifft auf ein druckbares Zeichen zu - in diesem Fall Buchstabe oder Ziffer. Entspricht [a-zA-Z0-9]. Das Zeichen Unterstrich (_) trifft nicht zu.

\W

Trifft auf alle Zeichen außer Buchstaben und Ziffern zu. Entspricht [^a-zA-Z0-9] oder [^\w]

Die abgekürzten Klassen können in selbstdefinierte Klassen eingefügt werden, z. B. kann für die Klasse druckbares Zeichen, Leerzeichen oder Punkt der Ausdruck [\w \.] verwendet werden.

Anmerkung

Die Angabe von Klassen nach POSIX-Notierung, [:<class name>:], wird gegenwärtig nicht unterstützt.

Zeichen mit speziellen Bedeutungen (Steuerzeichen) innerhalb von Zeichenklassen

Die folgenden Zeichen haben spezielle Bedeutungen innerhalb des Ausdrucks in eckigen Klammern [], diese müssen als Steuerzeichen gekennzeichnet werden, damit sie als Zeichen in die Klasse einbezogen werden:

]

Beendet die Definition der Zeichenklasse. Dieses Zeichen braucht nicht als Steuerzeichen gekennzeichnet werden, wenn es das erste Zeichen in einer Zeichenklassendefinition (nach dem Zeichen [ oder ^) ist.

^ (Hoch-Zeichen)

Bezeichnet eine negative Klasse, wenn es das erste Zeichen in einer Zeichenklassendefinition ist. Wenn es als druckbares Zeichen behandelt werden soll, muss es als Steuerzeichen gekennzeichnet werden, wenn es das erste Zeichen in einer Zeichenklassendefinition ist.

- (Bindestrich)

Kennzeichnet einen logischen Bereich. Wenn es als Zeichen behandelt werden soll, muss es als Steuerzeichen gekennzeichnet werden.

\ (Rückwärtsschrägstrich)

Das Zeichen zum Kennzeichnen eines Steuerzeichens. Dieses Zeichen muss immer als Steuerzeichen gekennzeichnet werden, wenn es als druckbares Zeichen behandelt werden soll.

Alternativen: trifft zu wenn eins von

Wenn ein erkanntes Muster von mehreren Mustern als zutreffend erkannt werden soll, dann müssen Sie diese Muster durch einen senkrechten Strich | getrennt angeben.

Der Ausdruck John|Harry wird z. B. als zutreffend erkannt, wenn entweder John oder Harry gefunden wird.

Untermuster

Untermuster sind in Klammern eingeschlossene Muster, die in regulären Ausdrücken viele Verwendungen haben.

Angabe von Alternativen

Sie können Untermuster verwenden, um Gruppen von Alternativen in einem Muster anzugeben. Die Alternativen werden durch den senkrechten Strich | getrennt.

Um eines der Worte int, float oder double zu erkennen, geben Sie int|float|double an. Wenn eines der Worte nur dann erkannt werden soll, wenn nach dem Wort Zwischenraum und dann Buchstaben folgen, dann verwenden Sie den folgenden Ausdruck mit den Worten im Untermuster: (int|float|double)\s+\w+.

Speichern von gefundenem Text (Referenzen)

Wenn Sie eine Referenz verwenden wollen, dann benutzen Sie ein Untermuster zum Speichern des gewünschten Teils des Musters.

Wenn Sie z. B. das zweifache Auftreten des selben Wortes getrennt durch ein Komma und eventuell Zwischenraum finden wollen, dann würden Sie (\w+),\s*\1 verwenden. Das Untermuster \w+ findet ein Stück aus druckbaren Zeichen. Der gesamte Ausdruck trifft zu, wenn diese von einem Komma und keinem oder mehreren Zwischenraumzeichen und dann von einem gleichen Stück von Zeichen gefolgt werden. (Der Ausdruck \1 verweist auf das erste in Klammern angegebene Untermuster.)

Anmerkung

Um Mehrdeutigkeiten bei Ausdrücken wie \1 und einigen nachfolgenden Ziffern wie z. B. \12 - 12tes Untermuster oder nur das erste Untermuster mit 2 zu vermeiden, wird die Syntax \{12} für Untermuster aus mehreren Ziffern verwendet.

Beispiele:

  • \{12}1 bedeutet Untermuster 12 benutzen

  • \123 bedeutet 1 ist das Suchmuster und 23 normaler Text

Vorwärtsgerichtete Behauptungen

Eine vorwärtsgerichtete Behauptung ist ein Untermuster, das mit ?= oder ?! anfängt.

Der Ausdruck Bill(?! Gates) besagt, dass Bill gefunden wird, aber nur wenn nicht von Gates gefolgt. Dies findet Bill Clinton oder Billy the kid, aber ignoriert stillschweigend die andere Übereinstimmung.

Untermuster, die für Behauptungen benutzt werden, werden nicht gespeichert.

Sehen Sie auch unter Behauptungen nach.

Zeichen mit speziellen Bedeutungen (Steuerzeichen) innerhalb von Mustern

Die folgenden Zeichen haben spezielle Bedeutungen innerhalb eines Musters, diese müssen als Steuerzeichen gekennzeichnet werden, damit sie als Zeichen behandelt werden:

\ (Rückwärtsschrägstrich)

Das Escape-Zeichen.

^ (Hoch-Zeichen)

Kennzeichnet den Anfang der Zeichenkette.

$

Kennzeichnet das Ende der Zeichenkette.

() (linke und rechte Klammer)

Kennzeichnet Untermuster.

{} (linke und rechte geschweifte Klammer)

Kennzeichnet numerische Quantifizierer.

[] (linke und rechte eckige Klammer)

Kennzeichnet Zeichenklassen.

| (senkrechter Strich)

Logisches ODER. Trennt Alternativen.

+ (Pluszeichen)

Quantifizierer, steht für eins oder mehrere.

* (Stern)

Quantifizierer, steht für kein oder mehrere.

? (Fragezeichen)

Ein optionales Zeichen. Kann als Quantifizierer; 0- oder 1-mal gedeutet werden.

Quantifizierer

Quantifizierer

Quantifizierer gestatten dem regulären Ausdruck die Angabe einer Anzahl von entweder Zeichen, Zeichenklassen oder Untermustern.

Quantifizierer werden in geschweifte Klammern ({ und }) eingeschlossen und haben die Form {[minimale Anzahl][,[maximale Anzahl]]}

Die Benutzung ist am besten an Beispielen erklärt:

{1}

Genau einmaliges Auftreten

{0,1}

Kein oder einmaliges Auftreten

{,1}

Kein oder einmaliges Auftreten (Kurzform)

{5,10}

Mindestens 5- bis maximal 10-maliges Auftreten

{5,}

Mindestens 5-maliges Auftreten.

Zusätzlich gibt es einige Abkürzungen:

* (Stern)

entspricht {0,} findet jede Anzahl des Auftretens.

+ (Pluszeichen)

entspricht {1,} findet mindestens einmaliges Auftreten.

? (Fragezeichen)

entspricht {0,1} findet kein oder einmaliges Auftreten.

Gier

Wenn Quantifizierer ohne Maximum verwendet werden, dann findet der reguläre Ausdruck so viel wie möglich vom Suchtext, dieses Verhalten wird auch als gierig bezeichnet.

Moderne Software für reguläre Ausdrücke stellt die Möglichkeit bereit, das gierige Verhalten auszuschalten, aber in einer grafischen Umgebung ist es das Interface, das Ihnen Zugriff auf diese Möglichkeit bereitstellen muss. Ein Dialogfenster zum Suchen kann z. B. eine Option mit dem Namen Minimales Finden bereitstellen, es sollte auch anzeigen, ob gieriges Verhalten Standard ist.

In Beispielen

Hier sind einige Beispiele der Verwendung von Quantifizierern

^\d{4,5}\s

Trifft auf die Zahlen in 1234 go und 12345 now zu, aber nicht die in für 567 eleven oder 223459 somewhere

\s+

Trifft auf ein oder mehrere Zwischenraumzeichen zu.

(bla){1,}

Trifft zu für alle in blablabla und das bla in blackbird oder tabla.

/?>

Trifft für das /> in <closeditem/> sowie auch für das > in <openitem> zu.

Behauptungen

Behauptungen

Behauptungen erweitern den regulären Ausdruck so, dass er nur unter bestimmten Bedingungen zutrifft.

Eine Behauptung braucht kein Zeichen um zuzutreffen, diese ermittelt vielmehr die Umgebung einer eventuellen Übereinstimmung bevor dieser bestätigt wird. Die Behauptung Wortgrenze z. B. versucht nicht, ein nichtdruckbares Zeichen neben einem druckbaren Zeichen zu finden, sondern stellt fest, dass dort KEIN druckbares Zeichen ist. Das heißt, dass dieses z. B. auch am Ende einer Zeichenkette zutrifft.

Einige Behauptungen haben ein Muster das gefunden werden muss, aber der zutreffende Teil des Suchtextes dieses Musters wird nicht Teil des Ergebnisses des gesamten regulären Ausdrucks.

Reguläre Ausdrücke wie hier beschrieben unterstützen die folgenden Behauptungen:

^ (Hochzeichen: Anfang der Zeichenkette)

Trifft auf den Anfang des zu suchenden Textes zu.

Der Ausdruck ^Peter trifft auf Peter im Text Peter, hey! zu, aber nicht auf Hey, Peter!.

$ (Ende der Zeichenkette)

Trifft auf das Ende des Suchtextes zu.

Der Ausdruck you\?$ trifft auf das letzte you in You didn‚t do that, did you? zu, aber nirgendwo in You didn‘t do that, right?.

\b (Wortgrenze)

Trifft zu, wenn ein druckbares Zeichen auf der einen Seite aber keines auf der anderen Seite ist.

Dieser Ausdruck dient zum Finden von Wortenden, wenn nach beiden Enden gesucht wird, zum Finden des ganzen (einzelnstehenden) Wortes. Der Ausdruck \bin\b trifft auf das einzelnstehende in in He came in through the window zu, aber nicht auf das in in window.

\B (keine Wortgrenze)

Trifft immer dort zu, wo \b nicht zutrifft.

Dieser Ausdruck dient zum Finden von Text innerhalb von Worten. Der Ausdruck \Bin\B trifft z. B. auf das in im Wort window im Text He came in through the window zu, aber nicht auf integer oder I'm in love.

(?=PATTERN) (Positive Vorwärtsreferenz)

Eine Vorwärtsreferenz prüft den Text, der dem eventuell zutreffenden Teil des Textes folgt. Die Vorwärtsreferenz verhindert, dass der Text zutrifft, wenn der nachfolgende Text nicht auf das MUSTER der Behauptung zutrifft. Wenn die Behauptung zutrifft, wird der Text, der auf diese zutrifft, allerdings nicht Bestandteil des Ergebnisses.

Der Ausdruck handy(?=\w) trifft auf handy in handyman zu, aber nicht auf das in That came in handy!

(?!PATTERN) (Negative Vorwärtsreferenz)

Eine negative Vorwärtsreferenz verhindert, dass der Text zutrifft, wenn der nachfolgende Text auf das MUSTER zutrifft.

Der Ausdruck const \w+\b(?!\s*&) trifft auf const char im Text const char* foo, aber nicht const QString in const QString& bar weil das & auf die negative Vorwärtsreferenz zutrifft.