# TEA Handbuch

Peter "Roxton" Semiletov
mailto:peter.semiletov@gmail.com

1. Eine Einleitung ist notwendig
2. Benutzeroberfläche
   - 2.1. Hauptfenster
   - 2.2. "Speichern" und "Öffnen" Benutzerfenster
   - 2.3. Zu drag and drop
3. Wie geht TEA mit Zeichensätzen um?
4. Wie funktioniert editieren und preview von SRT-subtitles
5. Das transzendentale Scheinen des Filemenus
6. Das Bearbeiten-Menu, oder wie schneidet man ohne Schere und Gewalt
7. Das Suchen-Menu
   - 7.1. Allgemeine Suchen-Funktionen
   - 7.2. Menupunkt Markierung
8. Markup (Textauszeichnung)
   - 8.1. Grundsätzliches zu diesem Zeug
   - 8.2. HTML Tools
   - 8.3. Common (Allgemeines)
   - 8.4. Listen
9. Funktionen
   - 9.1. Common (Allgemeines)
   - 9.2. LaTeX
   - 9.3. IDE
   - 9.4. Kalender
   - 9.5. Rechtschreibprüfung
   - 9.6. UNIversal Text AnalyZer
   - 9.7. User Menu
   - 9.8. Replacement tables
   - 9.9. Scripte
     - 9.9.1. Scripte aus Sicht des Users
     - 9.9.2. Scripte aus Sicht des Entwicklers
   - 9.10. Snippets
   - 9.11. Tools
   - 9.12. Format
   - 9.13. Insert
   - 9.14. Case
   - 9.15. Numbers
   - 9.16. String
   - 9.17. Sort
   - 9.18. Filters
   - 9.19. Morse code
10. Run
11. Nav[igation]
12. View (Ansicht)
13. Preferencen (Einstellungen), ich verstehe ...
    - 13.1. Intro
    - 13.2. Switches
    - 13.3. Encoding
    - 13.4. Functions
    - 13.5. Interface
    - 13.6. Editor
    - 13.7. Browsers
    - 13.8. Paths
    - 13.9. Maintenance
14. Was ist Kwas?
    - 14.1. Actions
    - 14.2. Ins to editor
15. Command line options
16. Über den Autor
17. Appendix: Ressourcen

(übersetzt von Hans Fährmann; mailto:otium2010@freenet.de)

Dieses Handbuch ist public domain.

(Zur korrekten Darstellung der Umlaute, den Browser auf Zeichenkodierung `UTF-8` einstellen.)

(Anmerkung des Übersetzers: Die Untermenupunkte und Befehle habe ich fast ausschliesslich in Englisch belassen, so dass auch ein User, der auf eine nicht lokalisierte Version trifft, damit umgehen kann. Und die wenigen englischen Begriffe sind ja schnell übersetzt, sofern erforderlich ;-) !)

# 1. Eine Einleitung ist notwendig

Im Herbst des Jahres 2001 begann ich mit der Entwicklung des Text-Editors (für Windows), den ich TEA nannte (Text Editing und Authoring program). Er war populär in den Ländern der ex-USSR (Ukraine, Russland, Weiß-Russland und anderen). Bis 2004 schaffte ich 11 Versionen. Dann beendete ich die Entwicklung von TEA für Windows (http://my.elvisti.com/roxton/tea_w32.html) und begann mit der Entwicklung von TEA für Linux (jetzt einfach TEA genannt). Es ist mein erstes Linux-Programm und z.Zt. mein erstes C-Programm überhaupt :-). Ich bin kein Programmierer. Ich bin ein Schriftsteller und ein Journalist und wollte einen Editor für meinen Bedarf. So startete ich damit. In diesem Zusammenhang, 2006 ist TEA für Windows (Win32) wiederauferstanden, aber es gibt nur eine Fassung in russischer Sprache. TEA (Win32) ist public domain, in Delphi geschrieben (ja, das proprietäre!), mit Scintilla als text editing engine.

Falls Du Fragen, Ideen, Vorschläge oder Patches hast - hab keine Hemmungen, schreib mir: mailto:peter.semiletov@gmail.com . Schreib mir in Englisch oder Russisch.

Lies dieses Handbuch vollständig, denn TEA ist in vielen Teilen kein Standard-Editor!

Jetzt hören: Nirwana - I hate myself and I want to die

# 2. Benutzeroberfläche

## 2.1. Hauptfenster

Einige Worte zur Benutzeroberfläche - Achtung bitte! Unser Flugzeug ist sicher aber etwas ungewöhnlich. Zu den einzelnen Menupunkten kommen wir im Folgenden noch.

Hier nur folgendes:

Über den Schraubenschlüssel (Icon) (Einstellungen) ruft man das Einstellungsinterface für TEA auf (oder über Preferences->Interface->Show the main toolbar). Dieses GUI-Interface ist hardcoded, nicht änderbar - die GUI-Befehle erklären sich selbst.

In dem Bereich (Logmemo) wird der output der Aktionen angezeigt (unterhalb des Eingabefensters).

Im Bereich (Texteingabe) (im Handbuch immer wieder als "famose Texteingabe" bezeichnet - ganz unten im Fenster) kannst Du Text für die Suche oder für Selectionen eingeben. Beispiel: Willst Du zur Seite 77, gibt "77" ein, betätige `Alt-G`. Falls Du etwas suchst, gib den Text ein und betätige `Ctrl-F`.

Der Open-Button (ganz rechts neben der (Texteingabe)) ist sehr hilfreich. Gib einen Dateinamen ein (den kompletten Pfad) und betätige den `Open`-Button. In den diesem Fall benutzt TEA die Codierung, welche in den Preferencen ausgewählt ist.

## 2.2. "Speichern" und "Öffnen" Benutzerfenster

TEA hat geringfügig non-standard `Speichern` und `Öffnen` Dialog-Fenster. Sie sind relativ groß in der Grundeinstellung, können aber in (Einstellungen->Benutzeroberfläche) in der Größe angepasst werden. Der Standard-GTK+2 Dateiwähler hat keinen Dateinahmeneintrag, wenn er im "Datei öffnen"-Mode arbeitet. TEAs Dialog hat dies aber. Es sind zwei Einträge möglich: Ordner und Dateiname. Der Ordner-Eintrag ist für zwei Dinge gut. Zur Navigation im selben Ordner, gib eine URI, einen absoluten Pfad oder einen Ordnernamen ein und betätige `Enter` oder den `Go to`-Button. Um einen neuen Ordner im aktuellen Ordner zu kreieren, gib den Ordnernamen in den Ordner-Eintrag und betätige den Create new-Button.

Zum Speichern oder Öffnen einer Datei, nimm den Dateinamen-Eintrag - das funktioniert in gleicher Weise wie in KDE.

## 2.3. Zu drag and drop

Wenn man eine txt.-Datei ins TEA-Window zieht, öffnet sich die Datei in TEA. Ein Image wird als IMG-Tag (oder media object für Docbooc) eingefügt. Das funktioniert mit Konqueror, Gqview, Nautilus etc.. Bei `drag and drop`-Aktionen unterstellt TEA, dass die Dateien entsprechend der Auswahl in Einstellungen) oder Preferencen->Encoding->Default charset for File open kodiert sind.

Jetzt hören: Scorn - Logghi Barogghi - Weakener

# 3. Wie geht TEA mit Zeichensätzen um?

TEA arbeitet mit allen Zeichensätzen, die Linux unterstützt (`iconv library`). Grundsätzlich kann man 2 Zeichensätze wählen für die `Datei speichern Aktion` - UTF8 und den aktuellen lokalen Zeichensatz. Für die `Öffnen Aktion` kannst Du diese wählen; zusätzlich gibt es autodetect.

Wenn Du autodetect wählst, versucht TEA die aktuelle Kodierung automatisch zu bestimmen und falls das fehlschlägt, musst Du die passende Kodierung manuell auswählen. Die autodetect-Funktion ist vielgestaltig und in mehrere Unterfunktionen unterteilt. TEA hat zum Beispiel ein simples autodetect und eine Japanese autodetect-Funktion. Wählt man die erste, muss man einige Zeichensätze auswählen, welche TEA checkt. Alle Zeichensätze findet man in Preferences->Encodings->Autodetect section - es gibt dort eine Menge Checkboxen!

Wenn Du eine Datei öffnest, kannst Du autodetect-Zeichensatz wählen und TEA versucht den Zeichensatz automatisch zu erkennen, welchen Du unter "Autodetect"-Preferences ausgewählt hast.

Ein anderer Fall ist Japanese autodetect. Es ist getrennt vom "üblichen" autodetect und folgt seiner eigenen Implementation.

