
Copyright © 2000, 2001 Thad McGinnis
Copyright © 2005 Anne-Marie Mahfouf <annma@kde.org>
, Anders Lund <anders@alweb.dk>
Copyright © 2011, 2012, 2013, 2014 T.C. Hollingsworth <tchollingsworth@gmail.com>
KatePart ist eine voll ausgestattete Texteditorkomponente von KDE.
Inhaltsverzeichnis
- 1. Einleitung
- 2. Grundsätzliches
- 3. Arbeiten mit dem Editor von KatePart
- 4. Die Menüeinträge
- 5. Weiterentwickelte Editierwerkzeuge
- 6. KatePart erweitern
- 7. Einrichten von KatePart
- 8. Danksagungen und Lizenz
- 9. Der VI-Eingabemodus
- A. Reguläre Ausdrücke
Liste der Beispiele

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.

KWrite und viele andere Anwendung, die KatePart verwenden, sind sehr einfach zu nutzen. Keiner, der schon einen Texteditor benutzt hat, sollte Probleme damit haben.
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.

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 | |
F3 | |
Umschalt+F3 | |
Strg+H | |
Strg+Umschalt+H | |
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 | |
Strg+R | |
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 | |
Strg+Umschalt+Z | |
Strg+- | Schrift verkleinern |
Strg++Strg+= | Schrift vergrößern |
Strg+Umschalt+- | Oberste Ebene einklappen |
Strg+Umschalt++ | Oberste Ebene ausklappen |
Strg+Leertaste | Quelltextvervollständigung aufrufen |
F5 | |
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 |

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 Maustaste neben der Zeile in die Symbolspalte klicken.
Die Anzeige der Symbolspalte wird mit → ein- und ausgeschaltet.
- Die Zeilennummernspalte
Die Zeilennummernspalte zeigt die Zeilennummern aller sichtbaren Zeilen des Dokuments.
Die Anzeige der Zeilennummernspalte wird mit → 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.

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.

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 → im Menü oder benutzen Sie den Tastaturkurzbefehl (standardmäßig Strg+C).
Zum Aufheben der aktuellen Auswahl wählen Sie → im Menü, benutzen Sie den Tastaturkurzbefehl (standardmäßig Strg+Umschalt+A) oder Klicken Sie mit der linken Maustaste irgendwo in das Editorfenster.
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 → oder mit der Taste Strg+Umschalt+B ein- und ausschalten.
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.
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.

Zum Kopieren von Text, wählen Sie diesen aus und benutzen Sie dann → 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 → aus dem Menü.
Sie können auch Text, der mit der Maus ausgewählt wurde, durch Klicken mit der
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.

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 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 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.
Um einen Text zu suchen, öffnen Sie die inkrementelle Suchleiste, indem Sie Strg+F drücken, oder aus dem Menü → 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 → (F3) oder → (Umschalt+F3).
Um Text zu suchen und ersetzen, öffnen Sie die erweiterte Suche über → , 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 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 rechts daneben um die markierte Fundstelle entsprechend zu ersetzen, oder drücken Sie , 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.

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 → im Menü oder den Tastaturkurzbefehl (Strg+B).
Klicken auf den Symbolrand neben dieser Zeile.
Gesetzte Lesezeichen werden zum Menü 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 → (Alt+Bild auf) oder → (Alt+Bild ab).

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 auf der Seite Editor im Einrichtungsdialog.
Die maximale Zeilenlänge wird im Feld 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.

KateParts Editorkomponente unterstützt verschiedene Varianten des automatischen Einrückens. Diese sind für verschiedene Textformate gedacht. Sie können im Menü → aus den vorhandenen Varianten eine auswählen. Der Modul für das automatische Einrücken stellt auch eine Funktion → 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.

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 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 → oder dauerhaft auf der Seite Erscheinungsbild im Einrichtungsdialog von KatePart ein- oder ausschalten.

