LESSKEY(1)

BEZEICHNUNG
lesskey - Tastenbelegungen für Less anpassen

ÜBERSICHT (veraltet)
lesskey [-o Ausgabe] -- Eingabe
lesskey [--output=Ausgabe] -- Eingabe

lesskey -V
lesskey --version

GÜLTIGKEITSBEREICH
Dieses Dokument beschreibt das Format der lesskey-Quelldatei, wie sie von less Version 582 und neuer verwendet wird. In früheren Versionen von less wurde ein separates Programm namens lesskey verwendet, um die lesskey-Quelldatei in ein von less verstandenes Format zu kompilieren. Dieser Kompilierungsschritt ist nicht mehr notwendig; daher ist das Programm lesskey als veraltet anzusehen, obwohl das Dateiformat noch von less selbst unterstützt wird.

BESCHREIBUNG
Eine lesskey-Datei enthält eine Reihe von Tastenzuordnungen und Umgebungsvariablen, die in nachfolgenden Aufrufen von less verwendet werden sollen.

DATEIFORMAT
Die Eingabedatei besteht aus einem oder mehreren Abschnitten. Jeder Abschnitt beginnt mit einer Zeile, die dessen Typ bezeichnet. Mögliche Abschnitte sind:

#command
    passt die Tastenzuordnungen für Befehle an.

#line-edit
    passt die Tastenzuordnungen für die Zeilenbearbeitung an.

#env
    definiert Umgebungsvariablen.