Wie kann man mehr Zeichensätze zur Liste der verfügbaren Kodierungen hinzufügen? Geh zu File->Preferences->Encoding, switche zur Configure charsets-Seite. Dort gibt es zwei Listen - Available und Selected. Wähle einen Zeichensatz in der Available-Liste und betätige den Add-Button, um diese Auswahl der Selected-Liste hinzuzufügen. Zeichensätze aus der Selected-Liste sind verfügbar im Datei Speichern/Öffnen-Dialog, im Kwas-Dateimanager etc..

Um einen Zeichensatz aus der Selected-Liste zu entfernen, wähle ihn aus und betätige den `Delete`-Button zwischen den Listen.

Menus/Listen mit verfügbaren Zeichensatz updates: für Öffnen/Speichern-Dialoge - wenn Du sie wieder öffnest; für Kwas - wenn Du Kwas in einem neuen Fenster öffnest.

TEA hat ein eigentlich obsoletes View->Code Menü. Aus diesem Menü kann man die Kodierung des aktuellen Dokumentes ändern. Die Kodierungen sind die selben, wie im "Datei öffnen/speichern"-Dialog. Wenn Du die Kodierung wechselst, so bedeutet dies, dass der aktuelle Dateiinhalt neu geladen wird - mit der ausgewählten anderen Kodierung. Benutze dies vorsichtig!

# 4. Wie funktioniert editieren und preview von SRT-subtitles

Mit TEA kann man SRT-subtitles editieren und previewen. Das läuft wie folgt:

> Öffne eine SRT-Datei wie eine gewöhnliche Text-Datei.

> "Öffne" eine Film-Datei über File->Open different->Open movie.

> Editiere die SRT-Datei. Speichere sie.

> Wenn Du View->Preview in Mplayer aktiviert hast, findet TEA die start time der aktuellen subtitle-section und startet Mplayer mit dem movie, welches Du vor Open movie ausgewählt hattest. TEA sagt also dem Mplayer, spring zu der Zeit, welche für die aktuelle subtitle section erforderlich ist (aktuell, nach "rewind", Mplayer zeigt den nächsten subtitle NACH dem aktuellen, wähle in TEA den vorherigen subtitle um den korrekten aktuellen zu zeigen. Ein gruseliger Satz, oder? Aber wage den Versuch und Du wirst verstehen).

# 5. Das transzendentale Scheinen des Filemenus

New - öffnet ein neues Dokument mit `UTF-8`-Kodierung. Natürlich kannst Du es in einem Zeichensatz Deiner Wahl speichern.

New Kwas - öffnet ein neues Kwas-Fenster. Lies bitte das Kapitel Was ist Kwas?.

Crapbook - Crapbook (Notizbuch) ist eine einfache Textdatei unter $HOME/.config/tea/crapbook.txt. Du kannst es aufrufen mit `Alt-M`. TEA speichert diese Datei automatisch, wenn Du TEA schliesst oder wenn Du crapbook.txt schliesst. Es ist nützlich, um Notizen zu schreiben, Zitate festzuhalten oder ähnliches.

Add to.. -> Add to Bookmarks - fügt eine neue Bookmark in die Bookmark Liste ein. Jeder Eintrag enthält: Dateiname, Zeichensatz, Position. Um die Bookmark-Datei zu editieren (eine simple Textdatei mit einer Liste von Begriffen) gehe zu File->Manage config files->Bookmark file. Editiere und speichere dann. Änderungen werden direkt angewendet.

Add to.. > Add to the autosaving list - fügt die aktuelle Datei in eine spezielle Datei-Liste ein. Diese Dateien werden automatisch gesichert, wenn Du sie schliesst. Um diese Liste zu editieren, gehe zu File->Manage config files->Autosaving list. Dieses Feature ist nützlich, wenn Du Dateien als Sammelstellen für verschiedene Infos nutzen willst. Du kannst z.B. in KDE einen shortcut anlegen, um etwas wie tea ~/my_links.txt zu starten und my_links.txt in die autosaving-Liste eintragen.

Open - öffnet eine Datei. Im Open-Dialog ist ein Zeichensatz-Selector. Wähle die korrekte Kodierung oder Du wirst Dich ärgern. Einzelheiten zum TEA-Zeichensatz-Handling lies im Kapitel Wie geht TEA mit Zeichensätzen um?. Werden mehrere Dateien geöffnet, müssen sie mit dem selben Zeichensatz geöffnet werden - oder shit can happen. Ich kann Dir nichts zu dem hypothetischen shit sagen, aber jetzt bist Du gewarnt.

TEA nutzt das File open widget von GTK+2.4. Es unterstützt einige keyboard shortcuts für verschiedene Aktionen:

> Directory up - `Alt-Up`

> Directory down - `Alt-Down`

> Goto home directory - `Alt-Home`

Am Fuß dieses Dialog-Fensters ist das TEA special locations drop-down menu. Hier kannst Du vom aktuellen Ordner in Ordner wechseln, in denen TEA Deine snippets, scripte, templates, sessions und replacement tables ablegt. Zu beachten: all diese Dateien müssen in UTF-8 kodiert sein. Speichere die templates etc. nicht in anderer Kodierung!

Über RTF-Dateien - ja, TEA kann RTF-Dateien öffnen - aber nicht speichern! Um sie korrekt zu öffnen, muß die default-Kodierung für RTF's definiert sein. Das kann in Preferences->Encoding->Default charset for RTF vorgenommen werden.

Eine andere Frage ist, wie TEA RTF's öffnet. Es funktioniert und um RTF's schnell zu lesen, nimm TEA. Zum editieren nimm OOo, KWord, AbiWord, oder was auch immer.

