man(1)

NAME
chr - chr ist ein terminal-basierter Editor

SYNOPSIS
Usage: chr [options] [[+line[,char]] file …] [[+/searchword] file …] [/directory …]

Options:
  -h, --help Displays help on commandline
                        options.
  --help-all Displays help including Qt
                        specific options.
  -v, --version Displays version
                        information.
  -l, --line-number The line numbers are
                        displayed
  -b, --big-file Open bigger files than 100MB
  -w, --wrap-lines <WordWrap|WrapAnywhere|NoWrap> Wrap log lines (NoWrap
                        Default)
  --attributesfile <config> Safe file for attributes,
                        default ~/.cache/chr/chr.json
  -c, --config <config> Load customized config file.
                        The default if it exist is
                        ~/.config/chr
  --syntax-highlighting-theme <name> Name of
                        syntax-highlighting-theme,
                        you can list installed themes
                        with: kate-syntax-highlighter
                        --list-themes
  --disable-syntax disable syntax highlighting
  -s, --size <N|auto> Size <N> in lines or <auto>
                        for Automatic detection of
                        the size of the lines with
                        which the editor is displayed
                        on the console.

Arguments:
  [[+line[,char]] file …] Optional is the line number
                        and position. Several files
                        can be opened in multiple
                        windows.
  [[+/searchword] file …] A search word can be set.
  [/directory …] Or a directory can be
                        specified to search in the
                        open dialog.

DESCRIPTION
chr ist ein terminal-basierter Texteditor.

Die Tastenkombinationen ähneln denen der Standard-Editoren in Gnome, KDE und anderen Desktopumgebungen. Dies soll die wechselnde Verwendung von GUI und Terminal Editoren erleichtern.

Das Erscheinungsbild und Verhalten ist eine Kombination aus modernen GUI-Editoren und PC-Textmodus-Editoren der späten 90er Jahre (z. B. Turbo Vision oder edit.com), angepasst an terminalbasierte Arbeitsabläufe.

Schnellstart

Die wichtigen Operationen sind im Menü aufrufbar. Das Menü kann mit F10 oder mit Alt zusammen mit dem hervorgehobenen Buchstaben des Menüpunktes geöffnet werden (z. B. Alt + f).

In Dialogen wird mit Tab zwischen den Elementen navigiert und F6 navigiert zwischen Fenster/Dialogen.

Text kann in den meisten Terminals mit Shift + Pfeiltaste markiert werden. Zum Kopieren wird Ctrl + c verwendet. Einfügen mit Ctrl + v.

Änderungen können mit Ctrl + s gespeichert werden und der Editor mit Ctrl + q verlassen werden.

SHORT CUTS
Shift + Cursor
  Markiert Text

Ctrl + a
  Markiert den gesamten Text

Ctrl + c / Ctrl + Insert
  Kopiert den markierten Text in den Zwischenablage

Ctrl + d
  Löscht die aktuelle Zeile

Ctrl + e, hoch/runter/links/rechts
  Wechselt das aktive Fenster. Mit den Pfeiltasten gibt man die Richtung des nächsten aktiven Fensters an

Ctrl + e, Ctrl + hoch/runter/links/rechts
  Fenstergröße verändern

Ctrl + e, q
  Schließt das aktive dokument

Ctrl + f
  Öffnet den Search-Dialog für die Suche

Ctrl + Backspace
  Löscht ein Wort (links vom Cursor)

Ctrl + r
  Öffnet den Replace-Dialog zum Suchen und Ersetzen

Ctrl + n
  Erstellt ein neues Fenster mit einem leeren Textdokument

Ctrl + m
  Erstellt einen Line Marker am linken Zeilenrand, um Zeilen wiederzufinden. (Ctrl + , oder Ctrl + .)
  Diese Tastenkombination funktioniert nicht mit allen Terminals.

Ctrl + q
  Programm verlassen

Ctrl + Shift + q
  Schließt das aktive Dokument (die Tastenkombination funktioniert aber nicht in vte, nutze dafür Ctrl + e, q)

Ctrl + s
  Speichern oder Speichern unter...

Ctrl + v / Shift + Insert
  Fügt den Inhalt der Zwischenablage an der Cursorposition ein