Leere Zeilen werden ignoriert. Sämtlicher Text, der nach einer nicht maskierten Raute (#) in einer Zeile folgt, wird ignoriert außer wie nachfolgend angegeben.

COMMAND-Abschnitt
Der »command«-Abschnitt beginnt mit der Zeile

#command

Falls der »command«-Abschnitt der erste Abschnitt in der Datei ist, kann diese Zeile weggelassen werden. Der »command«-Abschnitt besteht aus Zeilen der folgenden Form:

  Zeichenkette <Leerraum> Aktion <Leerraum> [Extra-Zeichenkette] <Zeilenvorschub>

Der Leerraum kann aus einer beliebigen Folge von einem oder mehreren Leerzeichen und/oder Tabulatoren bestehen. Die Zeichenkette bezeichnet die Befehlstaste(n), welche die Aktion aufrufen. Die Zeichenkette kann eine einzelne Befehlstaste oder eine Abfolge von bis zu 15 Tasten sein. Die Aktion ist der Name der Less-Aktion aus der nachfolgenden Liste im Abschnitt BEISPIEL. Die Zeichen in der Zeichenkette können wortwörtlich erscheinen oder es kann ein Zirkumflex (^) vorangestellt werden, um eine Steuertaste zu kennzeichnen. Ein Rückschrägstrich, dem eine bis drei Ziffern in oktaler Notation folgen, können zum Angeben des oktalen Werts eines Zeichens verwendet werden. Ein Rückschrägstrich, dem verschiedene Zeichen folgen, geben die Eingabezeichen wie folgt an:
    \b | RÜCKTASTE | (0x08)
    \e | ESCAPE | (0x1B)
    \n | ZEILENVORSCHUB | (0x0A)
    \r | EINGABETASTE | (0x0D)
    \t | TABULATOR | (0x09)

\k, gefolgt von einem oder zwei Zeichen, stellt das oder die Zeichen dar, die erzeugt werden sollen, wenn eine dieser Tasten gedrückt wird:
    \kb | RÜCKTASTE (die Rückschritttaste; kann sich von \b unterscheiden)
    \kB | Strg-RÜCKTASTE
    \kd | PFEILTASTE AB
    \kD | SEITE AB
    \ke | END
    \kE | Strg-ENDE
    \kF | Umschalt-ENDE
    \kh | HOME
    \kH | Strg-POS1
    \kI | Umschalt-POS1
    \ki | EINFG
    \kl | PFEILTASTE LINKS
    \kL | Strg-PFEILTASTE LINKS
    \kM | Umschalt-PFEILTASTE LINKS
    \kr | PFEILTASTE RECHTS
    \kR | Strg-PFEILTASTE RECHTS
    \kS | Umschalt-PFEILTASTE RECHTS
    \kt | RÜCKTABULATOR
    \ku | PFEILTASTE AUF
    \kU | SEITE AUF
    \kx | ENTF
    \kX | Strg-ENTF
    \k1 | F1
    \kp1 | untere linke Taste auf dem numerischen Tastenblock
    \kp2 | untere mittlere Taste auf dem numerischen Tastenblock
    \kp3 | untere rechte Taste auf dem numerischen Tastenblock
    \kp4 | mittlere linke Taste auf dem numerischen Tastenblock
    \kp5 | mittlere Taste auf dem numerischen Tastenblock
    \kp6 | mittlere rechte Taste auf dem numerischen Tastenblock
    \kp7 | obere linke Taste auf dem numerischen Tastenblock
    \kp8 | obere mittlere Taste auf dem numerischen Tastenblock
    \kp9 | obere rechte Taste auf dem numerischen Tastenblock
    \kp0 | 0 auf dem numerischen Tastenblock
    \kp* | * auf dem numerischen Tastenblock
    \kp/ | / auf dem numerischen Tastenblock
    \kp- | - auf dem numerischen Tastenblock
    \kp+ | + auf dem numerischen Tastenblock
    \kp. | . auf dem numerischen Tastenblock
    \kp, | , auf dem numerischen Tastenblock

Ein Rückschrägstrich, dem ein anderes Zeichen folgt, zeigt an, dass das Zeichen wortwörtlich genommen werden soll. Den Zeichen Zirkumflex, Leerzeichen, Tabulator, Rautezeichen und dem Rückschrägstrich selbst muss ein Rückschrägstrich vorangestellt werden.

Einer Aktion kann eine »Extra«-Zeichenkette folgen. Wenn ein solcher Befehl ausgelöst wird, während less läuft, wird die Aktion ausgeführt und die Extra-Zeichenkette ausgewertet, so als ob sie in less eingegeben worden wäre. Diese Funktion kann in bestimmten Fällen zur Erweiterung der Funktionalität eines Befehls verwendet werden. Schauen Sie sich die Befehle »{« und »:t« im nachfolgenden Beispiel an. Sie kann auch für die Ausführung von mehr als einem Befehl, wenn eine Taste gedrückt wird, verwendet werden. Wenn sich beispielsweise die folgende Zeile in einer lesskey-Datei befände, würde das Drücken der Taste »B« zuerst die Markierung »b« setzen und dann nach der Zeichenkette »next« suchen:

        B set-mark b/next\n

Die Extra-Zeichenkette hat für die »quit«-Aktion eine besondere Bedeutung: Wenn less beendet wird, dann wird der ASCII-Wert des ersten Zeichens der Extra-Zeichenkette als dessen Exit-Status verwendet.

BEISPIEL
Die folgende Eingabedatei beschreibt die Reihe der standardmäßigen von less(1) verwendeten Befehlstasten. Die Dokumentation zu jedem der Befehle finden Sie in der Handbuchseite less(1) unter der Tastenfolge, welche den Befehl aufruft.

    #command
    \r | forw-line
    \n | forw-line
    e | forw-line
    j | forw-line
    \kd | forw-line
    ^E | forw-line
    ^N | forw-line
    k | back-line
    y | back-line
    ^Y | back-line
    ^K | back-line
    ^P | back-line
    \ku | back-line
    J | forw-line-force
    K | back-line-force
    Y | back-line-force
    d | forw-scroll
    ^D | forw-scroll
    u | back-scroll
    ^U | back-scroll
    \40 | forw-screen
    f | forw-screen
    ^F | forw-screen
    ^V | forw-screen
    \kD | forw-screen
    b | back-screen
    ^B | back-screen
    \ev | back-screen
    \kU | back-screen
    z | forw-window
    w | back-window
    \e\40 | forw-screen-force
    \eb | back-screen-force
    \ej | forw-newline
    \ek | back-newline
    F | forw-forever
    \eF | forw-until-hilite
    \ef | forw-bell-hilite
    R | repaint-flush
    r | repaint
    ^R | repaint
    ^L | repaint
    \eu | undo-hilite
    \eU | clear-search
    g | goto-line
    \kh | goto-line
    \kH | goto-line \e{
    \kI | goto-line \e{
    \ke | goto-end
    \kE | goto-end \e}
    \kF | goto-end \e}
    < | goto-line
    \e< | goto-line
    p | percent
    % | percent
    \e( | left-scroll
    \e) | right-scroll
    \e{ | no-scroll
    \e} | end-scroll
    \kl | left-scroll
    \kr | right-scroll
    \kL | no-scroll
    \kM | no-scroll
    \kR | end-scroll
    \kS | end-scroll
    { | forw-bracket {}
    } | back-bracket {}
    ( | forw-bracket ()
    ) | back-bracket ()
    [ | forw-bracket []
    ] | back-bracket []
    \e^F | forw-bracket
    \e^B | back-bracket
    G | goto-end
    \e> | goto-end
    > | goto-end
    P | goto-pos
    \eG | goto-end-buffered
     | status
    ^G | status
    :f | status
    / | forw-search
    ? | back-search
    \e/ | forw-search *
    \e? | back-search *
    n | repeat-search
    \en | repeat-search-all
    N | reverse-search
    \eN | reverse-search-all
    & | filter
    m | set-mark
    M | set-mark-bottom
    \em | clear-mark
    ' | goto-mark
    ^X^X | goto-mark
    E | examine
    :e | examine
    ^X^V | examine
    :n | next-file
    :p | prev-file
    ^O^N | osc8-forw-search
    ^On | osc8-forw-search
    ^O^P | osc8-back-search
    ^Op | osc8-back-search
    ^O^O | osc8-open
    ^Oo | osc8-open
    ^O^L | osc8-jump
    ^Ol | osc8-jump
    t | next-tag
    T | prev-tag
    :x | index-file
    :d | remove-file
    - | toggle-option
    :t | toggle-option t
    s | toggle-option o
     | ## Verwenden Sie einen langen Optionsnamen, indem Sie
     | ## die zusätzliche Zeichenkette mit EINEM
    ## Bindestrich beginnen lassen; zum Beispiel:
     | ## s toggle-option -log-file\n
     | display-option
    | | pipe
    v | visual
    ! | shell
    # | pshell
    + | firstcmd
    \e[M | mouse
    \e[< | mouse6
    \kp1 | goto-end
    \kp2 | forw-line
    \kp3 | forw-screen
    \kp4 | left-scroll
    \kp6 | right-scroll
    \kp7 | goto-line
    \kp8 | back-line
    \kp9 | back-screen
    \kp0 | noaction 0
    \kp* | noaction *
    \kp/ | noaction /
    \kp- | noaction -
    \kp+ | noaction +
    \kp. | noaction .
    \kp, | noaction ,
    H | help
    h | help
    \k1 | help
    V | version
    0 | digit
    1 | digit
    2 | digit
    3 | digit
    4 | digit
    5 | digit
    6 | digit
    7 | digit
    8 | digit
    9 | digit
    q | quit
    Q | quit
    :q | quit
    :Q | quit
    ZZ | quit

VORRANG
Die von lesskey angegebenen Befehl erhalten Vorrang vor den standardmäßigen Befehlen. Ein standardmäßiger Befehl kann durch einen entsprechenden Eintrag in der Eingabedatei mit der Aktion »invalid« deaktiviert werden. Alternativ können Sie einen Schlüssel, der nichts tun soll, mit der Aktion »noaction« definieren. Dabei ist »noaction« ähnlich wie »invalid«, aber less gibt für einen »invalid«-Befehl einen Warnklang aus, aber nicht für einen »noaction«-Befehl. Zusätzlich können ALLE Standardbefehle durch Hinzufügen dieser Steuerzeile zur Eingabedatei deaktiviert werden:

#stop

Dadurch werden alle Standardbefehle ignoriert. Die #stop-Zeile sollte die letzte Zeile in diesem Abschnitt der Datei sein.

Denken Sie daran, dass #stop gefährlich sein kann. Da sämtliche Standardbefehle deaktiviert werden, müssen Sie genügend Befehle vor der #stop-Zeile angeben, um alle notwendigen Aktionen zu aktivieren. Beispielsweise könnte ein nicht definierter »quit«-Befehl sehr frustierend sein.

ZEILENBEARBEITUNGS-ABSCHNITT
Der Zeilenbearbeitungs-Abschnitt beginnt mit folgender Zeile:

    #line-edit

Dieser Abschnitt gibt neue Tastenbelegungen für die Befehle zur Zeilenbearbeitung an, in ähnlicher Weise, wie Tastenbelegungen für gewöhnliche Befehle im #command-Abschnitt angegeben werden. Der Zeilenbearbeitungs-Abschnitt besteht aus einer Liste von Tasten und Aktionen, jeweils eine pro Zeile wie im nachfolgenden Beispiel.

BEISPIEL
Die folgende Eingabedatei beschreibt den Satz der standardmäßigen von less verwendeten Zeilenbearbeitungstasten:

    #line-edit
    \t | forw-complete
    \17 | back-complete
    \ekt | back-complete
    \e\t | back-complete
    ^L | expand
    ^V | literal
    ^A | literal
    \el | right
    \kr | right
    \eh | left
    \kl | left
    \eb | word-left
    \e\kl | word-left
    \e\kL | word-left
    \ew | word-right
    \e\kr | word-right
    \e\kR | word-right
    \ei | insert
    \ki | insert
    \ex | delete
    \kx | delete
    \eX | word-delete
    \ekx | word-delete
    \kX | word-delete
    \e\b | word-backspace
    \kB | word-backspace
    \e0 | home
    \kh | home
    \e$ | end
    \ke | end
    \ek | up
    \ku | up
    \ej | down
    \kd | down
    ^G | abort
    \kp1 | end
    \kp2 | down
    \kp4 | left
    \kp6 | right
    \kp7 | home
    \kp8 | up
    \kp0 | noaction 0
    \kp* | noaction *
    \kp/ | noaction /
    \kp- | noaction -
    \kp+ | noaction +
    \kp. | noaction .
    \kp, | noaction ,
    \e[M | mouse
    \e[< | mouse6

UMGEBUNGSVARIABLEN FÜR LESS
Der Abschnitt zu den Umgebungsvariablen beginnt mit der Zeile

#env

Dieser Zeile folgt eine Liste zuzuweisender Umgebungsvariablen. Jede Zeile besteht aus dem Namen einer Umgebungsvariable, einem Gleichheitszeichen (=) und dem Wert, welcher der Umgebungsvariable zugewiesen werden soll. Leerräume vor oder nach dem Gleichheitszeichen werden ignoriert. Die auf diese Weise zugewiesenen Variablen sind nur für less sichtbar. Falls eine Variable sowohl in der Systemungebung als auch in der Lesskey-Datei zugewiesen ist, erhält der Wert in der Lesskey-Datei Vorrang.

Falls dem Variablennamen statt einem = ein += folgt, wird die Zeichenkette an den existierenden Wert der Variable angehängt. Dies funktioniert gegenwärtig nur, wenn alle »+=«-Zeilen unmittelbar auf die Ursprungsdefinition der gleichen Variable folgen (mit einer »=«-Zeile), ohne irgendwelche Definitionen anderer Variablen. Diese Anhängung ist nur für Variablen möglich, die bereits in dieser Datei definiert wurden; Anhängen an eine Variable in der Umgebung des Systems ist nicht möglich. Die Zeichenkette wird wortwörtlich angehängt, ohne Hinzunahme von zusätzlichem Leerraum. Falls daher Leerraum gewünscht ist, sollte er zum Ende der vorherigen Zeile hinzugefügt werden. (Er kann nicht zum Anfang der Zeichenkette mit += hinzugefügt werden, da, wie oben erwähnt, Leerzeichen nach dem Gleichheitszeichen ignoriert werden.)

In der Zeichenkette nach dem »=«-Zeichen wird eine Teilzeichenkette der Form ${NAME} durch den Wert der Umgebungsvariablen »NAME« ersetzt. Der Wert der Variablen kann entweder aus der Systemumgebung stammen, einer frühereren Datei lesskey oder einer früherern Definition in der aktuellen Datei lesskey. Einfache Textersetzungen können mittels der Syntax ${NAME/ZEICHENKETTE/ERSATZ} durchgeführt werden. Dies ersetzt alle Vorkommen von »STRING« in der benannten Umgebungsvariablen durch den Text »ERSATZ«. Die Übereinstimmung mit ZEICHENKETTE erfolgt durch einen einfachen Textvergleich; es werden keine Metazeichen unterstützt. Ein Vorkommen von einem Schrägstrich oder einer rechten geschweiften Klammer in ZEICHENKETTE oder ERSATZ muss durch Voranstellen von zwei Rückwärtsschrägstrichen maskiert werden. Falls ERSATZ eine leere Zeichenkette ist, werden alle Vorkommen von ZEICHENKETTE entfernt. Ein Schrägstrich direkt vor der rechten geschweiften Klammer kann entfallen. Mehrere Ersetzungen können mittels der Syntax ${NAME/ZEICHENKETTE1/ERSATZ1/ZEICHENKETTE/ERSATZ2} und so weiter erfolgen.

BEDINGTE KONFIGURATION
Falls eine Zeile mit #version beginnt und darauf ein relationaler Operator und eine Versionsnummer folgt, wird der Rest der Zeile so ausgewertet, als wenn die laufende Version von less (oder lesskey) diesem Operator entspricht. Dies kann hilfreich sein, wenn eine lesskey-Datei mit verschiedenen Versionen von less verwendet wird.

Nehmen wir beispielsweise an, ein neuer Befehl namens »sideways-search« wäre in der less-Version 777 eingeführt worden. Dann würde die folgende Zeile den Befehl der Taste »Q« zuordnen, aber nur in jenen Versionen von less, welche dies unterstützen. Die Zeile wird von Versionen vor 777 ignoriert.

    	#version >= 777  Q sideways-search

Die folgenden sechs Operatoren werden unterstützt:
    > | Größer als
    < | Kleiner als
    >= | Größer als oder gleich
    <= | Kleiner als oder gleich
     | Gleich
    != | Nicht gleich

Das Funktionsmerkmal #version wird in Versionen von less und lesskey vor 594 nicht unterstützt. In diesen älteren Versionen werden alle #version-Zeilen ignoriert.

BEISPIEL
Die folgende Eingabedatei setzt die Optionen -i und -S immer dann, wenn less(1) ausgeführt wird und fügt bei Version 595 und höher die Option --color hinzu.

    	#env
    	## (Beachten Sie, dass am Ende der nächsten Zeile ein Leerzeichen
    	##  stehen muss, um die Option --color von der Option -S
    	##  zu trennen.)
    	LESS = -i -S 	#version >= 595  LESS += --color=Hkc

SIEHE AUCH
less(1)

WARNUNGEN
Auf MS-DOS- und OS/2-Systemen senden bestimmten Tasten eine Zeichensequenz, die mit einem NUL-Zeichen beginnt (0). Dieses NUL-Zeichen sollte in der Lesskey-Datei als \340 eingetragen werden.

COPYRIGHT
Copyright (C) 1984-2026 Mark Nudelman

Less ist Teil des GNU-Projekts und freie Software. Sie können es entweder unter den Bedingungen der (1) GNU General Public License, wie von der Free Software Foundation veröffentlicht, oder (2) der Less-Lizenz, weitergeben und/oder modifizieren. Weitere Einzelheiten bezüglich der Weitergabe finden Sie in der Datei README der Less-Distribution. Sie sollten ein Exemplar der GNU General Public License zusammen mit dem Quellcode von Less erhalten haben. Siehe die Datei COPYING. Falls nicht, schreiben Sie an die Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Sie sollten außerdem eine Kopie der Less-Lizenz erhalten haben. Siehe die Datei LICENSE.

Less wird in der Hoffnung weitergegeben, dass es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.

AUTOR
Mark Nudelman
Melden Sie Fehler (auf Englisch) auf https://github.com/gwsw/less/issues.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.