- → (Strg+N)
Öffnet ein neues Dokument in einem neuen, unabhängigen Editor-Fenster.
- → (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 um die Datei zu öffnen.
- →
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.
- → (Strg+S)
Speichert die aktuelle Datei. Wenn diese noch nicht gesichert war, wird der Dialog Speichern unter geöffnet, ansonsten wird ohne Nachfrage überschrieben.
- → (Strg+Umschalt+S)
Speichert die Datei unter einem neuen Dateinamen. Die Auswahl des Dateinamens erfolgt durch einen Dialog wie bei Öffnen beschrieben.
- →
Speichert ein Dokument unter einem neuen Dateinamen in einer anderen Kodierung.
- →
Speichert eine Kopie des Dokument unter einem neuen Dateinamen, die Bearbeitung des ursprünglichen Dokuments wird fortgesetzt.
- → (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.
- → (Strg+P)
Öffnet ein einfaches Dialogfenster, in dem der Benutzer einstellen kann, was, wo und wie zu drucken ist.
- →
Speichert das aktuelle geöffnete Dokument als HTML-Datei, die derzeitige Formatierung mit Hervorhebungen und Farbeinstellungen wird übernommen.
- → (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.
- → (Strg+Q)
Schließt das Editorfenster. Wenn Sie jedoch mehrere KatePart-Ansichten geöffnet haben, z. B. durch oder werden die anderen KatePart-Ansichten nicht geschlossen.

- → (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.
- → (Strg+Umschalt+Z)
Macht das letzte Rückgängig (wenn vorhanden) rückgängig.
- → (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.
- → (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.
- → (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.
- →
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.
- →
Kopiert die Auswahl als HTML, formatiert mit den derzeitigen Hervorhebungen und Farbschemaeinstellungen.
- → (Strg+A)
Die gesamte Datei wird ausgewählt. Dies ist besonders zum Kopieren der gesamten Datei in eine andere Anwendung nützlich.
- → (Strg+Umschalt+A)
Hebt eine vorhandene Auswahl auf.
- → (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.
- →
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.
- → (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.
- → (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.
- → → (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.
- → → (Umschalt+F3)
Wiederholt die zuletzt ausgeführte Suche, ohne dass die inkrementelle Suchleiste geöffnet wird und sucht dabei rückwärts.
- → → (Strg+H)
Sucht das nächste Vorkommen des markierten Textes.
- → → (Strg+Umschalt+H)
Sucht nach dem vorherigen Vorkommen des markierten Textes.
- → (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 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 rechts daneben um die markierte Fundstelle entsprechend zu ersetzen, oder drücken Sie , 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.
- → → (Strg+6)
Verschiebt den Cursor zur zugehörigen öffnenden oder schließenden Klammer.
- → → (Strg+Umschalt+6)
Wählt den Text zwischen der öffnenden oder schließenden Klammer aus.
- → →
Zeilen, die seit dem Öffnen der Datei bearbeitet wurden, werden als geänderte Zeilen betrachtet. Diese Aktion geht zur vorherigen 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.
- → → (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.

- →
Öffnet ein neues Fenster mit dem aktuellen Dokument. Alle Änderungen in einem der beiden Fenster werden auch in dem jeweils anderen Fenster erscheinen.
- → (F7)
Zeigt die Befehlszeile von KatePart am unteren Rand des Fensters an. Geben Sie hier
help
für die Hilfe undhelp list
für eine Liste der verfügbaren Befehle ein. Weitere Informationen finden Sie im Kapitel Integrierte Befehlszeile im Editor.- → (Strg++)
Hiermit wird die Schriftgröße der Anzeige vergrößert.
- → (Strg+-)
Hiermit wird die Schriftgröße der Anzeige verkleinert.
- →
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.
- → → (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.
- → →
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.
- → →
Wenn eingeschaltet, dann wird eine senkrechte Linie in der Spalte, an der der Zeilenumbruch erfolgt, angezeigt. Die Position wird in → auf der Karte Bearbeitung festgelegt. Die Markierung wird nur dann angezeigt, wenn Sie eine Schrift mit fester Buchstabenbreite verwenden.
- → → (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.
- → → (F11)
Dieser Punkt schaltet die Anzeige einer Spalte mit den Zeilennummern am linken Rand des Editorfensters ein und aus.
- → →
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.
- → →
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“
- →
Diese Einstellungen sind für die Quelltextausblendung vorhanden:
- (F9)
Schaltet die Anzeige der Quelltext-Ausblendungsleiste am linken Rand des Editorfensters ein und aus.
Blendet die Ebene aus, die den Cursor enthält.
Blendet die Ebene ein, die den Cursor enthält.
- (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.
- (Strg+Umschalt++)
Blendet alle Abschnitte der obersten Ebene im Dokument ein.
Umgebende Rahmen um nicht druckbare Leerzeichen anzeigen/ausblenden.

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.
- → (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.
- →
Dieser Befehl löscht alle Lesezeichen aus der Datei sowie die Lesezeichen-Liste am unteren Ende dieses Menüs.
- → (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.
- → (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.

- →
Setzt das aktuelle Dokument in dem Modus Nur-Lesen. Dies verhindert jegliche Änderungen am Dokument.
- →
Wählen Sie hier den Dateityp, den Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt den unter → auf der Karte Datentypen festgelegten Standardtyp für das aktuelle Dokument.
- →
Wählen Sie hier das Hervorhebungsschema, das Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt die unter → auf der Karte Hervorhebungen festgelegte Hervorhebungsregel für das aktuelle Dokument.
- →
Wählen Sie hier den Einrückungsmodus, den Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt die unter → auf der Karte Einrückung festgelegte Einrückungsregel für das aktuelle Dokument.
- →
Wählen Sie hier die Kodierung, die Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt die unter → auf der Seite Öffnen/Speichern festgelegte Standardkodierung nur für das aktuelle Dokument.
- →
Wählen Sie hier den Zeilenendemodus, den Sie für das aktuelle Dokument verwenden wollen. Diese Einstellung überschreibt den unter → auf der Karte Öffnen/Speichern festgelegten Zeilenendemodus für das aktuelle Dokument.
- →
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.
- →
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.
- → →
- → → → (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.
- → → → (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.
- → →
- → → →
Sortiert den ausgewählten Text oder das gesamte Dokument in aufsteigender Reihenfolge.
- → → → (Strg+Umschalt+Pfeil runter)
Verschiebt die markierten Zeilen nach unten.
- → → → (Strg+Umschalt+Pfeil hoch)
Verschiebt die markierten Zeilen nach oben.
- → → → (Strg+Alt+Pfeil runter)
Kopiert die markierten Zeilen nach unten.
- → → → (Strg+Alt+Pfeil hoch)
Kopiert die markierten Zeilen nach oben.
- → → →
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.
- → → →
Wenn ein Teil einer Abfrage in einer URL ausgewählt wird, dann wird diese Funktion die Auswahl durch den originalen Text ersetzen.
- → →
- → → →
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.- → → →
Bricht den ausgewählten Text mit dem auf der Befehlszeile angegebenen Tag um.
- → → →
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.
- → → →
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.
- → → →
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.
- → → →
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.- → → →
Befindet sich der Cursor gerade innerhalb eines HTML- / XML-Tags, löscht diese Aktion das gesamte Tag.
- → → →
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 zu4
geändert.- → → →
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 zu5
geändert.- → → →
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 zu4.4
geändert.- → → →
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 zu6
geändert.- → → →
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 zu15
geändert.- → → →
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 zu4.6
geändert.
- → (Strg+Leertaste)
Manueller Aufruf der Quelltextvervollständigung, üblicherweise durch einen mit dieser Aktion belegten Kurzbefehl.
- →
Mit (Strg+9) und (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 wird ein Feld mit passenden Wörtern angezeigt.
- → → (Strg+Umschalt+O)
Ist die aktiviert, werden falsch geschriebene Wörter bei der Eingabe unterstrichen.
- → →
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:
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.
Ersetzt das gefundene Wort im Dokument mit dem Wort im Feld Ersetzen durch:.
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.
Die Rechtschreibprüfung wird ohne Änderungen am aktuellen Wort fortgesetzt.
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:
Dies startet das KDE-Hilfesystem mit den Hilfeseiten zu diesem Dialog.
Dieser Knopf beendet die Rechtschreibprüfung und kehrt zum Dokument zurück.
Dieser Knopf bricht die Rechtschreibprüfung ab. Alle Änderungen werden vor der Rückkehr zum Dokument zurückgenommen.
- → →
Ruft das Rechtschreibprüfungsprogramm auf - mit dem Unterschied, dass die Prüfung an der aktuellen Cursor-Position beginnt und nicht am Anfang des Dokuments.
- → →
Ruft das Rechtschreibprüfungsprogramm auf und prüft den aktuell ausgewählten Text.
- → →
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.
- →
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.
- →
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.
- → (Strg+D)
Dieser Befehl fügt ein Leerzeichen am Zeilenanfang der aktuellen Zeile oder an den Zeilenanfängen aller markierten Zeilen ein.
- → (Strg+Umschalt+D)
Dieser Befehl entfernt (wenn vorhanden) ein Leerzeichen vom Zeilenanfang der aktuellen Zeile oder von den Zeilenanfängen der markierten Zeilen.
- → (Strg+U)
Setzt den ausgewählten Text oder den Buchstaben nach dem Cursor in Großbuchstaben.
- → (Strg+Umschalt+U)
Setzt den ausgewählten Text oder den Buchstaben nach dem Cursor in Kleinbuchstaben.
- → (Strg+Alt+U)
Setzt den ausgewählten Text oder das aktuelle Wort in Großbuchstaben.
- → (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.
- →
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 → eingestellt wurde, überschritten wird.

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

Die Befehle und im Menü 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ü → oder das Tastenkürzel, hier standardmäßig Strg+D.
Zum Entfernen von Kommentarzeichen wählen Sie im Menü → oder das Tastenkürzel, hier standardmäßig Strg+Umschalt+D.

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ü → 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.
Typen der Argumente
- BOOLEAN
Dieser Typ wird mit Befehlen benutzt, die Dinge ein- und ausschalten. Zulässige Werte sind
on
,off
,true
,false
,1
oder0
.- INTEGER
Eine ganze Zahl.
- STRING
Ein Text, umschlossen von einfachen Anführungszeichen (') oder von doppelten Anführungszeichen ("), wenn der Text Leerzeichen enthält.
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
. Wennname
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 → . 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 Kurzbefehlmapped
zu.
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 durchreplacement
. Wenn Sie Leerzeichen oder Tabulatoren imsuchtext
verwenden wollen, dann müssen Sie sowohlsuchtext
als auchreplacement
in einfache oder doppelte Anführungszeichen einschließen. Wenn Worte nicht in Anführungszeichen eingeschlossen sind, wird das erste Wort alssuchtext
und der Rest alsreplacement
benutzt. Wennreplacement
nicht angegeben ist, dann wird jedes Auftreten vonsuchtext
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, wennformat
ausgewertet wird:d
Tag als Ziffer ohne führende Null (1-31). dd
Tag als Ziffer mit führender Null (01-31). ddd
Tag als abgekürzter Name in Landessprache (z. B. ‚Mon‘..‚Son‘). dddd
Tag als langer Name in Landessprache (z. B. ‚Montag‘..‚Sonntag‘). M
Monat als Ziffer ohne führende Null (1-12). MM
Monat als Ziffer mit führender Null (01-12). MMMM
Der lange, lokale Monatsname (z. B. „Januar“..„Dezember“). MMM
Monat als abgekürzter Name in Landessprache (z. B.‚Jan‘..‚Dez‘). yy
Das Jahr als zweistellige Ziffer (00-99). yyyy
Das Jahr als vierstellige Ziffer (1752-8000). h
Stunde ohne führende Null (0..23 oder 1..12 wenn AM/PM verwendet wird). hh
Stunde mit führender Null (00..23 oder 00..12 wenn AM/PM verwendet wird). m
Minute ohne führende Null (0.59). mm
Minute mit führender Null (00..59). s
Sekunde ohne führende Null (0.59). ss
Sekunde mit führender Null (00.59). z
Millisekunden ohne führende Null (0..999). zzz
Millisekunden mit führender Null (000..999). AP
Benutzt die Anzeige mit AM/PM. AP wird entweder von „AM“ oder „PM“ ersetzt. ap
Benutzt 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 .- 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 einesg
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, gebens/myclass/MyClass/i
ein und klicken auf , 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 . Dasg
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)
ergibta1, a10, a2
natsort(a10, a1, a2)
ergibta1, 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.
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 → 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 Formfind: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.
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.

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

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.

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.

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 ( → ).
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 im Dialog Hervorhebungen einrichten des Einrichtungsdialogs einrichten bzw. aktualisieren.
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.
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.
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.
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.
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.
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
. Normalerweise ist dies --paths GenericDataLocation
. $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 Eigenschaftrequired-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 Elementlist
und die notwendigen Elementecontexts
unditemDatas
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 werdenitemData
, 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=""" /> </context> <context attribute="String" lineEndContext="#stay" name="string" > <DetectChar attribute="String" context="#pop" char=""" /> </context> </contexts> <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" /> <itemData name="Keyword" defStyleNum="dsKeyword" /> <itemData name="String" defStyleNum="dsString" /> </itemDatas> </highlighting>
- 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>
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 Gruppecontexts
. 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 GruppeitemDatas
. 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 Gruppegeneral
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 einerlist
enthält einen Punkt, diese Schlüsselwort kann nur dann erkannt werden, wenn Sie den Punkt alsweakDeliminator
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 Gruppecomments
definiert Eigenschaften für Kommentare, die für → und → 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 Gruppegeneral
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 Gruppegeneral
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.
Standardstile wurden als kurze Zusammenfassung bereits erklärt. Standardstile sind vordefinierte Schriftarten und -farben.
- Allgemeine Standardstile:
dsNormal
, wenn keine spezielle Hervorhebung benötigt wirddsKeyword
, 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.
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.
- 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 Eigenschaftinsensitive
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 RegelRegExpr
.<WordDetect String="(string)" [insensitive="true|false"] (common attributes) (dynamic) />
Die Eigenschaft
String
definiert die zu erkennende Zeichenkette. Die Eigenschaftinsensitive
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
undU
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 UnterregelStringDetect
.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 RegelInt
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.
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 vonStringDetect
. Das Gleiche gilt fürDetectChar
.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 SieDetectChar
mit der Eigenschaftcolumn="0"
benutzen. Die Eigenschaftcolumn
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 EigenschaftlookAhead
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
undlanguage.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.

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.
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 $
erzeugt. Darin wird die Umgebungsvariable XDG_DATA_HOME
/katepart5/script/indentationXDG_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 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ü → 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 angebenenstyle
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 Dateienruby.js
undruby.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.
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 → // 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 sollindentWidth
: die Einrückungstiefe mit der Anzahl der Leerzeichench
: entweder das Zeichen für Zeilenumbruch (ch == '\n'
), ein intriggerCharacters
festgelegtes Zeichen oder ein leeres Zeichen, wenn der Benutzer die Aktion → 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 AktionRü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.
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 $
. Darin wird die Umgebungsvariable XDG_DATA_HOME
/katepart5/script/commandsXDG_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 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.
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.
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ü → 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 auftrue
.
Wenn Sie nützliche Skripte entwickelt haben, sollten Sie darüber nachdenken, sie zum KatePart-Projekt hinzufügen. Schreiben Sie dazu an die Mailingliste.
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 $
bereit gestellt. Wenn Sie sie in Ihren Skripten verwenden möchten, was für einige der Funktionen XDG_DATA_DIRS
/katepart5/librariesDocument
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 $
und schließen Sie sie in Ihr Skript mit folgendem Befehl ein: XDG_DATA_HOME
/katepart5/libraries
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.
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.
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
undspalte
.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 Cursorother
befindet,0
, wenn beide Cursor an der gleichen Stelle stehen und+1
, wenn dieser Cursor sich hinter dem Cursorother
befindet.
bool Cursor.equals(
Cursor
);other
Gibt
true
zurück, wenn dieser Cursor und der Cursorother
gleich sind, sonstfalse
.String Cursor.toString();
Gibt den Cursor als Zeichenkette in der Form „
Cursor(zeile, spalte)
“ zurück.
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(
gibt einen Bereich von (start
,end
)start
,ende
) zurück.Range(
int
,startZeile
int
,startspalte
int
,endZeile
int
);endSpalte
Konstruktor. Der Aufruf von
new Range(
. Gibt den Bereich von (startZeile
,startSpalte
,endZeile
,endSpalte
)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, sonstfalse
.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, sonstfalse
.bool Range.contains(
Range
);other
Gibt
true
zurück, wenn dieser Bereich den Bereichother
enthält, sonstfalse
.bool Range.containsColumn(
int
);spalte
Gibt
true
zurück, wennspalte
in dem halboffenen Intervall[start.spalte, end.spalte)
liegt, sonstfalse
.bool Range.containsLine(
int
);zeile
Gibt
true
zurück, wennzeile
in dem halboffenen Intervall[start.zeile, end.zeile)
liegt, sonstfalse
.bool Range.overlaps(
Range
);other
Gibt
true
zurück, wenn dieser Bereich und der Bereichother
sich überlappen, sonstfalse
.bool Range.overlapsLine(
int
);zeile
Gibt
true
zurück, wennzeile
in dem Intervall[start.zeile, end.zeile]
liegt, sonstfalse
.bool Range.overlapsColumn(
int
);spalte
Gibt
true
zurück, wennspalte
in dem Intervall[start.spalte, end.spalte]
liegt, sonstfalse
.bool Range.onSingleLine();
Gibt
true
zurück, wenn der Bereich in der gleichen Zeile beginnt und endet, d. h. wennRange.start.line == Range.end.line
ist.Seit: KDE 4.9
bool Range.equals(
Range
);other
Gibt
true
zurück, wenn dieser Bereich und der Bereichother
gleich sind, sonstfalse
.String Range.toString();
Gibt den Bereich als Zeichenkette in der Form „
Range(Cursor(zeile, spalte), Cursor(zeile, spalte))
“ zurück.
Dieser Abschnitt listet alle globalen Funktionen auf.
String read(
String
);datei
Sucht nach der angegebenen
datei
relativ zum Ordnerkatepart/script/files
und gibt den Inhalt der Datei als String zurück.
void require(
String
);datei
Sucht die angegebene
datei
relativ zum Ordnerkatepart/script/libraries
und wertet sie aus.require
verhindert intern, dass die gleichedatei
mehrfach eingeschlossen wird.Seit: KDE 4.10
void debug(
String
);text
Gibt den
text
auf der Standardausgabestdout
in der Konsole aus, von der das Programm gestartet wurde.
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 Argumentearg1
, ..., 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 Zeichenkettecontext
sichtbar, so dass Übersetzer bessere Übersetzungen anfertigen können. Die Argumentearg1
, ..., 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
oderplural
in die von der Anwendung benutzte Sprache. Dies ist abhängig von der angegebenennumber
. Die Argumentearg1
, ..., 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
oderplural
in die von der Anwendung benutzte Sprache. Dies ist abhängig von der angegebenennumber
. Zusätzlich ist die Zeichenkettecontext
sichtbar, so dass Übersetzer bessere Übersetzungen anfertigen können. Die Argumentearg1
, ..., sind optional und werden benutzt, um die Platzhalter%1
,%2
usw. zu ersetzen.
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
); void view.setCursorPosition(spalte
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
); void view.setVirtualCursorPosition(spalte
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, sonstfalse
.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.
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, sonstfalse
.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
); String document.text(bisSpalte
Cursor
,von
Cursor
); String document.text(bis
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
); String document.wordAt(spalte
Cursor
);cursor
Gibt das Wort an der angegebenen Cursor-Position zurück.
-
Range document.wordRangeAt(
int
,zeile
int
); Range document.wordRangeAt(spalte
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
); String document.charAt(spalte
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
); bool document.isSpace(spalte
Cursor
);cursor
Gibt
true
zurück, wenn das Zeichen an der angegebenen Cursor-Position ein Leerraumzeichen ist, sonstfalse
.bool document.matchesAt(
int
,line
int
,column
String
); bool document.matchesAt(text
Cursor
,cursor
String
);text
Gibt
true
zurück, wenn der angegebenetext
mit der zugehörigen Cursor-Position übereinstimmt, sonstfalse
.bool document.startsWith(
int
,zeile
String
,text
bool
);skipWhiteSpaces
Gibt
true
zurück, wenn die Zeile mittext
beginnt, sonstfalse
. Das ArgumentskipWhiteSpaces
bestimmt, ob führende Leerraumzeichen ignoriert werden.bool document.endsWith(
int
,zeile
String
,text
bool
);skipWhiteSpaces
Gibt
true
zurück, wenn die Zeile mittext
endet, sonstfalse
. Das ArgumentskipWhiteSpaces
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
); bool document.truncate(spalte
Cursor
);cursor
Schneidet die angegebene Zeile an der Spalte oder an der Cursor-Position ab. War das erfolgreich, wird
true
zurückgegeben, oderfalse
, wenn die angegeben Zeile nicht im Bereich des Dokuments liegt.bool document.insertText(
int
,zeile
int
,spalte
String
); bool document.insertText(text
Cursor
,cursor
String
);text
Fügt den
text
an der angegebenen Cursor-Position ein. War das erfolgreich, wirdtrue
zurückgegeben, oderfalse
, wenn das Dokument im Nur-Lesen-Modus geöffnet wurde.bool document.removeText(
int
,vonZeile
int
,vonSpalte
int
,bisZeile
int
); bool document.removeText(bisSpalte
Cursor
,von
Cursor
); bool document.removeText(bis
Range
);bereich
Löscht den Text im angegebenen Bereich. War das erfolgreich, wird
true
zurückgegeben, oderfalse
, 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, oderfalse
, 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, oderfalse
, 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
); bool document.wrapLine(spalte
Cursor
);cursor
Bricht die Zeile an der angegebenen Cursor-Position um. War das erfolgreich, wird
true
zurückgegeben, ansonstenfalse
, z. B. wenn die angegeben Zeilennummer < 0 ist.Seit: KDE 4.9
void document.joinLines(
int
,startZeile
int
);endZeile
Verbindet die Zeilen von
startZeile
bisendZeile
. 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 diezeile
noch nicht gespeicherte Daten enthält.Seit: KDE 5.0
bool document.isLineSaved(
int
);zeile
Gibt
true
zurück, wennzeile
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, wennzeile
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 innach 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 wieeditBegin()
zu benutzen. Der Aufruf voneditBegin()
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 voneditBegin()
) 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
); int document.prevNonSpaceColumn(spalte
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
); int document.nextNonSpaceColumn(spalte
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 angegebenezeichen
mit den angegebenenattribut
Teil eines Wortes sein kann, sonstfalse
.bool document.canBreakAt(
String
,zeichen
int
);attribut
Gibt
true
zurück, wenn die Zeile an dem angegebenenzeichen
mit den angegebenenattribut
umgebrochen werden kann, sonstfalse
.bool document.canComment(
int
,startAttribut
int
);endAttribut
Gibt
true
zurück, wenn ein mit dem angegebenen Attribut beginnender und endender Bereich auskommentiert werden kann, sonstfalse
.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
); bool isValidTextPosition(spalte
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
); int document.attribute(spalte
Cursor
);cursor
Gibt das Attribut an der aktuellen Cursor-Position zurück.
bool document.isAttribute(
int
,zeile
int
,spalte
int
); bool document.isAttribute(attribut
Cursor
,cursor
int
);attribut
Gibt
true
zurück, wenn das Attribut an der angegebenen Cursor-Position gleichattribut
ist, sonstfalse
.String document.attributeName(
int
,zeile
int
); String document.attributeName(spalte
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
); bool document.isAttributeName(name
Cursor
,cursor
String
);name
Gibt
true
zurück, wenn der Attributname an der angegebenen Cursor-Position gleichname
ist, sonstfalse
.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
); int document.toVirtualColumn(spalte
Cursor
); Cursor document.toVirtualCursor(cursor
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
); int document.fromVirtualColumn(virtuelleSpalte
Cursor
); Cursor document.fromVirtualCursor(virtuellerCursor
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
); Cursor document.anchor(zeichen
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
); Cursor document.rfind(attribut
= -1Cursor
,cursor
String
,text
int
);attribut
= -1Sucht rückwärts nach dem angegeben Text mit dem passenden
attribut
. Ein Attribut mit dem Wert-1
wird dabei ignoriert. Es wird ein ungültiger Cursor zurückgegeben, wenn der Text nicht gefunden wurde.int document.defStyleNum(
int
,zeile
int
); int document.defStyleNum(spalte
Cursor
);cursor
Gibt den Standardstil zurück, der an der angegebenen Cursor-Position benutzt wird.
bool document.isCode(
int
,zeile
int
); bool document.isCode(spalte
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
); bool document.isComment(spalte
Cursor
);cursor
Gibt
true
zurück, wenn das Attribut des Zeichens an der Cursor-PositiondsComment
ist, sonstfalse
.bool document.isString(
int
,zeile
int
); bool document.isString(spalte
Cursor
);cursor
Gibt
true
zurück, wenn das Attribut des Zeichens an der Cursor-PositiondsString
ist, sonstfalse
.bool document.isRegionMarker(
int
,zeile
int
); bool document.isRegionMarker(spalte
Cursor
);cursor
Gibt
true
zurück, wenn das Attribut des Zeichens an der Cursor-PositiondsRegionMarker
ist, sonstfalse
.bool document.isChar(
int
,zeile
int
); bool document.isChar(spalte
Cursor
);cursor
Gibt
true
zurück, wenn das Attribut des Zeichens an der Cursor-PositiondsChar
ist, sonstfalse
.bool document.isOthers(
int
,zeile
int
); bool document.isOthers(spalte
Cursor
);cursor
Gibt
true
zurück, wenn das Attribut des Zeichens an der Cursor-PositiondsOthers
ist, sonstfalse
.

Die Auswahl von → 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 gütig, oder brechen mit den Einstellungs-Prozess ab.
Sie können das Hilfesystem aufrufen, die aktuellen Einstellungen mit übernehmen und das Dialogfeld schließen, oder den Knopf 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.
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.
- 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
- 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
Maustaste auf das blaue Rechteck, dann wird der Zeilenbereich des Dokumentausschnitts auf dem Bildschirm angezeigt. Halten Sie die 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.
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 und 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 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.
- 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.
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.
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.
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
Maustaste, um das Kontextmenü aufzurufen.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
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.
- 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 → 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ü 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.
- 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.
- Standard-Einrückungsmodus:
Hier wählen Sie den Einrückungsmodus, den Sie als Standard benutzen wollen. Es wird empfohlen, dass Sie hier
Kein
oderNormal
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 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 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.
- 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.
Die Einstellungen für die Rechtschreibprüfung werden Sie im Systemeinstellungen-Module Rechtschreibprüfung erläutert.
- 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--
EscDadurch wird einer Zeile beim Drücken von F2 die Zeichenkette
I--
vorangestellt.
- 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.
- 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.
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 .
- 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ü → 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ü → 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.
Klicken Sie auf diesen Knopf für das Herunterladen neuer oder aktualisierter Hervorhebungsregeln von der KatePart-Webseite.

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.
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
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
undxml
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
,-
or0
: Leerzeichen am Zeilenende nie entfernen.modified
,mod
,+
or1
: Leerzeichen am Zeilenende nur in geänderten Zeilen entfernen. Diese geänderten Zeilen werden durch das Zeilenänderungssystem gekennzeichnet.all
,*
or2
: 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.
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.

KatePart und KWrite Copyright 2001-2014 das Kate-Team.
Basiert auf dem Original-KWrite, mit Copyright 2000 von Jochen Wilhelmy (digisnap AT cs.tu-berlin.de)
Mitarbeit:
Christoph Cullmann
(cullmann AT kde.org)
Michael Bartl
(michael.bartl1 AT chello.at)
Phlip
(phlip_cpp AT my-deja.com)
Anders Lund
(anders AT alweb.dk)
Matt Newell
(newellm AT proaxis.com)
Joseph Wenninger
(kde AT jowenn.at)
Jochen Wilhelmy
(digisnap AT cs.tu-berlin.de)
Michael Koch
(koch AT kde.org)
Christian Gebauer
(gebauer AT kde.org)
Simon Hausmann
(hausmann AT kde.org)
Glen Parker
(glenebob AT nwlink.com)
Scott Manson
(sdmanson AT altel.net)
John Firebaugh
(jfirebaugh AT kde.org)
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 (ctmcginnis AT compuserve.com)
verfasst, viele Änderungen stammen von Christian Tibirna (tibirna AT kde.org)
. Kontrollgelesen und nach Docbook konvertiert wurde diese von Lauri Watts (lauri AT kde.org)
. Aktualisierungen kamen von Anne-Marie Mahfouf (annma AT kde.org)
und Anders Lund (anders AT alweb.dk)
.
Die aktuelle Dokumentation für KatePart wird von T.C. Hollingsworth (tchollingsworth AT gmail.com)
gepflegt. Bitte schicken Sie Kommentare oder Verbesserungsvorschläge unter der Adresse (kwrite-devel AT kde.org)
an die Entwickler-Mailingliste von KatePart oder eröffnen Sie ein Ticket im KDE Bugtracking System.
Übersetzungen von:
Thomas Diehl
(thd AT kde.org)
, GUI-ÜbersetzungMatthias Schulz
(matthias.schulz AT kdemail.net)
, Ü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.

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 → + → . 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 im Menü 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.
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 → + → 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 wiey
y
.Das Verhalten des
Y
-Befehls von VI kann als Fehlerhaft angesehen werden. Beim Ändern und Löschen wirken sichc
c
/d
d
auf die gesamte Zeile aus undC
/D
arbeiten von der aktuellen Cursor-Position bis zum Zeilenende. Beide,y
y
undY
hingegen kopieren die gesamte Zeile. In KateParts VI-Modus kopiertY
bis zum Zeilenende kopieren. Dieses Verhalten wird in der Vim-Dokumentation als „logischer“ beschrieben.KatePart:
O
undo
öffnen [eine Anzahl
] neuer Zeilen und wechseln in den Eingabemodus.Vim:
O
undo
ö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.
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 SieV
.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.
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ü angezeigt. Umgekehrt wird mit einem Lesezeichen in Kate auch der zugehörige Marker in Vi an Spalte Null der Zeile erzeugt.
| Wechselt zum Eingabemodus und fügt hinter dem Cursor ein |
| Wechselt zum Eingabemodus und fügt hinter der Zeile ein |
| Wechselt zum Eingabemodus und fügt vor dem Cursor ein |
Einfügen | Wechselt zum Eingabemodus und fügt vor dem Cursor ein |
| Wechselt zum Einfügemodus und fügt vor dem ersten nicht leeren Zeichen auf der Zeile ein |
| Wechselt zum Einfügemodus und fügt vor der Stelle ein, an der der letzte Einfügemodus verlassen wurde |
| Wechsel in den visuellen Modus; Auswahl von Zeichen |
| Wechsel in den visuellen Modus; Auswahl von Zeilen |
Strg+v | Wechselt in den visuellen Modus; Auswahl von Blöcken |
| Wechselt in den visuellen Modus und aktiviert die letzte Auswahl erneut |
| Fügt unter der aktuellen Zeile eine neue Zeile ein |
| Fügt über der aktuellen Zeile eine neue Zeile ein |
| Zeilen zusammenführen |
| Ändern: gefolgt von einer Richtungstaste; löscht ein Zeichen und wechselt in den Eingabemodus |
| Bis zum Zeilenende ändern: löscht bis zum Zeilenende und wechselt in den Eingabemodus |
| Zeile ändern: Zeile löschen und in den Eingabemodus wechseln |
| Zeichen ersetzen |
| Zeilen ersetzen |
| Zeile löschen |
| Gefolgt von einer Richtungstaste, um eine Zeile zu löschen |
| Löschen bis Zeilenende |
| Zeichen rechts vom Cursor löschen |
Löschen | Zeichen rechts vom Cursor löschen |
| Zeichen links vom Cursor löschen |
| Gefolgt von einer Richtungstaste, um ein Zeichen in Kleinbuchstaben zu ändern |
| Ändert die aktuelle Zeile in Kleinschreibung |
| Gefolgt von einer Richtungstaste, um ein Zeichen in Großbuchstaben zu ändern |
| Ändert die aktuelle Zeile in Großschreibung |
| Gefolgt von einer Richtungstaste, um eine Zeile zu kopieren |
| Zeile kopieren |
| Zeile kopieren |
| Hinter dem Cursor einfügen |
| Vor dem Cursor einfügen |
| Hinter dem Cursor mit Einrückung einfügen |
| Vor dem Cursor mit Einrückung einfügen |
| Gefolgt von einem Zeichen, um das Zeichen hinter dem Cursor zu ersetzen |
| Zu Ersetzungsmodus wechseln |
| Zu Befehlsmodus wechseln |
| Suchen |
| Rückgängig |
Strg+R | Wiederherstellen |
| Wiederherstellen |
| Marker setzen (kann später zum Navigieren verwendet werden) |
| Weitersuchen |
| 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 |
| 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, | Wechselt zum nächsten Fenster der geteilten Ansicht |
Strg+W, Strg+W Left | Wechselt zum linken Fenster der geteilten Ansicht |
Strg+W, Strg+W Pfeil rechts | Wechselt zum rechten Fenster der geteilten Ansicht |
Strg+W, Strg+W Pfeil hoch | Wechselt zum oberen Fenster der geteilten Ansicht |
Strg+W, Strg+W Pfeil runter | Wechselt zum unteren Fenster der geteilten Ansicht |
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.
| Nach links |
Nach links | Nach links |
Rücktaste | Nach links |
| Nach unten |
Nach unten | Nach unten |
| Nach oben |
Nach oben | Nach oben |
| Nach rechts |
Nach rechts | Nach rechts |
Leertaste | Nach rechts |
| Zum Zeilenende |
Ende | Zum Zeilenende |
| Zum ersten Zeichen der Zeile (Spalte 0) |
Pos1 | Zum ersten Zeichen der Zeile |
| Erstes Zeichen, das kein Leerzeichen ist, in dieser Zeile |
| Gefolgt von einem Zeichen rechts vom Cursor, zu dem der Cursor bewegt werden soll |
| Gefolgt von einem Zeichen links vom Cursor, zu dem der Cursor bewegt werden soll |
| Gefolgt von einem Zeichen rechts vom Cursor, vor das der Cursor bewegt werden soll |
| Gefolgt von einem Zeichen links vom Cursor, vor das der Cursor bewegt werden soll |
| Zur ersten Zeile |
| Zur letzten Zeile |
| Nächstes Wort |
| Nächstes Wort getrennt durch Leerzeichen |
| Vorheriges Wort |
| Vorheriges Wort getrennt durch Leerzeichen |
| Wortende |
| Ende des Worts getrennt durch Leerzeichen |
| Ende des vorheriges Wortes |
| 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 |
| Geht zur ersten Zeile auf dem Bildschirm |
| Geht zur mittleren Zeile auf dem Bildschirm |
| Geht zur letzten Zeile auf dem Bildschirm |
| Geht zum angegebenen Prozentsatz des Dokuments |
| Geht optisch eine Zeile aufwärts (bei dynamischem Zeilenumbruch) |
| 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 |
Diese können verwendet werden, um bestimmte Bereiche eines Dokuments auszuwählen.
| Inneres Wort: Wort inklusive Leerzeichen |
| Ein Wort: Wort ohne Leerzeichen |
| Vorherige Anführungszeichen ( |
| Vorherige Anführungszeichen ( |
| Vorherige einfache Anführungszeichen ( |
| Vorherige einfache Anführungszeichen ( |
| Vorherige öffnende Klammer [ |
| Vorherige öffnende Klammer [ |
| Vorherige öffnende eckige Klammer ( |
| Vorherige öffnende eckige Klammer ( |
| Vorherige öffnende geschweifte Klammer ( |
| Vorherige öffnende geschweifte Klammer ( |
| Vorherige öffnende spitze Klammer ( |
| Vorherige öffnende spitze Klammer ( |
| Vorheriges Backtick („rückwärts geneigtes Hochkomma“) ( |
| Vorheriges Backtick („rückwärts geneigtes Hochkomma“) ( |
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 | Fügt den Inhalt des Registers n ein |
Strg+O, | 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 |
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.

Inhaltsverzeichnis
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.
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 bestehen aus Zeichenketten und Zeichenklassen. Muster können Untermuster enthalten, diese sind in Klammern eingeschlossene Muster.
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 \\
.
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.
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.
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 sind in Klammern eingeschlossene Muster, die in regulären Ausdrücken viele Verwendungen haben.
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+
.
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“
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.
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 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.
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.
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 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.