Ctrl + x / Shift + Delete
  Schneidet den markierten Text aus und verschiebt ihn in die Zwischenablage

Ctrl + y
  Stellt eine rückgängig gemachte Aktion wieder her

Ctrl + z
  Macht eine Aktion rückgängig

Ctrl + Shift + up
  Verschiebt die aktuelle Auswahl oder Zeile nach oben

Ctrl + Shift + down
  Verschiebt die aktuelle Auswahl oder Zeile nach unten

Ctrl + Left
  Springt ein Wort nach links

Ctrl + Shift + Left
  Markiert ein Wort nach links

Ctrl + Right
  Springt ein Wort nach rechts

Ctrl + Shift Right
  Markiert ein Wort nach rechts

Alt + -
  Öffnet das Fenster-Menü

Alt + Shift + hoch/runter/links/rechts
  Markiert den Text in Blöcken. Das Einfügen der Zwischenablage dupliziert den Text je Zeile. Stimmt beim Einfügen die Anzahl von Zeilen in der Zwischenablage mit der Anzahl der markierten Zeilen überein, werden die Zeilen aus der Zwischenablage auf die markierten Zeilen verteilt.

Alt + Shift + S
  Markierte Zeilen werden alphabetisch (lexikografisch nach Codepoint) sortiert

Alt + x
  Öffnet eine Kommandozeile. Für weitere Hilfe "help" eintippen

Tab / Shift + Tab
  Rückt einen markierten Block um einen Tabulator ein oder entfernt diesen

F3 / Shift + F3
  Springt zum nächsten oder vorherigen Suchwort

F4
  Wechselt den Markierungsmodus, um das Markieren in Terminals, in denen Markierung mit Shift + Pfeiltasten nicht funktioniert, zu ermöglichen

F6 / Shift + F6
  Wechselt das aktive Fenster, mit Shift in umgekehrter Reihenfolge

Esc
  Schließt einen aktiven Dialog, ein Menü oder beendet eine Aktion

Menu

File

  New
Erstellt ein neues Fenster mit einem leeren Textdokument.

  Open
Öffnet einen Dateidialog, um eine zu öffnende Datei auszuwählen.

  Save
Speichert den aktuellen Stand der Datei. Sollte der Speicherpfad noch nicht angegeben sein, wird "Save as..." ausgeführt.

  Save as...
Öffnet einen Dateidialog, um einen Speicherort aktuellen Stand des Textdokuments auszuwählen und speichert den aktuellen Stand.

  Reload
Lädt die aktuelle Datei neu. Dabei werden alle Änderungen verworfen.

  Close
Schließt das aktive Fenster.

  Quit
Beendet den Editor. Sollte noch ein ungespeichertes Textdokument geöffnet sein, wird zuvor der Speichern-Dialog aufgerufen.

Edit

  Cut, Copy, Paste, Select all
Mit den Pfeiltasten und dem gleichzeitigen gedrückt halten der Shifttaste kann Text markiert werden. Der gesamte Text kann mit Select all markiert werden. Dieser markierte Text kann dann mittels Copy kopiert oder mit Cut ausgeschnitten werden. Mit Paste kann dieser Text an der aktuellen Cursorposition wieder eingefügt werden. Befindet sich vor dem Kopieren (oder Ausscheiden) Text in der Zwischenablage, so wird dieser ersetzt.

Diese Funktionen verwenden eine interne Zwischenablage, die unterschiedlichen Inhalt enthält als die ggf. im Terminal als Copy und Paste Befehle verwendete Zwischenablage, da der Editor die System-Zwischenablage nicht zugreifen kann.

  Delete Line
Die gesamte Zeile wird gelöscht.

  Select Mode
Wechselt den Markierungsmodus, um das Markieren in Terminals, in denen Markierung mit Shift + Pfeiltasten nicht funktioniert, zu ermöglichen.

  Undo, Redo
Mit Undo oder Ctrl + z können Eingaben rückgängig gemacht werden. Mit Redo oder Ctrl + y können rückgängig gemachte Änderungen wiederhergestellt werden.

  Search