Bei der Gelegenheit, mit TEA kannst Du OpenDocument-, OO-Writer- KWord-, Microsoft Word- und AbiWord-Dateien öffnen - aber nur im Lesen-Modus. Man kann TEA als Viewer für diese Dateien nutzen, aber auch zum Konvertieren in Plain-Text (über Saving as unter anderem Dateinamen). Anzumerken ist: TEA liest KWord-Dateien besser als OOo- oder AbiWord-Formate. Um Microsoft Word-Formate zu öffnen, muss Antiword (http://www.winfield.demon.nl) installiert sein. Und um OOo-Writer- und KWord-Dateien zu öffnen, benötigst Du gunzip, bzip2 und tar.

Zu archivierten Dateien. TEA kann z.Zt. nur Dateien im Lesen-Modus handeln, die mit .gz, bz2, zip, tar.gz, tar.bz2 und tar.zip komprimiert sind. Dafür gibt es zwei Gründe. TEA kann nur UTF-8 Dateien öffnen (oder einen normalen Englisch-Text) und TEA kann nur Archive handeln, die eine einzelne Datei enthalten.

Open different->Open a movie Menu-Punkt. Dieser ist bestimmt für das Editieren von SRT-subtitles. Für weitere Informationen lies das Kapitel zum Menupunkt Ansicht.

Open different->Open from the Famous text entry. Wie arbeitet es? Gib einen vollständigen Dateinamen ein (oder kopiere ihn ein), gebrauche die Funktion und hab Spass damit.

Open different->Open the autosaved session - öffnet die Session, die automatisch gesichert wurde, wenn Preferences->Editor->Autosave a session on each interval aktiv ist.

Templates - von diesem Menupunkt aus sind User-Templates verfügbar. Alle Templates werden in der Grundeinstellung in $HOME/.config/tea/templates gespeichert. Um eine Datei als Template zu speichern, gebrauche den Save different->Save as template Menupunkt. Templates können gemanagt werden auf der Preferences->Maintainance-Seite. Um Templates zum Editieren zu öffnen, gehe über das drop-down-menu des Öffnen-Dialogs TEA special locations.

Sessions - das selbe Zeug wie im Opera Browser - Du kannst Dateilisten speichern und öffnen. Um eine Session-Datei wie eine Text-Datei zu öffnen, ohne eine Datei-Liste zu laden, nimm den Datei-öffnen-Dialog in dem drop-down-Menu von TEA special locations. TEA speichert für jede Session 3 Elemente per Datei - den Dateinamen, die Kodierung und die Cursor-Position. Um die Dateien als Session zu speichern, verwende den Menupunkt Save different->Save sesion. Sessions zu managen geht über die Preferences->Maintainance-Seite.

Jetzt hören: Yab Yum - Dead Moon Ritual (Source Mutation Mix)

Save different->Backup - TEA macht eine backup-copy des aktuellen Textes.

Save - spricht für sich. Kurze Anmerkung: das Dokument wird in der selben Kodierung gespeichert, mit der es geöffnet wurde.

Save as - in diesem Dialog kannst Du aus der Liste eine der verfügbaren Kodierungen wählen. Wenn Du den Text konvertieren willst, nimm dieses Feature.

Save different->Save as template - speichert die aktuelle Datei als als Template im Grundeinstellungsordner $HOME/.config.tea/templates.

Save different->Save version - speichert eine Kopie der aktuellen Datei mit Name, basierend auf dem Dateinamen, ergänzt mit aktuellem Datum und Zeit.

Manage utility files (Hilfsdateien verwalten) - hier kannst Du direkt die TEA-Konfigurations-Datein öffnen ($HOME/.config/tea/). Die Änderungen werden wirksam nach dem Editieren und Speichern. Zu empfehlen ist aber, TEA über (Einstellungen) zu konfigurieren.

Jetzt hören: Nirvana - Talk To Me

Manage utility files->Autoreplace words file - hier kannst Du die Datei öffnen, in der die Wortersetzungen definiert sind (zu aktivieren unter Preferences->Editor->Autoreplace). Diese enthält Zeilen in einem simplen Format: string1=string2. Zum Beispiel:

`Linux=GNU/Linux`

`sxe=straight edge`

`FSOL=Futur Sound Of London`

`hl=highlighting`

Nach dem Speichern dieser Datei erfolgt ein update der inneren Liste der Wortersetzungen. Zur Anwendung, aktiviere die Wortersetzung und gib Deinen Text ein. Alle Worte der Liste werden ersetzt, wenn die shortcuts eingegeben werden und die Leertaste oder irgendeine Zeichentaste gedrückt wird. Wortersetzung ist case-sensitive.

Manage utility files->Hotkeys config - mit dieser Datei kannst Du die hoteys/shorcuts für jede Menupunkt konfigurieren. Alle hotkeys sind gespeichert in $HOME/.config/tea/tea_hotkeys. Diese Datei darf nur UTF-8-Zeichen enthalten. Alle Änderungen werden angewendet, wenn die Datei gespeichert wird. Wenn ein neuer hotkey einen alten überschreibt, dann wirkt die Änderung nach dem Neustart von TEA. Vordefinierte hotkeys können nicht geändert werden.

Die Zeilen in tea_hotkeys haben ein simples Format: menu item captio=hotkey. Zum Beispiel:

`Reverse=Alt Shift R`

`Read this file manual=F1`

Kurze Anmerkung: Die Menu-Itembezeichnung ist case-sensitive. Deshalb ist sie genauso zu schreiben wie im TEA-Menu. Der hotkey ist nicht case-sensitive, so dass man schreiben könnte: "shift ctrlF5" oder ähnlich. Modifizierer sind Alt, Ctrl, Shift. Sie sind durch Leerzeichen zu trennen.

Du kannst jedem Menupukt einen shortcut zu ordnen, sogar den dynamisch generierten Bookmarks.

# 6. Das Bearbeiten-Menu, oder wie schneidet man ohne Schere und Gewalt

Indent/Unindent - bewegt den Text einen Tabulator nach rechts oder links (siehe Peferences, Editor page). Für `Indent` kannst Du auch den TAB-Key verwenden. Beide Funktionen wirken auf eine oder mehrere Zeilen.

Append to the Crapbook - fügt die Auswahl dem Notizbuch hinzu. Dazu muss das Notizbuch nicht geöffnet sein.

Swop - tauscht den ausgewählten Text mit dem Clipboard-Inhalt. Der ausgewählte Text geht in den Zwischenspeicher und der Inhalt des Zwischenspeichers geht an die Stelle des ausgewählten Textes.

Move line up/down - tue es. Dazu musst Du keine Zeile auswählen. Die Operation wirkt auf die aktuelle Zeile (dort, wo der Cursor steht).

Copy all - kopiert den gesamten Text in den Zwischenspeicher.

Copy current URL - vor Anwendung musst Du den Cursor auf die URL im Text stellen.

# 7. Das Suchen-Menu

## 7.1. Allgemeine Suchen-Funktionen

Willst Du etwas finden? Schreibe es in die famose (Texteingabe) und betätige Enter oder Crl-F. Du willst mehr finden? Betätige F3. Beachte, dass TEA immer ab der aktuellen Cursor-Position sucht.

Willst Du ein traditionelleres Suchen-Werkzeug - dann kannst Du das Search and Replace window nutzen. Es ist weit weg vom Ideal, aber brauchbar.

Replace - ersetzt den ausgewählten Text durch den Inhalt der famosen Texteingabe. Gewöhnlich sucht man den Text und wenn man ihn gefunden hat, verwendet man diese Funktion.

Goto line - gib die Zeilennummer in die famose Texteingabe ein und ab mit dieser Funktion.

Replace all - und noch einmal die famose Texteingabe. Aber diesmal in einem speziellen Format: text to find~text for replace. Zum Beispiel: hell~heck.

Find an mark - findet den String (aus dem famosen Texteingabefeld) im aktuellen Dokument und markiert alles Gefundene.

Find in files. TEA hat ein einfaches built-in-Werkzeug zur Suche in einer Datei. Es ist eine einfache Suchfunktion ohne Stop-Button. So kann es sein, das Du Geduld brauchst, wenn TEA sucht. Trink einen Tee ...

Wahrscheinlich benötigen noch einige Felder dieses Fensters eine Erklärung. Hier ist sie. "And", "Or" und "Not" sind bestimmt für Wörter, die Du suchst oder nicht suchst. Stell Dir vor, Du willst alle Dateien finden, die die Wörter "Linux", "FreeBSD", aber nicht das Wort "MS DOS" enthalten. Dann schreibe "Linux" und "FreeBSD" in das "And"-Feld (ein Wort pro Zeile), und "MS DOS" in das "Not"-Feld.

So, "And" bedeutet, das eine Datei alle gelisteten Wörter enthalten muss. "Or" bedeutet, das die Datei ein oder mehrere der in "Or" gelisteten Wörter enthalten muss. Und die "Not"-Liste? Die Datei darf keins der "Not"-Wörter enthalten.

File pattern - nur zwei Metazeichen werden unterstützt: * und ?.

Um eine Datei aus der Liste der gefundenen zu öffnen, genügt ein Doppelclick auf die gewünschte Datei.

Du kannst die Liste aber auch als TEA-Session speichern und später wieder öffnen. Betätige Save as a session, um die Liste als Session zu speichern. Du kannst auch die gefundenen Dateien in einen Ordner kopieren: Copy to the directory.

TEA sucht in Plain-Text, KOffice KWD, AbiWord ABI, OpenOffice.org sxw und OpenOfficeDocument ODT Dateien.

In Plain-Text-Dateien wendet TEA alle Zeichensätze an, die in der Zeichensatzliste des File Open-Dialogs enthalten sind.

Mark lines-> n characters. Füge die maximale Zeilenlänge in das famose Texteingabefeld und betätige diese Funktion. Alle Zeilen, die länger als N sind (der Wert im Texteingabefeld) werden markiert.

Scan for local links - scannt das aktuelle Dokument nach href-Links zu lokalen Dateien und fügt sie in den Menupunkt Nav->Links ein. Von dort kannst Du die Datei in TEA öffnen; ein Bild wird im built-in-Bildbetrachter geöffnet (analog Open at cursor).

Scan for SRC's - ähnlich wie Scan for local links, aber füllt das Nav->Links Menu mit allen SRC-stuff - in den meisten Fällen mit Images. Es ist sehr hilfreich, wenn Du die Banner oder andere Bilder sehen, diese aber nicht manuell suchen willst.

## 7.2. Menupunkt Markierung

Mark. Markieren ist ein spezielles Auswahlverfahren. Es gibt Dir die Fähigkeit, Text auf verschiedene Weise auszuwählen. Um Text zu markieren, ist der Text auf normale Art und Weise auszuwählen und dann Mark zu betätigen. Um den markierten Text wieder zu 'deselektieren', ist der Cursor auf den markierten Text zu positionieren und wieder Mark zu betätigen. Ein anderer Weg ist die Betätigung des Unmark all Menupunktes. Den markierten Text kopieren kann man mit der Copy marked-Funktion.

Mark by regexp - sucht im Text mit regexp, welche in der famosen Texteingabe eingegeben werden und markiert sämtliche Worte, welche zu den regexp passen. Zum Beispiel: regexp="p*r". Das führt zur Markierung der Worte "peter", "poor", "pair". Diese Suche ist case-sensitiv (Groß-/Kleinschreibung).

Metazeichen * steht für jedes Zeichen, ? steht für ein einzelnes Zeichen.

Zum Beispiel: ein Suchmuster wie "?og", findet "dog", aber nicht "frog". Wenn man "*og" definiert, markiert TEA sämtliche Wörter wie dog, frog, bulldog, fog und ähnlich diesen.

Jetzt hören: The Pixies - Santo

Mark all fuzzy and empty translations - nützlich, um .po-files zu editieren.

Jetzt hören: The Pixies - Evil Hearted You

Mark each n-th line - hiermit kannst Du jede n-te Zeile markieren. Gib die Zahl in die famose Texteingabe ein und betätige den Button.

Mark lines those contains a string - markiert sämtliche Zeilen, die den String enthalten, der in der famosen Texteingabe eingegeben wurde.

# 8. Markup (Textauszeichnung)

## 8.1. Grundsätzliches zu diesem Zeug

Einige Worte zu dem Markup Menu. Es wirkt auf verschiedene Art und Weise, in Abhängigkeit von dem ausgewählten Markup mode. Verfügbar sind HTML-, XHTML-, Wikipedia-, LaTeX- und Docbook-Modes. Aber - nicht sämtliche Punkte des Markup-Menus unterstützen sämtliche markup-modes. Zum Beispiel: Make a table kreiert Tabellen in HTML, Wikipedia und Docbook, aber nicht in LaTeX.

TEA kann den Markup mode automatisch anpassen - das ist einzustellen über Preferences->Switches->Automatic makup mode.

## 8.2. HTML Tools

Document weight - zeigt den totalen Speicherbedarf des Dokumentes - inclusive SRC-staff(images, flashes etc.) Das Resultat ist im Logmemo zu sehen.

Build-in template - fügt das HTML-template in das aktuelle Dokument ein.

Enclose selected link into tags - tue es. Um www.foo.bar// oder //ftp.foo.bar// oder //mailto:foo@bar.com mit einem a href-tag einzuschliessen, nutze diese Funktion und sei glücklich.

Strip tags - entfernt sämtliche Tags aus dem HTML-Document.

Convert tags to entities - willst Du HTML-Code in dem HTML-Dokument zeigen, wähle den Code aus und wende diese Funktion an. Du bekommst dann zum Beispiel:

&lt;b&gt;demo&lt;/b&gt;

Text to HTML - diese Funktion konvertiert Plain-Text zu HTML-formatierten Code mit Hilfe von CSS (in eine neue Datei - der Plain-Text bleibt in der ursprünglichen Datei erhalten).

## 8.3. Common (Allgemeines)

Einige der im Folgenden beschriebenen Funktionen wirken auf zweifache Art und Weise - ist kein Text ausgewählt, wird ein Tag-Paar eingefügt, andernfalls wird der ausgewählte Text in Tags eingeschlossen.

Close the current tag - schließt den aktuellen Tag. Tippe irgendeinen Tag mit ">" am Ende und nutze dann diesen Menupunkt. Oder Du kannst auch das automatische Tag-closing in Betrieb nehmen über Preferences->Editor->Autoclose Tags. Das geht bei Docbook, HTML etc.

Comment - schließt das Selektierte in Kommentar-Tags ein. Das geht in TeX-, HTML-, CSS-, Pascal und C/C++-Dateien, unter Berücksichtigung der Syntax-Regeln.

Color - öffnet den Farbauswahl-Dialog. Wenn kein Text ausgewählt ist, dann wird eine HTML-Farbe an die Cursor-Position eingefügt; ansonsten wird der ausgewählte Text in span-Tags mit dem Farbwert eingeschlossen.

Image - öffnet den Datei-öffnen Dialog. Du kannst ein Image(s) auswählen, welches dann mit den img-Tags eingefügt wird (mit Werten für die Attribute für height und width) oder image object (Docbook). Unterstützt werden sämtliche Formate, die GTK+2 gewöhnlich unterstützt - PNG, JPEG, GIF, WBMP etc..

Table stuff->Make table - ich mag keine wizards, aber manchmal träumte ich von einem Tool, welches schnell leere Tabellen kreiert. Und ich machte dieses Tool. Und wieder nutzen wir den famosen Texteintrag: tippe `rows count~columns count` und betätige diese Funktion. Beispiel: wir wollen eine 2x4-Tabelle - 2 Reihen mit 4 Zellen pro Reihe. Dann geben wir ein: `2~4` und dann Make table - das wär's.

## 8.4. Listen

Itemized list - geht im LaTeX- und Docbook-Mode. Ein Beispiel sieht so aus:

- Scon

- Nirvana

- Guano Apes

Enumareted list - geht im LaTeX (als numerierte Liste) und Docbook- (als ordered list) Mode. Ein Beispiel sieht so aus:

1. Scorn

2. Nirvana

3. Guano Apes

# 9. Funktionen

## 9.1. Common (Allgemeines)

Um diese Text-processing-Funktionen zu nutzen, muss vorher Text ausgewählt werden. Ist kein Text ausgewählt, betrachtet Tea den gesamten Text eines Dokuments als ausgewählt. Es gibt einige spezielle Fälle, in denen TEA das aktuelle Wort als ausgewählt betrachtet, wenn kein Text ausgewählt ist. Zum Beispiel ist dies so bei der UPCASE und lowcase Funktion. Aber dieses Verhalten ist eine seltene Ausnahme von der Regel.

Documents stats - gibt die Textstatistik für den gesamten Text oder den ausgewählten Text im (Logmemo) aus.

## 9.2. LaTeX

Wie läuft es mit TeX/LaTeX-Dokumenten in TEA? Zuerst einmal - setze die Preferences->Commands->LaTeX Option. Die Grundeinstellung ist gut, aber prüfe sie trotzdem. Aber füge NICHT das &-Zeichen an das Ende der Kommando-Zeile! Und natürlich musst Du die LaTeX-Werkzeuge installiert haben.

Um das aktuelle LaTeX-Dokument in eine dvi-Datei umzuwandeln, nutze die Process with LaTeX Funktion und sieh im (Logmemo) nach eventuell auftretenden Fehlern. Ist dies ohne Fehler durchgelaufen, kannst Du die dvi-Datei zu ps oder PDF konvertieren. Mach dies mit der dvi to PS oder dvi to PDF Funktion. TEA speichert alle dvi's und resultierenden Dateien in dem Ordner, in dem das LaTeX-Dokument gespeichert ist. TEA achtet selbst auf die Dateinamen, mach Dir darüber keine Gedanken.

Um eine dvi-Datei anzusehen, nutze den View dvi-Menupunkt. Um PostScript- oder PDF-Dateien anzusehen, nutze die View PS oder View PDF Funktion.

Der übliche Weg um eine PDF zu produzieren ist: Process with LaTeX, dann dvi to PDF, dann View PDF, um sich das Resultat anzusehen.

Oder, alternativ, wenn Du pdflatex installiert hast, nutze Process with pdflatex und dann View PDF.

## 9.3. IDE

Zwischen all den Features gibt es in TEA auch ein Art IDE (Integrated Development Environment) Funktion, eine Art Projekt-Umgebung. TEA kann auch make aufrufen und eine binary-Datei ausführen.

Wie funktioniert das? TEA IDE Projekt enthält nichts ausser einer Projekt-Datei. Um diese zu kreieren, nutze die New projcet Funktion. Du siehst ein Dialog-Fenster mit einigen Einträgen, wie:

Project name - der Name des Projektes.

Makefile directory - wo kann TEA die make-Datei des Projektes finden, um make aufzurufen.

Source directory - wo werden die source-Dateien des Projektes gespeichert.

Target executable - Dateiname (ohne den absoluten Pfad) der binary-Datei. TEA unterstellt, dass diese Datei im Source-Ordner ist. TEA führt target executable aus, wenn Run betätigt wird.

Project properties - nutze dies, um die Projekteinstellungen zu editieren - vergiss nicht, dies zu speichern!

Wenn Du mit TEA MAKE ausführst, werden Fehler und Warnhinweise im (Logmemo) angezeigt. Mit Doppelclick auf die Fehlermeldung springt TEA auf die entsprechende Zeile in der source-Datei. Die Farben der Fehlermeldungen können in Preferences->Colors->IDE eingestellt werden.

Refresh tags with ctags - kreiert die tag-Datei mit ctags im Ordner der aktuellen Datei.

Zusätzlich zur IDE-Funktion kannst Du View->Switch header/source nutzen. Beachte: Das geht nur, wenn die source- und header-Dateien im selben Ordner sind. Nur C/C++ - Dateien werden unterstützt. Du kannst ausserdem nutzen Nav->Browse the symbol's declaration um zur Deklaration der C/C++ - Funktion zu springen, welche unter dem Cursor ist. Dies erfordert tags-Datei von ctags. Wenn TEA diese Datei nicht finden kann, führt TEA ctags aus, um diese tags-Datei zu erzeugen. Andernfalls nimmt TEA die existierende tags-Datei, wenn sie ausgegeben ist. Du kannst sie erneuern mit IDE->Refresh ctags.

## 9.4. Kalender

TEA hat einen guten Kalender (aktuell ist es ein GTK+2 Widget). TEA bringt aber einige zusätzliche Funktionen mit. Mit Days between kannst Du ausrechnen, wieviel Tage zwischen zwei ausgewählten Datumsangaben liegen. Wähle das erste Datum und press date1, dann wähle das zweite Datum und press date2. Betätige Calculate - das Ergbnis steht im (Logmemo).

Unter dem Kalender sind weitere Buttons, beginnend mit Insert.... Damit kannst Du ein Datum in das aktuelle Dokument in diversen Formaten einfügen.

Jetzt hören: Guano Apes - Electric Nights

## 9.5. Rechtschreibprüfung

Spell-checker languages - TEA verwendet Aspell (http://aspell.net). In diesem Menupunkt findes Du die Liste der für Aspell installierten Wörterbücher. Zur Rechtschreibprüfung verwende einen der Menupunkte. Die Prüfung geht über den gesamten Text, nicht nur auf den selektierten.

Mit diesem Menupunkt setzt Du auch die default-Rechtschreibsprache. Voreingestellt ist "en". Für eine einfache Rechtschreibprüfung wähle den Menupunkt Spell check.

Suggest a word - zeigt eine Liste mit Vorschlägen für das unter dem Cursor befindliche Wort (geh mit dem Cursor auf ein nach der Rechtschreibprüfung farbig markiertes Wort und nutze den Menupunkt).

Die Farbe für die Markierung der als inkorrekt erkannten Worte kannst Du in Preferences->Colors bestimmen.

TEA zeigt Dir nur die Fehler. Korrigieren musst Du sie manuell. Die Worte bleiben deshalb auch nach der Korrektur farbig markiert. Du musst erneut eine Rechtschreibprüfung durchführen, um die Markierungen abzudaten. Willst Du die Fehlermarkierungen verschwinden lassen, benutze den Menupunkt View->Hide error marks.

## 9.6. UNIversal Text AnalyZer

Was ist UNITAZ? Es ist ein feines Werkzeug für die Text-Analyse. Es kann Dir die Liste der Wörter des aktuellen Dokuments zeigen und die Anzahl von jedem Wort. Call UNITAZ with sorting abc - analysiert und zeigt eine sortierte Liste; Call UNITAZ plain - zeigt das Analyseergebnis ohne Sortierung. Call UNITAZ with sorting by count - zeigt das Analyseergebnis, sortiert nach Wortanzahl.

Exract words - extrahiert alle Worte des aktuellen Dokuments und stellt sie zeilenweise in einem neuen TAB dar. Das ist ganz hilfreich, um z.B. eine Sortierung für ein Wörterbuch zu machen. Aber Achtung! - diese Funktion ist relativ langsam, sei also geduldig - TEA ist nicht eingefroren! Warte, trink etwas, lies ein Buch, denke über das Universum nach .....

Weiterhin zeigt UNITAZ die Gesamtmenge der Wörter und die Menge der einzelnen Worte - die Anzahl ohne Wiederholungen.

## 9.7. User Menu

In TEA kannst Du Dein eigenes Menu kreieren, um Programme zu starten oder um damit Dateien zu öffnen. Um dieses Menu zu editieren, gehe zu File->Manage config files->User-menu config. Es öffnet sich die Menu-Konfiguration. Editiere sie und speichere sie dann. Das Menu wird dann upgedated. Das Format der Einträge ist simpel. Es sind Auflistungen wie diese:

`Opera=opera %s &`

`Kwrite=kwrite%s &`

"%s"-macro meint die zu öffnende Datei. Damit das im Hintergrund läuft, muss "&" hinzugefügt werden. Andernfalls friert TEA ein, bis das Programm beendet wird.

## 9.8. Replacement tables

In TEA ist der replacement tables eine Sammlung von Regeln für die Textersetzung. Zuerst musst Du eine Datei mit einer Liste kreieren, z.B.:

`cat=dog`

`mew=bow-wow`

Dann speichere diese Datei als replacement table (in UTF-8 Kodierung!) - File->Save different->Save as a replacement table. Danach taucht diese Verzeichnis im Menu Functions->Replacement tables auf.

Wie wendet man dieses Verseichnis an? Tippe einen Text: The cat says: "mew". Markiere diesen Text, dann wähle Dein Verzeichnis im Menu aus und sieh, was passiert. Der neue Text müsste danach wie folgt aussehen: The dog says: "bow-wow". Der replacement table ist ein Weg, Mehrfachersetzungen durchzuführen.

Um diese Ersetzungsverzeichnisse zu editieren, nutze im Datei-öffnen Dialog die TEA spezial locations drop-down Liste. Wenn Du die Verzeichnisse löschen oder umbenennen willst, schau auf die Preferences->Maintainance Seite.

## 9.9. Scripte

### 9.9.1. Scripte aus Sicht des Users

In TEA kannst Du Scripte benutzen, um einen markierten oder den gesamten Text zu bearbeiten, genauso so, wie mit einer in TEA bereits vorhandenen Funktion. Wenn das Script Parameter nutzt, kann man diese in den famosen Texteintrag eingeben.

TEA kann mit Scripten in Python, Perl, Ruby und Shellscripten arbeiten. Um ein Script zu installieren, kopiere es nach $HOME/.config/tea/scripts .Wenn es gepackt ist, dann entpacke es vorher. TEA findet das Script nach einem Neustart.

### 9.9.2. Scripte aus Sicht des Entwicklers

Wie schreibt man ein Script für TEA? Das ist sehr einfach. Aber zuerst musst Du wissen, wie TEA den Text an das Script gibt und wie TEA den bearbeiteten Text an die ausgewählte Stelle zurück gibt.

TEA führt jedes Script mit einem oder zwei Parametern aus. Beide sind Dateinamen. Die erste Datei enthält den Text. Das ist der ausgwählte Text oder der gesamte Text des aktuellen Dokuments.

Die zweite Datei (wenn es sie gibt) enthält den Text aus dem famosen Texteintrag. So liest das Script erst den Text aus der ersten Datei und dann den Text aus der zweiten Datei als Parameter für das Script.

Sei vorsichtig mit der Textbearbeitung - TEA operiert intern mit UTF-8 Kodierung, so dass die Textbearbeitung mit dem Script UTF-8-sicher sein muss. OK, nun sehen wir uns an, wie TEA einen Text zurück gibt. Schreib den zu bearbeitenden Text in die erste Datei, z.B. in die Datei, deren Namen Du aus dem ersten Parameter Deines Scriptes nimmst.

Im folgenden siehst Du ein Beispiel eines UTF-8 sicheren Python-scripts, welches einen Text nimmt, die Groß-/Kleinschreibung ändert und den bearbeiteten Text zurück an TEA gibt.

`import sys`

`import string`

`import codecs`

`f = codecs.open(sys.argv[1], "r", "utf-8" )`

`u = f.read()`

`f.close`

`u = u.swapcase()`

`f = codecs.open(sysargv[1], "w+", "utf-8" )`

`f.write (u)`

`f.close`

sys.argv[1] enthält den Namen der Datei mit dem Text aus TEA. Wir lesen den gesamten Text, dann verarbeiten wir den Text und schreiben ihn zurück in die sys.argv[1]-Datei. Voila! Bitte beachte den Gebrauch der codecs.

Ein anderes Beispiel - der "inline" Kalkulator. Hier verwenden wir keine codecs, weil wir mit numerischen Daten arbeiten:

`import sys`

`f = file (sys.argv[1], ´r´)`

`s = f.read()`

`f.close`

`t = eval (s)`

`f = file (sys.argv[1], ´w+´)`

`f.write (str (t))`

`f.close`

Aber was ist, wenn wir zusätzliche User-Parameter für das Script benötigen? Diese sind als String verfügbar und können aus der Datei sys.argv[2] (in Python) gelesen werden. Im Shell-Script verwende $1 für den ersten Parameter und $2 für den zweiten. Der zweite Parameter ist eine Datei, die Text aus dem famosen Texteintrag enthält. Beachte, dass Ruby-Scripte den ersten Paramter in ARGV[0], den zweiten in ARGV[1] packen.

Wenn Du Scripte für das TEA-Script-repository beitragen willst, versieh sie mit dem public domain-Status. Oder wenigstens nicht mit einer proprietären Lizenz. Es ist auch nützlich, Kredits, eine Beschreibung und Kommentare in das Scipt einzufügen.

## 9.10. Snippets

Ein Snippet (ein Schnippsel) ist ein Stück Code, welchen Du in den Text einfügen kannst. TEA hält jeden Snippet als einzelne Datei im $HOME/.tea/snippets - Ordner. Der Dateiname eines Snippets ist ein Menupunkt im Snippets-Menu; der Inhalt des Snippet-Menus ist die Liste der Dateien in $HOME/.tea/snippets. Um ein neues Snippet zu kreieren, kannst Du folgendes tun:

1. Schreibe etwas Text. 2. File->Save different->Save as snippet. Nur UTF-8! 3. Enjoy :)

Du kannst ein Snippet kreieren, welches eine Textauswahl in bestimmter Weise nutzt. Zum Beispiel möchtest Du ein Snippet, welches ausgewählten Text in HTML-Tags einschliesst. Das "%s"-macro repräsentiert die Textauswahl. Hier ist das Beispiel:

<a href="%s">%s</a>

Wenn dieses Snippet angewendet wird, dann wird %s ersetzt durch den ausgewählten Text. Ist kein Text ausgewählt, wird der Snippet-Inhalt eingefügt.

## 9.11. Tools

Mass encode tool - mit diesem Tool kannst Du mehrere Dateien umkodieren. Zusätzlich kannst Du die Convert ends of line - Option anwenden und den LF- oder CR/LF-Mode wählen.

Take screenshot (screen/region/window/clipboard). Mit dieser Funktion kannst Du Screenshots machen, die in den aktuellen Ordner gespeichert werden. Also, erst eine Datei öffnen. Dann trag den Dateinamen (nicht den absoluten Pfad, z.B. "test.png" und nicht "/mnt/home/test/test.png") in den famosen Texteintrag ein. Dann wähle eins der Tools und mach den Screenshot.

Wie wählt man das Image-Format? TEA bestimmt es anhand der Dateinamen-Endung. Du kannst "png" (TEA nutzt full-color-PNG für das Dateispeichen), "jpg", "jpeg", "bmp", "tif" und "tiff" wählen. Um den JPEG-Kompression-Level zu setzen, gehe zur Preferences->Functions->JPG compression (1..100) Option. Um die Verzögerung vor dem Screenshot einzustellen, nutze die Preferences->Functions->Screenshot delay (in seconds) Option. Während dieser Zeit wird TEA's Window versteckt und Du kannst die anderen Windows/den Desktop manipulieren.

Einige Worte zum Screenshot vom Clipboard. Als ich es testete, funktionierte es gut mit GIMP. Du kannst etwas in GIMP auswählen, dann kopiere es und dann geh zu TEA und mach den Screenshot des Clipboards.

## 9.12. Format

Browser to text - Was ist das? Damit wird Text reformatiert, der aus einem Browser nach TEA kopiert wurde. Intern löscht diese Funktion blanks zwischen Paragraphen und fügt spaces vor jeden Paragraphen ein. Du kannst das Format des Paragraphen in der famosen Texteingabe definieren.

Kill formatting - killt die Formatierung (tabs, new lines, double spaces etc.)

Wrap raw at position - macht dasselbe wie fold ohne den -s Parameter. Bricht alle Zeilen an der Stelle um, die Du in der famosen Texteingabe eingegeben hast.

Wrap on spaces at position - macht dasselbe wie fold -s. Bricht die Zeilen (teilt aber nicht die Worte) an der Stelle um, die Du in der famosen Texteingabe definiert hast.

## 9.13. Insert

*Now playing* string from Amarok - macht dies. Bitte beachte, dass Du den format-string in Preferences->Function->Now Playing string format spezifizieren kannst. Das macro %s meint Artist und Songnamen.

Dump menu - schreibt alle Menupunkte in eine neue Datei. Das ist nützlich, wenn Du einige Einträge in die hotkey config einfügen willst.

Date/Time - fügt Datum/Zeit ein. Das Format muss in Preferences->Functions->Date and Time Format definiert werden.

[Anmerkung des Übersetzers: Hier folgt im Handbuch von Peter Semiletov ein Auszug aus The GNU C Library Reference Manual, for Version 2.2.x of the GNU C Library, Edition 0.10, last updated 2001-07-06 mit den Formatvorgaben. Diese erstrecken sich über fast 2 Seiten und ich habe sie, da auch im Original verständlich, nicht mit übersetzt.]

Die default-Einstellung in TEA ist: "%d/%m/%Y %T" - was dann wie folgt aussieht: "29/06/2008 15:36:57"

## 9.14. Case

UPCASE/lowcase - macht dies mit dem markierten Text oder dem Wort unter dem Cursor.

cRAcKeriZE - MaChT dIes MIt deM TexT.

## 9.15. Numbers

Calculate - berechnet den Ausdruck, der im Text markiert ist. Zum Beispiel kannst Du schreiben 2+2, dann markiere es und betätige Calculate. Danach siehst Du das Resultat im (Logmemo). In die Ausdrücke kannst Du Klammern und folgende Operatoren verwenden: +, -, *, /, so wie hier:

`(2/3) + 123`

`5 + 5 + 5`

`1 - 200 * 89`

Arabian to Roman - Beispiel: 1977 wird zu // MCMLXXVII//.

Counter - generiert eine Liste von Zahlen. Den format-string musst Du im famosen Texteintrag definieren. Das Format sieht wie folgt aus: start_value~end_value~[step]. By the way, der default-Wert von "step" = 1. Ein Beispiel (mit dem Wert 5 für "step"):

`1~10~5`

Das Resultat:

5

10

15

20

25

30

35

40

45

50

## 9.16. String

Split by the delimiter - dies ersetzt alle Trennzeichen im Text mit dem new line-Charakter. Der Wert ist im famosen Texteintrag zu setzen.

Split after the delimiter - setzt den new line-Charakter nach jedem Trennzeichen im Text. Der Wert ist im famosen Texteintrag zu setzen.

CSV-like table to LaTeX table - probiere es, wenn Du CSV-Tabellen in LaTeX-Tabellen formatieren willst. Funktioniert es? Öffne OOoCalc oder Gnumeric und speichere eine Tabelle als CSV-Datei. Das ist eine simple Text-Datei, in der die Zellen getrennt sind durch Trennzeichen (Separatoren), gewöhnlich Kommas. Falls Du Kommas in den Zellen hast, wähle einen anderen Charakter als Trennzeichen. In Gnumeric kannst Du Save as->Export as text files nutzen und den Separator definieren.

Dann öffne die CSV-Datei in TEA. Markiere den Text. Betätige CSV-like table to LaTeX table - Voila!

Split to TeX paragraphs - splittet den Text in TeX-Paragraphen und fügt Leerzeilen zwischen die strings. Um den Plain-Text in TeX umzuwandeln, sollte dies der erste Schritt sein.

Convert usual quotes to TeX quotes - eine Anmerkung: das geht nur mit double quotes (").

Escape and quote/Unescape and unquote - Du weisst, wenn Du escape/unescape brauchst, sind die strings oder Dateinamen voll von den verdammten whitespaces.

Numerate lines - numeriert die ausgewählten Zeilen. Das Format der Numerierung ist in der famosen Texteingabe zu definieren. Das Format ist eigenartig: print-like format string~step of the counter~initial value of the counter. Die beiden letzten Parameter sind optional und sind gleich 1 bei default. Stell Dir vor, Du hast eine Liste von Bands:

Nirvana

Scorn

Napalm Death

Defacation

Neck

JR Ewing

Fall

Meathook Seed

The Doors

Led Zeppelin

Nun möchtest Du eine Numerierung in diese Liste einfügen, und dies im custom-Format. So, TEA kann dies für Dich tun. Du musst den format-string in die famose Texteingabe eingeben. Du kannst zwei macros nehmen - %d für den counter und %s für den string.

Hier das Beispiel für einen format-string:

`%d.)%s`

`%d.)%s~10`

`%d.)%s~10~4`

Die zweite Zeile ist ein format-string mit einem step-parameter. 10 ist der step-Wert. Die dritte Zeile ist ein format-string mit einem step- und einem inital-Wert für den counter. Dieser ist 4. Wenn Du `%d` nach `%s` nimmst = `%s (%d)` bekommst Du dies:

Nirvana (1)

Scorn (2)

Napalm Death (3)

Defacation (4)

Neck (5)

JR Ewing (6)

Fall (7)

Meathook Seed (8)

The Doors (9)

Led Zeppelin (10)

Convert tabs to spaces - pass auf, dass Du vorher die tab-size in die famose Texteingabe eingibst. Der Wert eines tab-size ist die Nummer von Zeichen für einen tab.

Convert spaces to tabs - und nun der famose Texteingabe-Inhalt = wie viel Leerzeichen sind durch tabs zu ersetzen.

Reverse - dreht einen Text um. Aus roxton wird notxor.

Antispam e-mail - macht einen markierten mailto-link möglicherweise unsichtbar für die verdammten spammer e-mail 'Erntemaschinen'. Die Adresse wird in integer-coded entities umgewandelt. Aus mail@mustermail.de wird &#109;&#97;&#105;&#108;&#64;&#109;&#117;&#115;&#116;&#101;&#114;&#109;&#97;&#105;&#108;&#46;&#100;&#101; . Dies wird hoffentlich nicht von den Spam-Erntemaschinen erkannt.

Remove blank lines - entfernt Leerzeilen aus dem markierten Text. Ob es nützlich ist ... das muss jeder für sich entscheiden.

Remove duplicates - entfernt doppelte Zeilen.

Apply a template to each line - und wieder nutzen wir den famosen Texteintrag. Zum Beispiel: Du möchtest den br-tag an das Ende jeder Zeile des markierten Textes einfügen. Du gibst ein:

`%s<br>`

und betätigst die Funktion und am Ende jeder Zeile wird ein br-tag hinzugefügt. Ein anderer Fall - jede Zeile in ein Paar li-tags einbinden:

`<li>%s<li>`

und jede Zeile ist in li-tags eingebunden.

## 9.17. Sort

Sort lines - sortiert Zeilen in alphabetischer Order.

Reverse order of lines - ein Beispiel:

Line1

Line2

Line3

wird zu:

Line3

Line2

Line1

## 9.18. Filters

Extract at the each line - extrahiert Text zwischen zwei Begrenzungen auf jeder Zeile. Der erste und der zweite Separator muss in den famosen Texteintrag geschrieben werden, in diesem Format: first_delimiter~last_delimiter. Ein Beispiel:

`g_print ("hello\n");`

`g_print ("world\n");`

Wir geben "~" (double quotes, tilde, double quotes) in den famosen Texteintrag ein, markieren den Text und betätigen die Funktion - danach haben wir folgendes:

`hello\n`

`world\n`

Extract at the each line before a separator und Extract at the each line after a separator - ein custom-Fall der vorherigen Funktion. Aber hier ist nur ein Begrenzer im famosen Texteintrag. Zum Beispiel, um alle Kommentare in einem C++ Text zu entfernen, kannst Du // als Begrenzer-Wert eingeben und die Funktion Extract at the each line before a separator.

Kill lines with a phrase. Markiere einen Text. Gib eine Phrase in den famosen Texteintrag ein. Betätige diese Funktion. Resultat: Sämtliche Zeilen, in der die Phrase enthalten ist, wurden gelöscht.

Kill all lines except with a phrase. Markiere einen Text. Gib eine Phrase in den famosen Texteintrag ein. Betätige diese Funktion. Resultat: Sämtliche Zeilen, in der die Phrase nicht enthalten ist, wurden gelöscht.

Kill all lines < N characters - Löscht alle Zeilen in der Auswahl, kleiner als N (Wert in der famosen Texteingabe).

## 9.19. Morse code

Encode to Morse code EN. Hiermit kannst Du englischen Text in Morse-code umwandeln - Beispiel:

Drum and bass

wird zu

-.. .-. ..- -- .- -. -.. -... .- ... ...

Beachte: TEA macht ein Leerzeichen zwischen zwei Morse-codes und zwei Leerzeichen zwischen Worte (auch im Morse-code).

Decode from Morse code EN. Die umgekehrte Funktion zur vorherigen Funktion.

# 10. Run

Dieses Menu ist dazu bestimmt, die aktuelle Datei mit einem externen Programm auszuführen, z.B. mit einem Browser. Um Programme zu dem Menu hinzuzufügen, gehe zu File->Manage config files->External programs list config, editiere diese Datei und speichere sie. Diese Konfigurationsdatei hat das simple ini-like Format.

Ein Beispiel für einen Browser-Start: konqueror=konqueror %s &. %s repräsentiert den Dateinamen. Benutze es an der richtigen Stelle.

# 11. Nav[igation]

Save the position - speichert die Cursor-Position. Dann kannst Du zu dieser Position springen, wenn Du den Jump to the saved position Menupunkt nutzt.

Links - willst Du die Namen von lokalen Dateien, die in dem aktuellen Dokument verlinkt sind, dann bekommst Du sie über Search->Scan for local links. Von diesem Menu kannst Du zu dem in TEA geöffneten Dokument switchen.

Go to recent tab - switcht zu dem zuletzt geöffneten Tag.

Focus the text/Focus the Famous text entry - nützlich, wenn Du hotkeys zuweisen willst, für das Switchen zwischen Text-Tab und dem famosen Texteintrag.

Go to the block start/end - tue es. Es ist für C-ähnliche Sprachen und Python. Es bewegt den Cursor zum Start oder Ende des aktuellen Blocks. ({ und } Zeichen). Ich denke, es ist nützlich.

Open at cursor - wenn Du einen Link zu einer lokalen Datei in Deinem HTML-Dokument hast, dann kannst Du sie mit dieser Funktion öffnen. Positioniere den Cursor auf den Link und nutze diese Funktion (oder F2). Positionierst Du auf ein Image-file, wird es in dem built-in Viewer geöffnet (Scaling wird unterstützt). Du kannst aber auch einen einen externen Viewer nutzen - setze in in Preferences->Commands. Zum Beispiel - display %s&. In diesem Fall: Preferences->Switches->Use external image viewer.

Wenn die Datei kein Image ist, Open at cursor öffnet diese dann in TEA als Textdatei, mit der Kodierung des aktuellen Datei. Die so geöffnete Datei wird damit die aktuelle Datei.

Eine letzte Bemerkung zu dieser Funktion. Du kannst auch einen Dateinamen im Text auswählen und versuchen, sie zu öffnen. Es ist nützlich, wenn der Dateiname nicht mit Quotes eingefasst ist.

Edit at cursor - das selbe wie der vorstehend beschriebene Punkt, aber es öffnet die Datei in einem externen Editor. Unter Preferences->Commands kannst Du bestimmen, welcher dies sein soll. Beispiel: gimp %s&.

Nav->Browse the symbol's declaration- springt zu der Deklaration der C/C++-Funktion, auf die der Cursor positioniert ist. Das erfordert tags-file von ctags. Wenn TEA dieses file nicht findet, dann führt TEA ctags aus, um das tags-file zu erzeugen. Andernfalls nimmt TEA das vorhandene tags-file, wenn vorhanden. Du kannst es erneuern mit IDE->Refresh tags with ctags.

# 12. View (Ansicht)

Highlighting mode - (nur für TEA in der *legacy mode* Version) - von diesem Submenu aus kannst Du den lokalen Highlighting mode auswählen, für das aktuelle Dokument.

Hide highlighting - (nur für TEA in der *legacy mode* Version) - nimmt den lokalen Highlighting mode für das aktuelle Dokument weg und auch die Rechtschreibprüfungsmarkierungen.

Toggle images visibility - zeigt oder verbirgt images nahe den IMG/SRC-tags direkt im Text. Zur Zeit nur für HTML und XHTML Dateien.

Refresh highlighting (nur für TEA in der *legacy mode* Version) - TEA *legacy mode* hat eine sehr hässliche Art und Weise, den highlighting mode anzuwenden. Mit dieser Funktion kannst Du highlighting manuell updaten. Mach es so häufig wie möglich.

Word wrap - brauchst Du eine Erklärung?

Line numbers - the song remains the same ....

Preview with Mplayer - dies steht in Beziehung zum Kapitel How to edit and preview SRT-subtitles.

Imageplane - öffnet den thumbnailed image Browser. Damit kannst Du images mit dem built-in image viewer ansehen oder image-tags/elements in das aktuelle Dokument einfügen. Um das image im Vollbild-Modus zu sehen, führe einen Doppelclick auf die thumbnail aus. Um image-tags einzufügen, gehe zur Insert tags-Option und dann führe einen Doppelclick auf den thumbnail aus. Um diese Option by default zu setzen, gehe zu Preferences->Switchers->Imageplane insert tags by default.

By the way - Imageplane nimmt die thumbnails aus $HOME/.thumbnails/normal. Dieser Platz wird von der Free Desktop specification unterstützt. Einige Programme (z.B. GQview) nimmt diesen Ordner, um die thumbnails zu speichern. TEA selbst speichert keine thumbnails, liest sie nur.

Einige Worte zum Imageviewer. Er hat ein selbsterklärendes context-menu (Rechtsclick) für verschiedene image-Manipulationen. (mit keyboard-shortcuts). Mac OS-user können ein normales Menu nutzen - anstatt dem context-menu.

Encoding - nutze dieses Menu, um die aktuelle Datei erneut mit einer anderen Kodierung zu laden. Der aktuelle Dokumenteninhalt wird ersetzt mit dem Dateiinhalt von der Platte.

# 13. Preferencen (Einstellungen), ich verstehe ...

## 13.1. Intro

Ab TEA 3.0 gibt es das File->Preferences-Fenster - kein text-config editieren mehr. Nutze das grafische Interface - es ist keine Ketzerei. Nun kann ich mehr Variablen einfügen, die selbsterklärende Buttons im Preferencen-Fenster haben.

Tabbed-Seiten und zwei grosse Buttons findest Du dort. Die Buttons: Close und Save and apply. Close schließt das Preferencen-Fenster, mehr nicht. Save and apply sichert alle Optionen und startet die config gleichzeitig neu. TEA speichert die main config nicht beim Schließen! TEA speichert nur, wenn Du Save and apply betätigst.

Nun einige Informationen zur Preferencen-Sektion.

## 13.2. Switches

Verschiedenes - da sind:

Show the common close button - zeigt oder verbirgt den Button (nahe dem Hauptmenu), welches das aktuelle Dokument schließt.

Restore the last session on start - wenn diese Option aktiviert ist, speichert TEA die Session und stellt sie beim nächsten Start wieder her.

Save all on the abnormal termination (SIGTERM, SIGHUP, SIGABRT, SIGINT) - speichert alle aktuell offenen Dateien, wenn die Kiste abschmiert. Aber: wenn die Datei beschädigt ist, wird sie in diesem beschädigten Zustand gespeichert. Default: aus. Ich denke, dass es besser ist, das Crashfile zu nehmen: Save the crashfile on terminate. Das ist der vorherigen Option ähnlich, arbeitet aber nur mit einer einzelnen Datei (der aktuellen) und der Text wird in einer speziellen Datei gespeichert - - dem crash-file, die im TEA-Konfigurationsordner zu finden ist. Du kannst sie später öffnen mit From->Manage utility files->Open the crashfile.

Determine a scripts highlighting by the content - das ist für das Syntax-Highlighting. Schalte es an, wenn Du Bash-Scripts ohne sh-extension auto-highlighten willst.

Use snippets - Snippets funktionieren, wenn diese Option aktiviert ist. Wofür ist das? Manchmal findest Du, dass TEA Snippets zu langsam scannt und Du möchtest das deaktivieren.

Show line numbers - zeigt sie oder zeigt sie nicht.

Word wrap - wrap oder nicht wrap - "yes" ist default.

Scan for links on file open - Wenn dies "On" ist, dann scannt TEA lokale Links automatisch. "Off" ist default.

Do backup - Check dies, wenn Du möchtest, dass TEA ein backup macht beim Datei-Speichern.

## 13.3. Encoding

Hier kannst Du die Autodetection-Kodierung aktivieren und die Charsets, die Du beim Autodetect erkannt haben willst. Für Einzelheiten, wie TEA mit Charsets umgeht, lies das kapitel Wie geht TEA mit Zeichensätzen um.

## 13.4. Functions

The Format of the Color function - dies wirkt als Resultat der Markup->Color-Funktion. Nutze das @color-macro, um den Farbwert zu definieren und das @text-macro für das Ersetzen von ausgewähltem Text.

## 13.5. Interface

Hier kannst Du die Fensterhöhe und - weite des Speichern/Öffnen-Fensters in Prozent festlegen und die Show the full path in the window caption, wenn Du den Datei-Namen in dem Fenstertitel sehen willst.

Show the common close button - zeigt oder verbirgt den Close-Button, welches das aktuelle Dokument schliesst.

## 13.6. Editor

Smart Home/End - wenn aktiv, bewegt sich der Cursor zum Paragraphen-Start/Ende.

Tab size in spaces - definiert die default Tab-Größe mit dem Maß von zeichen: 3 Zeichen=3 Leerstellen.

Enable the autosaving - ja, das ist es. Aber Du musst den Autosaving interval definieren - in Minuten. Änderungen kommen nach einem Neustart von TEA zur Anwendung.

## 13.7. Browsers

Hier kannst Du die default-Werte für die Browser ändern. Mit der Option Browser for the manual kannst Du definieren, mit welchem Browser Du das TEA-Manual lesen willst. Zusätzlich solltest Du aber Use this browser aktivieren.

By the way, wenn Du keinen Brwoser definierst, wird sich TEA einen der installierten auswählen.

## 13.8. Paths

Default file saving directory und Use default saving directory. Hier kanst Du einstellen, in welche Ordner TEA Dateien speichert (Speichern als) oder bei Open sucht.

**Add this extension to the file which is *Saving as* **- nutze diese Option, wenn Du eine default-Option für die Dateiendung bei "Speichern als" setzen willst, sofern Du nicht jeweils eine Endung manuell einsetzen willst.

## 13.9. Maintenance

Put the launcher to the desktop/Remove the launcher from the desktop - TEA unterstützt einige FreeDesctop-Spezifikationen und wenn Deine Desktopsumgebung es zulässt, kannst Du einen TEA-Starter hinzufügen oder entfernen.

# 14. Was ist Kwas?

Kwas wurde als Ersatz für für das Standard-Datei öffnen-Fenster entwickelt - also, erwarte nicht zuviel davon. Du kannst Kwas in mehreren Fenstern öffnen, kannst durch die Ordner navigieren und kannst Dateien öffnen und Images ansehen. Künftig wird diese Liste erweitert, aber z.zt. ist es alles.

## 14.1. Actions

Von hier aus kannst Du:

Refresh Kwas - updated die Datei-Liste. Kwas macht das nicht automatisch.

Get file info - zeigt die Dateiinformation zur markierten Datei. Sieh ins Logmemo. TEA nutzt das Standard-File-Utility dafür.

Run with ... - führt die markierte Datei mit dem definierten Programm aus. Tippe das Kommando in den famosen Texteintrag - nur den Programmnamen: z.B. opera oder gimp.

Jetzt spiele: Scorn - Anamnesis - Rarities 1994-1997 - maker of Angels

## 14.2. Ins to editor

Da ist auch ein Menu Ins to editor:

Insert image - fügt das markierte Image als image tag/element in den aktuellen Text ein.

Inser link - fügt die markierte Datei als HREF-tag in das aktuelle Dokument ein.

# 15. Command line options

--crapbook - startet TEA mit einem geöffneten Notizbuch.

--charset=charset_name - setzt den Zeichensatz für die zu öffnende Datei. Zum Beispiel: Du möchtest die Datei1 mit dem CP125-Charset öffnen und Datei2 mit UTF-8 - dann gibst Du ein: tea --charset=cp125 Datei1 --charset=utf-8 Datei2.

# 16. Über den Autor

Name: Peter Semiletov, Nickname: Roxton (reverse XOR und NOT Operatoren); geboren in Kiev (USSR) 1977. Arbeitet z.Zt.als Journalist und schreibt meistens über Freie Software/Open source und digitales Sound-/Video-processing. Nebenbei singt er ab und zu in einer Underground Punk/grindcore Band, schreibt Novellen und Stories, macht Synthesizer-Musik und spielt Gitarre. Ausserdem ist er Drummer in der Punk/Folk Band Kakayato (dies kann mit "jemand" übersetzt werden). Er ist Vegetarier (aus ethischen Gründen) und Atheist. Seine Homesite: http://www.roxton.kiev.ua

Seine Vorlieben (in chaotischer Aufzählung):

- Literatur: Russische realistische Klassiker (Sholohov, Shedrin, Tynyanov, Shookshin, Andreev etc.)

- Musik: The Pixies, Can, Nirvana, Scorn, Guano Apes, Tuxedomoon, Modest Musorgsky, Sergey Prokofiev, Bach, Brahms, Napalm Death, Fall, Juno Reactor und weitere.

- Essen: fry potato und Cola

- Filme: Sowjetische Filme (Parajanov, Bondarchuk, Kalasatov, Danelia, Row, Shookshin, Churay, Ptooshko, Gabriadze, Michaeljan), alte Horror/Zombie Filme, Filme von Lynch, Kubrick, McGigan, Gilliam, Kurosava, Kitano, Imoe, Farelly brothers, Coscarelly, Costner, Coen brothers, Buster Keaton, Fatty Arbuckle, etc.

- OS: Mandriva

- Mail client: Claws mail

- Spreadsheet: Gnumeric

- Desktop: KDE

- Media players: Amarok, Audacious

- IDE: KDevelop

- Spiele: Fallout, Baldur's Gate, Quest for Glory, Oblivion, Mortal Kombat, Resident Evil, Blood, Prehistorik 2, alte Spiele für NES (Famicon) und SEGA Genesis/Megadrive; Spiele für Spectrum.

- Browsers: Firefox

- File managers: mc, Konqueror

- Gitarren: relativ billiger Stratocaster-Klone (made in Taiwan)

- Mediators: Fender.73 M (für die elektrische Gitarre), Fender .88 M (für die akustische)

# 17. Appendix: Ressourcen

- TEA Homepage (http://tea-editor.sourceforge.net)

- Live Journal TEA Community (http://www.livejournal.com/userinfo.bml?user=tea4linux)

- TEA newsletter: - für subscribe: sende eine leere e-mail an tea-announce-subscribe@linux.kiev.ua (mailto:tea-announce-subscribe@linux.kiev.ua)

- Peter Semiletov's Homepage (in Russischer Sprache) (http://www.roxton.kiev.ua)