Mit Search oder Ctrl + f wird der Suchen-Dialog geöffnet. Unter "Find" gibt man ein Suchwort ein. Über die Optionen kann man die Suche verfeinern. Ist Livesuche aktiviert, so wird während der Eingabe des Suchbegriffs automatisch das erste passende Ergebnis ausgewählt. Ist das Textdokument aktiv, kann mit F3 zur nächste bzw. mit Shift + F3 zur vorherigen Fundstelle gesprungen werden.

  Search Next
Springt zur nächsten Fundstelle des aktuellen Suchbegriffs.

  Search Previous
Springt zur vorherigen Fundstelle des aktuellen Suchbegriffs.

  Replace
Mit Replace oder Ctrl + r wird der "Ersetzen"-Dialog geöffnet. Im Feld "Find" wird das Suchwort angegeben. Im Feld "Replace" wird das Wort angegeben, das eingefügt werden soll. Mit "Next" wird die nächste Fundstelle gesucht. Mit "Replace" wird das Suchwort ersetzt. Mit "All" werden alle Fundstellen ersetzt.

  Insert Character...
Öffnet einen Dialog, in dem ein Zeichencode (Unicode codepoint) eines einzufügenden Sonderzeichens eingegeben werden kann.

  Goto
Öffnet einen Dialog, um zu einer Zeile zu springen.

  Marker
Erstellt am linken Rand einen Line Marker, um Zeilen bei der Durchsicht schnell wiederzufinden. Mithilfe von Ctrl + , oder Ctrl + . wird an den jeweils nächsten Marker gesprungen. Die Liste von Markern wird beim Beenden in chr.json gespeichert, um sie, beim Öffnen der Datei, wiederherzustellen.

  Sort Selected Lines
Markierte Zeilen werden alphabetisch (lexikografisch nach Codepoint) sortiert.

Options

  Tab settings
Öffnet den Tab-Settings-Dialog. Hier können die Einstellungen für die Einrückung vorgenommen werden. Es kann zwischen Tab (\t) und Leerzeichen gewählt werden. Zudem kann die Breite der Einrückungen festgelegt werden. Die Standardeinstellungen können auch in der ~/.config/chr Datei vorgenommen werden. Hier kann: "tab_size=8" oder "tab=false" für Leerzeichen angegeben werden.

  Line Number
Schaltet die Darstellung der Zeilennummern auf der linken Seite des Editors ein. Die Standardeinstellungen können auch in der ~/.config/chr Datei vorgenommen werden. Hier kann: "line_number=true" angegeben werden.

  Formatting
Im Formatting-Dialog können "Formatting Characters", "Color Tabs" und "Color Spacs at end of line" ein und ausgestaltet werden.

"Formatting characters" kennzeichnen Leerzeichen mit einem Punkt: "·", Zeilenenden (\n) durch ein "¶" und das Ende der Datei mit: "♦".

Mit "Color Tabs" werden Tabs farblich hervorgehoben. Hierbei wird die Tabgrenze dunkler dargestellt.

Mit "Color Spacs at end of line" werden Leerzeichen am Ende der Zeile rot markiert.

In der Konfigurationsdatei: ~/.config/chr kann mit der Option "formatting_characters=true", "color_tabs=true", "color_space_end=true" das Verhalten eingestellt werden.

  Wrap long lines
Hier kann eingestellt werden, ob Zeilen, die breiter als das Fenster sind, abgeschnitten oder umgebrochen dargestellt werden. Es kann an der Wortgrenze oder am Zeilenende hart umgebrochen werden. Diese Verhalten kann über die Option "wrap_lines=WordWrap" oder "wrap_lines=WrapAnywhere" in der ~/.config/chr Datei beeinflusst werden.

Zudem kann mit der Option: "Display Right Margin at Column" ein numerischer Wert angegeben werden, ab dem die Hintergrundfarbe dunkel gefärbt wird. Dieser Wert lest sich auch mit der Konfigurationsoption: "right_margin_hint=80" in der ~/.config/chr einstellen.

  Stop Input Pipe
Einlesen von einer pipe wird unterbrochen. Der Standard-Eingabedatei-Deskriptor wird geschlossen.

  Highlight Brackets
Wenn aktiv und der Cursor auf einer Klammer steht, wird die Klammer an der Cursorposition und die zugehörige andere Klammer hervorgehoben. Mit der Option "highlight_bracket=false" kann dieses Verhalten in der ~/.config/chr eingestellt werden. Unterstützte Klammertypen sind: [{(<>)}].

  Syntax Highlighting
Wenn der Editor mit dem Feature "SyntaxHighlighting" compiliert wurden, steht das Syntax Highlighting generell zur Verfügung. Die Sprache wird beim Öffnen einer Datei automatisch erkannt und in der Statusbar angezeigt. Bei Bedarf kann diese aber auch über das Syntax Highlighting Dialog ein uns aus bzw. angepasst werden. In diesem Dialog kann das Syntax Highlighting auch deaktiviert werden.

Über die command line kann "--syntax-highlighting-theme" kann der Theme angepasst werden. Der Editor bringt bereits die Themes "chr-bluebg" und "chr-blackbg" mit. Bei Bedarf kann ein Theme aus der Liste, die mit "kate-syntax-highlighter --list-themes" anzeigbar ist, benutzt werden. Mit der Option "syntax_highlighting_theme=chr-bluebg" kann der Theme in der ~/.config/chr eingestellt werden.

Über die command line kann mittels "--disable-syntax" das Syntax Highlighting beim Starten des Editors ausgeschaltet werden. Mit der Option "disable_syntax=true" kann der Theme in der ~/.config/chr eingestellt werden.

  Theme
Es öffnet den Theme-Dialog zum auswählen eines Theme. Es steht der "Classic" (Blau) oder der "Dark" (schwarz weiß) Theme zur Verfügung. Mit der Option "theme=classic" oder "theme=dark", kann dies in der ~/.config/chr eingestellt werden.

Window

  Next, Previous
Wechselt das aktive Fenster, mit Shift in umgekehrter Reihenfolge. (Siehe F6)

  Tile Vertically, Horizontally, Fullscreen
Wählt aus, wie mehrere offene Textdokumente angezeigt werden.

Vertikal und Horizontal teilen den verfügbaren Platz automatisch auf die Dokumentenfenster auf. Wird Fullscreen gewählt, ist jeweils nur ein Dokumentenfenster gleichzeitig sichtbar. (Siehe F6)

Konfigurationsdatei
Der Editor lädt (falls vorhanden) eine Konfigurationsdatei aus ~/.config/chr. (Wenn die Environmentvariable $XDG_CONFIG_HOME gesetzt ist, dann aus $XDG_CONFIG_HOME/chr)

Zusätzlich zu den oben dokumentieren Optionen sind folgende Optionen verfügbar:

  eat_space_before_tabs

Diese Option ist nur aktiv, wenn tab=false gesetzt ist.

Ist diese Option aktiv und wird die Tab-Taste gedrückt, während der Cursor in der Einrückung am Anfang einer Zeile steht, so wird die Einrückung auf die nächste Tabposition erweitert.

  attributes_file

Gibt den Pfad der Datei an, in der die Cursor- und Scrollposition in der Vergangenheit geöffneter Dateien gespeichert wird.

Default config
Es gibt eine default Config (~/.config/chr) in der folgenden Optionen gesetzt werden können.
      attributes_file="/home/user/.cache/chr/chr.json"
      color_space_end=false
      color_tabs=false
      disable_syntax=false
      eat_space_before_tabs=true
      formatting_characters=false
      highlight_bracket=true
      line_number=false
      logfile=""
      right_margin_hint=0
      syntax_highlighting_theme="chr-bluebg"
      tab=false
      tab_size=4
      theme="classic"
      wrap_lines="NoWrap"

FILES
~/.config/chr
  Your personal chr initializations.

~/.cache/chr/chr.json
  History über die geänderten Dateien. Hierin werden Positionen von Cursor gespeichert.

BUGS
Fehler in dieser Software können über den Bugtracker auf https://github.com/istoph/editor
 gemeldet werden.

AUTHOR
Christoph Hüffelmann <chr@istoph.de> Martin Hostettler <textshell@uchuujin.de>