GoGPT Best VPN GoSearch

OnWorks-Favicon

zshzle – Online in der Cloud

Führen Sie zshzle im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, Windows Online-Emulator oder MAC OS Online-Emulator aus.

Dies ist der Befehl zshzle, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


zshzle – ZSH-Befehlszeileneditor

BESCHREIBUNG


Besitzt das FALSCH Option ist festgelegt (was in interaktiven Shells standardmäßig der Fall ist) und die Shell
Da die Eingabe an das Terminal angeschlossen ist, kann der Benutzer Befehlszeilen bearbeiten.

Es gibt zwei Anzeigemodi. Der erste, mehrzeilige Modus, ist die Standardeinstellung. Es funktioniert nur, wenn
die TERM Der Parameter ist auf einen gültigen Terminaltyp eingestellt, der den Cursor nach oben bewegen kann. Der
Zweitens wird der Einzelzeilenmodus verwendet, wenn TERM ist ungültig oder kann den Cursor nicht nach oben bewegen,
oder wenn die SINGLE_LINE_ZLE Option ist eingestellt. Dieser Modus ähnelt kshund verwendet kein Termcap
Sequenzen. Wenn TERM ist „emacs“, das FALSCH Die Option ist standardmäßig deaktiviert.

Die Parameter Baud, COLUMNS und LINES werden auch vom Zeileneditor verwendet. Sehen Kenngrößen
Gebrauchte By Die Schale in zshparam(1).

Der Parameter zle_highlight wird auch vom Zeileneditor verwendet; sehen Charakter Hervorhebung
unten. Hervorhebung von Sonderzeichen und des Bereichs zwischen Cursor und Markierung
(wie eingestellt mit set-mark-command im Emacs-Modus oder per Visueller Modus im Vi-Modus) wird aktiviert durch
Standard; Weitere Informationen finden Sie in dieser Referenz. Jähzornige Konservative werden es wünschen
Beachten Sie, dass die gesamte Hervorhebung durch die folgende Einstellung deaktiviert werden kann:

zle_highlight=(keine)

An vielen Stellen wird darauf verwiesen numerisch Argument. Dies kann standardmäßig der Fall sein
wird im Emacs-Modus eingegeben, indem man die Alt-Taste gedrückt hält und eine Zahl eingibt oder Escape drückt
vor jeder Ziffer und im vi-Befehlsmodus durch Eingabe der Zahl vor der Eingabe eines Befehls.
Im Allgemeinen bewirkt das numerische Argument, dass der nächste eingegebene Befehl wiederholt wird
angegebene Häufigkeit, sofern unten nichts anderes angegeben ist. Siehe auch die Argumente Unterabschnitt
Widgets Abschnitt für andere Möglichkeiten, wie das numerische Argument geändert werden kann. Der
Die hier erwähnten Standardbindungen verwenden die Ziffernargument Widget.

TASTENKARTEN


Eine Tastaturbelegung in ZLE enthält eine Reihe von Bindungen zwischen Tastenfolgen und ZLE-Befehlen. Der
Eine leere Tastenfolge kann nicht gebunden werden.

Es kann jederzeit eine beliebige Anzahl von Keymaps geben, und jede Keymap hat einen oder mehrere Namen. Wenn
Alle Namen einer Keymap werden gelöscht, sie verschwindet. Bindungsschlüssel kann manipuliert werden
Keymap-Namen.

Zunächst gibt es acht Tastaturbelegungen:

Emacs EMACS-Emulation
Weine vi-Emulation – Einfügemodus
Opfer vi-Emulation – Befehlsmodus
viopp vi-Emulation – Operator steht noch aus
visuell vi-Emulation – Auswahl aktiv
ich suche
Inkrementeller Suchmodus
Befehl
einen Befehlsnamen lesen
.sicher Fallback-Tastaturbelegung

Die `.sicher'keymap ist etwas Besonderes. Es kann niemals geändert werden, und der Name kann niemals geändert werden
ENTFERNT. Es kann jedoch mit anderen Namen verknüpft werden, die entfernt werden können. In der Zukunft
Es können weitere spezielle Tastaturbelegungen hinzugefügt werden. Benutzer sollten die Verwendung von Namen vermeiden, die mit „“ beginnen.' zum
ihre eigenen Tastaturbelegungen.

Zusätzlich zu diesen Namen kann entweder „Emacs' oder `Weine' ist auch mit dem Namen ` verknüpftHaupt-'.
Wenn einer der VISUAL or EDITOR Umgebungsvariablen enthalten die Zeichenfolge „vi' wenn das
Wenn die Shell gestartet wird, lautet sie „Weine', andernfalls wäre es 'Emacs'. Bindungsschlüssel's -e und
-v Optionen bieten eine bequeme Möglichkeit, diese Standardauswahl zu überschreiben.

Wenn der Editor startet, wählt er das ` ausHaupt-' Tastaturbelegung. Wenn diese Tastaturbelegung dies nicht tut
existieren, wird es ` verwenden.sicher' stattdessen.

Im `.sicher' Keymap, an die jeder einzelne Schlüssel gebunden ist selbst einfügen, außer ^J (Zeilenvorschub)
und ^M (return), die gebunden sind Akzeptieren-Zeile. Dies ist bewusst nicht angenehm zu bedienen;
Wenn Sie es verwenden, bedeutet dies, dass Sie die Haupt-Keymap gelöscht haben und sie zurücksetzen sollten.

Lesebrillen Befehle
Wenn ZLE einen Befehl vom Terminal liest, liest es möglicherweise eine Sequenz, an die es gebunden ist
ein Befehl und ist auch ein Präfix einer längeren gebundenen Zeichenfolge. In diesem Fall wartet ZLE a
Geben Sie eine bestimmte Zeit ein, um zu sehen, ob weitere Zeichen eingegeben wurden und wenn nicht (oder ob sie mit keinem übereinstimmen).
längere Zeichenfolge) wird die Bindung ausgeführt. Dieses Timeout wird durch definiert KEYTIMEOUT
Parameter; Der Standardwert beträgt 0.4 Sekunden. Es gibt keine Zeitüberschreitung, wenn die Präfixzeichenfolge nicht sie selbst ist
an einen Befehl gebunden.

Das Schlüssel-Timeout wird auch angewendet, wenn ZLE die Bytes aus einem Multibyte-Zeichen liest
string, wenn es sich im entsprechenden Modus befindet. (Dies setzt voraus, dass die Shell kompiliert wurde
mit aktiviertem Multibyte-Modus; Typischerweise enthält das Gebietsschema auch Zeichen im UTF-8-Format
Codierung, obwohl jede dem Betriebssystem bekannte Multibyte-Codierung unterstützt wird.) Wenn
Das zweite oder ein nachfolgendes Byte wird nicht innerhalb der Zeitüberschreitungsperiode gelesen, die von der Shell übernommen wird
if ? eingegeben wurden und setzt den Eingabestatus zurück.

Neben ZLE-Befehlen können Tastensequenzen auch an andere Zeichenfolgen gebunden werden, indem „`“ verwendet wirdBindungsschlüssel
-s'. Wenn eine solche Sequenz gelesen wird, wird die Ersatzzeichenfolge als Eingabe zurückgeschoben und
Der Befehlslesevorgang beginnt mit diesen gefälschten Tastenanschlägen erneut. Diese Eingabe kann
selbst weitere Ersatzzeichenfolgen aufrufen, aber um Schleifen zu erkennen, wird der Prozess dies tun
gestoppt werden, wenn es zwanzig solcher Ersetzungen gibt, ohne dass ein echter Befehl gelesen wird.

Eine vom Benutzer eingegebene Tastenfolge kann in einen Befehlsnamen zur Verwendung in benutzerdefinierten Befehlen umgewandelt werden
Widgets mit dem Lesebefehl Widget, beschrieben im Unterabschnitt „Verschiedenes“ des
Abschnitt „Standard-Widgets“ unten.

Local Tastenbelegungen
Während für die normale Bearbeitung ausschließlich eine einzelne Tastaturbelegung verwendet wird, wird in vielen Modi eine lokale Tastaturbelegung verwendet
ermöglicht die individuelle Anpassung einiger Tasten. Beispielsweise in einem inkrementellen Suchmodus: a
Bindung in der ich suche keymap überschreibt eine Bindung in der Haupt- Keymap, aber alle Tasten, die
nicht überschrieben werden, können weiterhin verwendet werden.

Wenn eine Tastenfolge in einer lokalen Tastenzuordnung definiert ist, wird eine Tastenfolge in der globalen ausgeblendet
Keymap, die ein Präfix dieser Sequenz ist. Ein Beispiel hierfür ist die Bindung von iw
in viopp da dies die Bindung von verbirgt i in Opfer. Allerdings eine längere Sequenz im Global
Keymaps, die dasselbe Präfix haben, können weiterhin gelten, also beispielsweise die Bindung von ^Xa in
Die globale Tastaturbelegung bleibt von der Bindung von unberührt ^Xb in der lokalen Tastaturbelegung.

FALSCH EINGEBAUTE


Das ZLE-Modul enthält drei verwandte integrierte Befehle. Der Bindungsschlüssel Befehl manipuliert
Tastaturbelegungen und Tastenbelegungen; Die variiert Der Befehl ruft ZLE für den Wert eines Shell-Parameters auf.
und der Schlecht Der Befehl manipuliert Bearbeitungs-Widgets und ermöglicht den Befehlszeilenzugriff auf ZLE
Befehle aus Shell-Funktionen.

Bindungsschlüssel [ Optionen ] -l [ -L ] [ Tastenbelegung ... ]
Bindungsschlüssel [ Optionen ] -d
Bindungsschlüssel [ Optionen ] -D Tastenbelegung ...
Bindungsschlüssel [ Optionen ] -A alte Tastaturbelegung neue-keymap
Bindungsschlüssel [ Optionen ] -N neue-keymap [ alte Tastaturbelegung ]
Bindungsschlüssel [ Optionen ] -m
Bindungsschlüssel [ Optionen ] -r In-String ...
Bindungsschlüssel [ Optionen ] -s In-String Out-String ...
Bindungsschlüssel [ Optionen ] In-String Befehl ...
Bindungsschlüssel [ Optionen ] [ In-String ]
BindungsschlüsselDie Optionen von können in drei Kategorien unterteilt werden: Keymap-Auswahl für die
aktueller Befehl, Operationsauswahl und andere. Die Keymap-Auswahloptionen
sind:

-e Wählt die Tastaturbelegung ` ausEmacs' für alle Operationen des aktuellen Befehls und auch
Links`Emacs' bis `Haupt-', sodass es beim nächsten Mal standardmäßig ausgewählt ist
Editor startet.

-v Wählt die Tastaturbelegung ` ausWeine' für alle Operationen des aktuellen Befehls und auch
Links`Weine' bis `Haupt-', sodass es beim nächsten Mal standardmäßig ausgewählt ist
Editor startet.

-a Wählt die Tastaturbelegung ` ausOpfer' für alle Operationen des aktuellen Befehls.

-M Tastenbelegung
Die Tastenbelegung Gibt einen Keymap-Namen an, der für alle Vorgänge ausgewählt wird
der aktuelle Befehl.

Wenn eine Keymap-Auswahl erforderlich ist und keine der oben genannten Optionen verwendet wird, wird die
`Haupt-' Keymap wird verwendet. Bei einigen Vorgängen kann keine Tastaturbelegung ausgewählt werden.
nämlich:

-l Alle vorhandenen Keymap-Namen auflisten; Wenn irgendwelche Argumente angegeben werden, listen Sie nur diese auf
Tastaturbelegungen.

Besitzt das -L Option wird auch verwendet, Liste in Form von Bindungsschlüssel Befehle an
Erstellen oder verknüpfen Sie die Keymaps. `Bindungsschlüssel -ll Haupt-' zeigt an, welche Keymap verknüpft ist
zu `Haupt-', falls vorhanden, und daher, ob die Standard-Emacs- oder Vi-Emulation vorhanden ist
Wirkung. Diese Option zeigt das nicht an .sicher keymap, weil es nicht sein kann
auf diese Weise geschaffen; jedoch auch nichtBindungsschlüssel -ll .sicher' gemeldet als
ein Fehler, es wird einfach nichts ausgegeben.

-d Löschen Sie alle vorhandenen Tastaturbelegungen und setzen Sie sie auf den Standardzustand zurück.

-D Tastenbelegung ...
Löschen Sie den Namen Tastenbelegungs.

-A alte Tastaturbelegung neue-keymap
Machen Sie das neue-keymap Benennen Sie einen Alias ​​für alte Tastaturbelegung, so dass sich beide Namen beziehen
zur gleichen Tastaturbelegung. Die Namen sind gleichrangig; wenn eines davon gelöscht wird,
der andere bleibt. Wenn bereits eine Keymap mit dem vorhanden ist neue-keymap Name,
es wird gelöscht.

-N neue-keymap [ alte Tastaturbelegung ]
Erstellen Sie eine neue Keymap mit dem Namen neue-keymap. Wenn eine Tastaturbelegung bereits diesen Namen hat,
es wird gelöscht. Wenn ein alte Tastaturbelegung Der Name ist angegeben, die neue Tastaturbelegung lautet
initialisiert, um ein Duplikat davon zu sein, andernfalls ist die neue Tastaturbelegung leer.

Um eine neu erstellte Keymap zu verwenden, sollte diese verknüpft werden Haupt-. Daher die Reihenfolge von
Befehle zum Erstellen und Verwenden einer neuen Tastaturbelegung `meinekarte' initialisiert von der Emacs Tastenbelegung
(was unverändert bleibt) ist:

Bindungsschlüssel -N meinekarte Emacs
Bindungsschlüssel -A meinekarte Haupt-

Beachten Sie, dass while `Bindungsschlüssel -A neue Karte Haupt-' wird funktionieren, wann neue Karte is Emacs or Weine,
es wird nicht funktionieren Opfer, wie der Wechsel vom vi-Einfügemodus in den Befehlsmodus erfolgt
unmöglich.

Die folgenden Operationen wirken sich auf die ` ausHaupt-'keymap, wenn keine Keymap-Auswahloption vorhanden war
gegeben:

-m Fügen Sie den integrierten Satz von Metaschlüsselbindungen zur ausgewählten Keymap hinzu. Nur Schlüssel
die ungebunden oder gebunden sind selbst einfügen sind betroffen.

-r In-String ...
Binden Sie das angegebene los In-Strings in der ausgewählten Tastaturbelegung. Das ist genau
entspricht dem Binden der Zeichenfolgen an undefinierter Schlüssel.

Wann -R wird auch verwendet, interpretieren Sie die In-Strings als Bereiche.

Wann -p wird auch verwendet, die In-Strings geben Präfixe an. Jede Bindung, die hat
das Gegebene In-String als Präfix, ohne die Bindung für die In-String
selbst, sofern vorhanden, wird entfernt. Zum Beispiel,

Bindungsschlüssel -rpm Weine '^['

entfernt alle Bindungen in der vi-insert-Tastaturbelegung, beginnend mit einem Escape
Zeichen (wahrscheinlich Cursortasten), aber lassen Sie die Bindung für das Escape
Charakter selbst (wahrscheinlich vi-cmd-Modus). Dies ist nicht kompatibel mit dem
ganz ohne irgendetwas tun oder drücken zu müssen. -R.

-s In-String Out-String ...
Binden Sie jeden zusammen In-String zu jedem Out-String. Wenn In-String wird getippt, Out-String
wird zurückgeschoben und als Eingabe für den Zeileneditor behandelt. Wann -R is
auch verwendet, interpretieren die In-Strings als Bereiche.

Beachten Sie, dass beide In-String und Out-String unterliegen der gleichen Form von
Interpretation, wie unten beschrieben.

In-String Befehl ...
Binden Sie jeden zusammen In-String zu jedem Befehl. Wenn -R verwendet wird, interpretieren Sie die
In-Strings als Bereiche.

[ In-String ]
Tastenbelegungen auflisten. Wenn ein In-String angegeben ist, die Bindung dieser Zeichenfolge
in der ausgewählten Tastaturbelegung wird angezeigt. Ansonsten sind alle Tastenbelegungen im
Die ausgewählte Tastaturbelegung wird angezeigt. (Als Sonderfall, wenn die -e or -v ganz ohne irgendetwas tun oder drücken zu müssen.
allein verwendet wird, ist die Keymap nicht angezeigt - die implizite Verknüpfung von Keymaps
ist das Einzige, was passiert.)

Wenn die Option -p Wird verwendet In-String muss anwesend sein. Die Auflistung
Zeigt alle Bindungen an, die die angegebene Tastenfolge als Präfix haben, nicht
einschließlich aller Bindungen für die Tastenfolge selbst.

Wenn das -L Wenn diese Option verwendet wird, hat die Liste die Form Bindungsschlüssel Befehle an
Erstellen Sie die Tastenzuordnungen.

Wenn das -R Wird die Option wie oben erwähnt verwendet, besteht ein gültiger Bereich aus zwei
Zeichen, mit einem optionalen `-' zwischen ihnen. Alle Charaktere zwischen den beiden
angegeben, einschließlich, werden wie angegeben gebunden.

Für beides In-String or Out-String, werden folgende Escape-Sequenzen erkannt:

\a Glockencharakter
\b Rücktaste
\e, \E Flucht
\f Formularvorschub
\n Zeilenvorschub (Newline)
\r Wagenrücklauf
\t horizontale Registerkarte
\v vertikale Lasche
\NNN Zeichencode im Oktalformat
\xNN Zeichencode im Hexadezimalformat
\uNNNN Unicode-Zeichencode im Hexadezimalformat
\UNNNNNNNNN
Unicode-Zeichencode im Hexadezimalformat
\M[-]X Zeichen mit gesetztem Metabit
\C[-]X Steuerzeichen
^X Steuerzeichen

In allen anderen Fällen: `\' entgeht dem folgenden Zeichen. Löschen wird geschrieben als
`^?'. Beachten Sie, dass `\M^?' und `^\M?' sind nicht dasselbe, und dass (im Gegensatz zu Emacs) die
Bindungen `\M-X' und `\eX' sind völlig unterschiedlich, obwohl sie mit initialisiert werden
die gleichen Bindungen durch `Bindungsschlüssel -m'.

variiert [ -Aache ] [ -p Eingabeaufforderung ] [ -r Aufforderung ]
[ -M Haupt-Keymap ] [ -m vicmd-keymap ]
[ -i init-widget ] [ -f Finish-Widget ]
[ -t tty ] Name
Der Wert des Parameters Name wird in den Bearbeitungspuffer und den Zeileneditor geladen
aufgerufen wird. Wenn der Editor beendet wird, Name wird auf den von zurückgegebenen Zeichenfolgenwert gesetzt
Editor. Wenn das -c Wenn das Flag angegeben ist, wird der Parameter erstellt, sofern dies noch nicht geschehen ist
existieren. Die -a Flagge kann mit angegeben werden -c um einen Array-Parameter zu erstellen, oder die -A
Flag zum Erstellen eines assoziativen Arrays. Wenn der Typ eines vorhandenen Parameters dies nicht tut
Wenn der Parameter mit dem zu erstellenden Typ übereinstimmt, wird er gelöscht und neu erstellt.

Wenn ein Array oder Array-Slice bearbeitet wird, werden die Trennzeichen wie in definiert $IFS
werden mit einem Backslash in Anführungszeichen angezeigt, ebenso wie die Backslashes selbst. Umgekehrt,
Wenn der bearbeitete Text in ein Array aufgeteilt wird, wird ein Backslash sofort in Anführungszeichen gesetzt
folgendes Trennzeichen oder Backslash; keine weitere besondere Behandlung von
Backslashes oder die Behandlung von Anführungszeichen wird durchgeführt.

Einzelne Elemente bestehender Array- oder assoziativer Array-Parameter können bearbeitet werden
durch Verwendung der tiefgestellten Syntax Name. Neue Elemente werden sogar automatisch erstellt
ohne -c.

Besitzt das -p Wenn das Flag angegeben ist, wird die folgende Zeichenfolge als Eingabeaufforderung verwendet
Anzeige links. Wenn die -r Flag angegeben ist, gibt die folgende Zeichenfolge die an
Eingabeaufforderung, die rechts angezeigt wird. Wenn die -h Flag angegeben ist, kann der Verlauf angezeigt werden
Zugriff über ZLE. Wenn die -e Flagge ist gegeben, Eingabe ^D (Strg-D) in einer leeren Zeile
Ursachen variiert um sofort mit einem Rückgabewert ungleich Null zu beenden.

Die -M Option gibt eine Tastaturbelegung zum Verlinken an Haupt- Keymap während der Bearbeitung und die -m
Option gibt eine Tastaturbelegung zum Verlinken an Opfer Tastaturbelegung während der Bearbeitung. Für vi-Stil
Durch die Bearbeitung kann ein Keymap-Paar überschrieben werden Weine und Opfer. For
Nur Bearbeitung im Emacs-Stil -M wird normalerweise benötigt, aber die -m Option kann immer noch sein
gebraucht. Beim Beenden werden die vorherigen Tastaturbelegungen wiederhergestellt.

Vared nennt das übliche `zle-line-init' und `zle-line-finish' Haken vorher und nachher
es übernimmt die Kontrolle. Verwendung der -i und -f Optionen, es ist möglich, diese durch zu ersetzen
andere benutzerdefinierte Widgets.

Wenn `-t tty' ist gegeben, tty ist der Name eines Endgeräts, das stattdessen verwendet werden soll
der Standard /dev/tty. Wenn tty bezieht sich nicht auf ein Terminal, es wird ein Fehler gemeldet.

Schlecht
Schlecht -l [ -L | -a ] [ Schnur ... ]
Schlecht -D Widget ...
Schlecht -A altes Widget neues Widget
Schlecht -N Widget [ Funktion ]
Schlecht -C Widget Abschluss-Widget Funktion
Schlecht -R [ -c ] [ Anzeige-String ] [ Schnur ... ]
Schlecht -M Schnur
Schlecht -U Schnur
Schlecht -K Tastenbelegung
Schlecht -F [ -L | -w ] [ fd [ Handler ]]
Schlecht -I
Schlecht -T [ tc Funktion | -r tc | -L ]
Schlecht Widget [ -n num ] [ -Nw ] [ -K Tastenbelegung ] args ...
Die Schlecht Builtin führt eine Reihe verschiedener Aktionen bezüglich ZLE aus.

Ohne Optionen und Argumente wird nur der Rückgabestatus festgelegt. Es ist Null
wenn ZLE derzeit aktiv ist und Widgets mit diesem integrierten Befehl aufgerufen werden könnten
und ansonsten ungleich Null. Beachten Sie, dass zle dies auch dann tun kann, wenn ein Status ungleich Null zurückgegeben wird
weiterhin als Teil des Vervollständigungssystems aktiv sein; Dies ermöglicht keine direkten Anrufe
zu ZLE-Widgets.

Ansonsten hängt es von seinen Optionen ab, welche Operation es ausführt:

-l [ -L | -a ] [ Schnur ]
Listen Sie alle vorhandenen benutzerdefinierten Widgets auf. Wenn die -L Option verwendet wird, Liste in
die Form von Schlecht Befehle zum Erstellen der Widgets.

In Kombination mit dem -a Option werden alle Widget-Namen aufgelistet, einschließlich der
eingebaute. In diesem Fall die -L Option wird ignoriert.

Wenn mindestens einer Schnur gegeben ist, und -a vorhanden ist bzw -L wird nicht verwendet,
es wird nichts gedruckt. Der Rückgabestatus ist, wenn überhaupt, Null Schnurs sind
Namen vorhandener Widgets und ungleich Null, wenn mindestens eines vorhanden ist Schnur ist kein Name
eines definierten Widgets. Wenn -a Ist ebenfalls vorhanden, werden alle Widget-Namen verwendet
Der Vergleich umfasst integrierte Widgets, ansonsten nur benutzerdefinierte Widgets
benutzt.

Wenn mindestens einer Schnur vorhanden ist und die -L Option verwendet wird, benutzerdefiniert
Widgets, die zu allen passen Schnur werden in der Form aufgeführt Schlecht Befehle zum Erstellen
die Widgets.

-D Widget ...
Löschen Sie den Namen Widgets.

-A altes Widget neues Widget
Machen Sie das neues Widget Benennen Sie einen Alias ​​für altes Widget, so dass sich beide Namen beziehen
zum gleichen Widget. Die Namen sind gleichrangig; wenn eines davon gelöscht wird,
der andere bleibt. Wenn es bereits ein Widget mit dem gibt neues Widget Name,
es wird gelöscht.

-N Widget [ Funktion ]
Erstellen Sie ein benutzerdefiniertes Widget. Wenn es bereits ein Widget mit dem gibt
Der angegebene Name wird überschrieben. Wenn das neue Widget aufgerufen wird von
innerhalb des Editors die angegebene Shell Funktion wird genannt. Wenn keine Funktion
Wenn ein Name angegeben wird, wird standardmäßig derselbe Name wie das Widget verwendet. Für weitere
Weitere Informationen finden Sie im Abschnitt „Widgets“ weiter unten.

-C Widget Abschluss-Widget Funktion
Erstellen Sie ein benutzerdefiniertes Abschluss-Widget mit dem Namen Widget. Das Abschluss-Widget
verhält sich wie das integrierte Vervollständigungs-Widget, dessen Name angegeben ist
Abschluss-Widget. Um die Vervollständigungen zu generieren, dient die Shell-Funktion Funktion
wird angerufen werden. Weitere Informationen finden Sie unter zshcompwid(1).

-R [ -c ] [ Anzeige-String ] [ Schnur ... ]
Zeigen Sie die Befehlszeile erneut an. Dies soll aus einem benutzerdefinierten Aufruf heraus aufgerufen werden
Widget, damit Änderungen sichtbar werden. Wenn ein Anzeige-String ist gegeben und
nicht leer ist, wird dies in der Statuszeile (direkt unter der Zeile) angezeigt
bearbeitet wird).

Wenn die optionale Schnurs werden angegeben, sie werden unterhalb der Eingabeaufforderung in der Liste aufgeführt
auf die gleiche Weise wie Vervollständigungslisten gedruckt werden. Wenn nein Schnurs sind gegeben, aber die -c
Wird diese Option verwendet, wird eine solche Liste gelöscht.

Beachten Sie, dass diese Option nur für Widgets nützlich ist, die nicht beendet werden
unmittelbar nach der Verwendung, da die angezeigten Zeichenfolgen gelöscht werden
unmittelbar nach der Rückkehr aus dem Widget.

Dieser Befehl kann sicher außerhalb benutzerdefinierter Widgets aufgerufen werden; wenn zle ist
aktiv, wird die Anzeige aktualisiert. Wenn zle nicht aktiv ist, wird die Anzeige aktualisiert
Der Befehl hat keine Auswirkung. In diesem Fall wird es in der Regel keinen anderen geben
Argumente.

Der Status ist Null, wenn zle aktiv war, andernfalls eins.

-M Schnur
Wie bei der -R Option, die Schnur wird unterhalb der Befehlszeile angezeigt;
nicht so wie -R Option wird die Zeichenfolge jedoch nicht in die Statuszeile eingefügt
wird stattdessen normal unterhalb der Eingabeaufforderung gedruckt. Dies bedeutet, dass die
Schnur wird weiterhin angezeigt, nachdem das Widget zurückgekehrt ist (bis dies der Fall ist).
durch nachfolgende Befehle überschrieben).

-U Schnur
Dies drängt die Charaktere in die Schnur auf den Eingabestapel von ZLE. Nach
Das aktuell ausgeführte Widget wird beendet. ZLE verhält sich so, als ob die Zeichen
in England, Schnur wurden vom Benutzer eingegeben.

Da ZLE einen Stapel verwendet, wird bei wiederholter Verwendung dieser Option die letzte Zeichenfolge angezeigt
Die auf den Stapel geschobenen Daten werden zuerst verarbeitet. Allerdings sind die Charaktere in
jeder Schnur werden in der Reihenfolge verarbeitet, in der sie im erscheinen
String.

-K Tastenbelegung
Wählt die benannte Tastaturbelegung aus Tastenbelegung. Eine Fehlermeldung wird angezeigt, wenn
Es gibt keine solche Tastaturbelegung.

Diese Tastenbelegungsauswahl beeinflusst die Interpretation der folgenden Tastenanschläge
innerhalb dieses Aufrufs von ZLE. Jeder folgende Aufruf (z. B. der nächste
Befehlszeile) beginnt wie gewohnt mit dem `Haupt-' Tastaturbelegung ausgewählt.

-F [ -L | -w ] [ fd [ Handler ]]
Nur verfügbar, wenn Ihr System eines der „Poll“- oder „Select“-Systeme unterstützt
Anrufe; Die meisten modernen Systeme tun dies.

Installiert Handler (der Name einer Shell-Funktion), um Eingaben aus einer Datei zu verarbeiten
Deskriptor fd. Installieren eines Handlers für eine fd was bereits erledigt ist
bewirkt, dass der vorhandene Handler ersetzt wird. Beliebig viele Handler für jeden
Anzahl lesbarer Dateideskriptoren installiert werden. Beachten Sie, dass zle macht
Kein Versuch zu überprüfen, ob dies der Fall ist fd ist bei der Installation tatsächlich lesbar
Handler. Der Benutzer muss seine eigenen Vorkehrungen für den Umgang mit der Datei treffen
Deskriptor, wenn zle nicht aktiv ist.

Wenn zle versucht, Daten zu lesen, prüft es sowohl das Terminal als auch
die Liste der behandelten fd'S. Wenn Daten zu einem behandelten Gerät verfügbar werden fd, zle
Anrufe Handler mit dem fd, das als erstes Argument zum Lesen bereitsteht.
Unter normalen Umständen ist dies das einzige Argument, wenn jedoch ein Fehler vorliegt
erkannt wurde, liefert ein zweites Argument Details: `hup' für eine Verbindungsunterbrechung, `nval'
für einen geschlossenen oder anderweitig ungültigen Deskriptor oder „sich irren' für alle anderen
Zustand. Systeme, die nur den Systemaufruf „select“ unterstützen, verwenden immer
`sich irren'.

Wenn die Option -w ist auch gegeben, die Handler ist stattdessen ein Zeileneditor-Widget,
Typischerweise handelt es sich um eine Shell-Funktion, die mithilfe von „in ein Widget umgewandelt wird“.Schlecht -N'. In diesem Fall
Handler kann alle Möglichkeiten von zle nutzen, um die aktuelle Bearbeitung zu aktualisieren
Linie. Beachten Sie dies jedoch als Handhabung fd findet auf einem niedrigen Niveau Änderungen statt
auf dem Display erscheint nicht automatisch; Das Widget sollte „aufrufen“.Schlecht
-R', um eine erneute Anzeige zu erzwingen. Zum jetzigen Zeitpunkt unterstützen Widget-Handler nur a
einzelnes Argument und daher wird niemals eine Zeichenfolge für den Fehlerstatus übergeben
Widgets müssen darauf vorbereitet sein, den Deskriptor selbst zu testen.

Wenn einer der beiden Handlertypen eine Ausgabe an das Terminal erzeugt, sollte dieser aufgerufen werden
`Schlecht -I' bevor Sie dies tun (siehe unten). Handler sollten nicht versuchen zu lesen
vom Terminal.

Wenn nein Handler ist gegeben, aber ein fd vorhanden ist, irgendein Handler dafür fd is
ENTFERNT. Wenn keine vorhanden ist, wird eine Fehlermeldung gedruckt und der Status 1 lautet
ist zurückgekommen.

Wenn keine Argumente angegeben werden oder die -L Option bereitgestellt wird, eine Liste von Handlern
wird in einer Form gedruckt, die zur späteren Ausführung gespeichert werden kann.

An fd (aber nicht a Handler) kann optional mit angegeben werden -L Möglichkeit; In
In diesem Fall listet die Funktion den Handler auf, falls vorhanden, andernfalls kehrt sie stillschweigend zurück
Status 1.

Beachten Sie, dass diese Funktion mit Vorsicht verwendet werden sollte. Aktivität auf einem der
fd's, die nicht ordnungsgemäß gehandhabt werden, können dazu führen, dass das Terminal beschädigt wird
unbrauchbar. Entfernen eines fd Handler aus einer Signalfalle kann dazu führen
unvorhersehbares Verhalten.

Hier ist ein einfaches Beispiel für die Verwendung dieser Funktion. Eine Verbindung zu einer Fernbedienung
Der TCP-Port wird mit dem Befehl ztcp erstellt. siehe die Beschreibung des
zsh/net/tcp Modul in zshmodules(1). Dann wird ein Handler installiert, der
druckt einfach alle Daten aus, die auf dieser Verbindung ankommen. Beachten Sie, dass
„select“ zeigt an, dass der Dateideskriptor bearbeitet werden muss, wenn der Remote-Deskriptor vorhanden ist
Seite hat die Verbindung geschlossen; Wir handhaben das, indem wir auf einen fehlgeschlagenen Lesevorgang testen.

if ztcp pwspc 2811; dann
tcpfd=$ANTWORT
handler() {
Schlecht -I
aus einer regionalen Linie
if ! besuch -r Linie <&$1; dann
# wählen Marken fehlen uns die Worte. fd if we erreichen EOF,
# so Griff fehlen uns die Worte. speziell.
drucken "[Lesen on fd $1 gescheitert, entfernen.]" >&2
Schlecht -F $1
Rückkehr 1
fi
drucken -r - $line
}
Schlecht -F $tcpfd Handler
fi

-I Ungewöhnlich ist, dass diese Option außerhalb der normalen Widget-Funktionen am nützlichsten ist.
Es kann jedoch innerhalb verwendet werden, wenn eine normale Ausgabe an das Terminal erforderlich ist.
Es macht die aktuelle ZLE-Anzeige zur Vorbereitung der Ausgabe ungültig; typischerweise
Dies wird von einer Trap-Funktion stammen. Es hat keine Auswirkung, wenn zle nicht aktiv ist.
Wenn eine Falle beendet wird, prüft die Shell, ob die Anzeige wiederhergestellt werden muss.
Daher wird im Folgenden die Ausgabe so gedruckt, dass sie nicht gestört wird
Zeile wird bearbeitet:

TRAPUSR1() {
# Ungültig Schlecht Display
[[ -o Schlecht ]] && Schlecht -I
# Anzeigen Möglichkeiten für das Ausgangssignal:
drucken Hallo
}

Im Allgemeinen muss die Trap-Funktion möglicherweise vorher testen, ob zle aktiv ist
Verwenden Sie diese Methode (wie im Beispiel gezeigt), da die zsh/zle Modul kann
nicht einmal geladen werden; Ist dies nicht der Fall, kann der Befehl übersprungen werden.

Es ist möglich, ` aufzurufenSchlecht -I' mehrmals, bevor die Kontrolle zurückgegeben wird
der Editor; Die Anzeige wird nur beim ersten Mal zum Minimieren ungültig
Störung.

Beachten Sie, dass es normalerweise bessere Möglichkeiten gibt, die Anzeige zu manipulieren
innerhalb von ZLE-Widgets; siehe zum Beispiel „Schlecht -R' über.

Der zurückgegebene Status ist Null, wenn zle ungültig gemacht wurde, auch wenn dies möglich ist
wurden durch einen früheren Anruf an `Schlecht -I' oder durch eine Systembenachrichtigung. Zu
Testen Sie, ob an dieser Stelle ein ZLE-Widget aufgerufen werden kann, und führen Sie es aus Schlecht ohne
Argumente und prüfen Sie den Rückgabestatus.

-T Dies wird verwendet, um interne Transformationen hinzuzufügen, aufzulisten oder zu entfernen
Verarbeitung durch den Zeileneditor. Es wird normalerweise nur für verwendet
Es dient eher dem Debuggen oder Testen und ist daher für die Allgemeinheit von geringem Interesse
Benutzer.

`Schlecht -T Transformation Funkt' gibt an, dass das Gegebene Transformation (sehen
unten) erfolgt über eine Shell-Funktion Funkt.

`Schlecht -Tr Transformation' entfernt das Gegebene Transformation wenn es vorhanden wäre
(Es ist kein Fehler, wenn keiner vorhanden war).

`Schlecht -TL' kann verwendet werden, um alle derzeit in Betrieb befindlichen Transformationen aufzulisten.

Derzeit ist die einzige Transformation tc. Dies wird anstelle der Ausgabe verwendet
Termcap-Codes an das Terminal. Wenn die Transformation in Betrieb ist, wird die
Der Shell-Funktion wird der Termcap-Code übergeben, der als erstes ausgegeben werden würde
Streit; Wenn für die Operation ein numerisches Argument erforderlich war, wird dieses als übergeben
zweites Argument. Die Funktion sollte die Shell-Variable setzen ANTWORTEN zu den
transformierter Termcap-Code. Typischerweise wird dies verwendet, um einige einfach herzustellen
formatierte Version des Codes und optionales Argument zum Debuggen oder
testen. Beachten Sie, dass diese Transformation nicht auf andere Nichtdrucke angewendet wird
Zeichen wie Wagenrückläufe und Zeilenumbrüche.

Widget [ -n num ] [ -Nw ] [ -K Tastenbelegung ] args ...
Rufen Sie das angegebene auf Widget. Dies ist nur möglich, wenn ZLE aktiv ist;
Normalerweise erfolgt dies innerhalb eines benutzerdefinierten Widgets.

Mit den Optionen -n und -N, das aktuelle numerische Argument wird gespeichert und
dann nach dem Anruf wiederhergestellt Widget; `-n num' legt das numerische Argument fest
vorübergehend zu num, während `-N' setzt es auf den Standardwert, also so, als ob es einen gäbe
keine.

Mit der Option -K, Tastenbelegung wird während des als aktuelle Keymap verwendet
Ausführung des Widgets. Die vorherige Tastaturbelegung wird wiederhergestellt, wenn die
Widget wird beendet.

Normalerweise wird beim Aufruf eines Widgets auf diese Weise der spezielle Parameter nicht festgelegt
WIDGET und zugehörige Parameter, so dass die Umgebung so aussieht, als ob die
Die vom Benutzer aufgerufenen Widgets der obersten Ebene waren noch aktiv. Mit der Option -w,
WIDGET und zugehörige Parameter werden so eingestellt, dass sie das ausgeführte Widget widerspiegeln
von dem Schlecht Anruf.

Alle weiteren Argumente werden an das Widget übergeben; Beachten Sie, dass dies standardmäßig der Fall ist
Wenn eine Argumentbehandlung durchgeführt wird, sollte jeder allgemeinen Argumentliste vorangestellt werden
by --. Wenn es sich um eine Shell-Funktion handelt, werden diese als Position übergeben
Parameter; Bei integrierten Widgets liegt es an dem jeweiligen Widget, was es ist
macht mit ihnen. Derzeit werden Argumente nur von verarbeitet
Inkrementelle Suchbefehle, die Geschichte-Suche-vorwärts und -rückwärts und
die entsprechenden Funktionen mit dem Präfix vi-, und von Universal-Argument. Nein
Ein Fehler wird angezeigt, wenn der Befehl die Argumente nicht oder nur verwendet
manche von ihnen.

Der Rückgabestatus spiegelt den Erfolg oder Misserfolg der durchgeführten Operation wider
vom Widget ausgegeben, oder wenn es sich um ein benutzerdefiniertes Widget handelt, der Rückgabestatus von
die Shell-Funktion.

Ein Rückgabestatus ungleich Null führt dazu, dass die Shell einen Piepton ausgibt, wenn das Widget beendet wird.
es sei denn, die BEEP Optionen wurde deaktiviert oder das Widget wurde über aufgerufen Schlecht
Befehl. Wenn also ein benutzerdefiniertes Widget einen sofortigen Piepton erfordert, wird es
sollte das anrufen Piep Widget direkt.

WIDGETS


Alle Aktionen im Editor werden von „Widgets“ ausgeführt. Die Aufgabe eines Widgets besteht einfach darin, etwas auszuführen
eine kleine Aktion. Die ZLE-Befehle, an die Tastenfolgen in Keymaps gebunden sind, befinden sich in
Fakten-Widgets. Widgets können benutzerdefiniert oder integriert sein.

Die in ZLE integrierten Standard-Widgets sind unten unter „Standard-Widgets“ aufgeführt. Sonstiges eingebaut
Widgets können von anderen Modulen definiert werden (siehe zshmodules(1)). Jedes integrierte Widget verfügt über zwei
Namen: sein normaler kanonischer Name und derselbe Name, dem ein ` vorangestellt ist.'. Das `.' Name ist
Besonderheit: Es kann nicht an ein anderes Widget zurückgebunden werden. Dadurch wird das Widget gleichmäßig verfügbar
wenn sein üblicher Name neu definiert wurde.

Benutzerdefinierte Widgets werden mit ` definiertSchlecht -N'und als Shell-Funktionen implementiert. Wann
Das Widget wird ausgeführt, die entsprechende Shell-Funktion wird ausgeführt und kann ausgeführt werden
Bearbeiten (oder andere) Aktionen. Es wird empfohlen, keine benutzerdefinierten Widgets zu verwenden
Namen, die mit ` beginnen.'.

BENUTZERDEFINIERTE WIDGETS


Benutzerdefinierte Widgets, die als Shell-Funktionen implementiert sind, können jede normale Shell ausführen
Befehl. Sie können mit dem auch andere Widgets (ob integriert oder benutzerdefiniert) ausführen Schlecht
eingebauter Befehl. Der Standardeingang der Funktion ist geschlossen, um externe Eingaben zu verhindern
Befehle verhindern, dass ZLE durch Lesen vom Terminal unbeabsichtigt blockiert wird, aber besuch -k or
besuch -q kann zum Lesen von Zeichen verwendet werden. Schließlich können sie den ZLE-Puffer untersuchen und bearbeiten
durch Auslesen und Einstellen der unten beschriebenen Sonderparameter bearbeitet werden.

Diese speziellen Parameter sind in Widget-Funktionen immer verfügbar, jedoch nicht in irgendeiner Weise
speziell außerhalb von ZLE. Wenn sie einen Normalwert außerhalb von ZLE haben, ist dieser Wert
vorübergehend nicht zugänglich, wird jedoch zurückgegeben, wenn die Widget-Funktion beendet wird. Diese besonderen
Parameter haben tatsächlich einen lokalen Gültigkeitsbereich, wie Parameter, die in einer Funktion mit erstellt wurden aus einer regionalen.

Diese Parameter befinden sich in Vervollständigungs-Widgets und Traps, die aufgerufen werden, während ZLE aktiv ist
schreibgeschützt verfügbar.

Beachten Sie, dass die Parameter für jedes ZLE-Widget, in dem sie angezeigt werden, als lokal angezeigt werden. Daher wenn
Es ist erwünscht, sie zu überschreiben. Dies muss innerhalb einer verschachtelten Funktion erfolgen:

widget-function() {
# $WIDGET hier bezieht sich zu die besondere Variable
# zur Abwicklung, Integrierung, Speicherung und is aus einer regionalen innerhalb Widget-Funktion
() {
# Dieser anonym verschachtelt Funktion erlaubt WIDGET
# zu be benutzt as a aus einer regionalen variabel. Die -h
# entfernt die besondere Status of die variabel.
aus einer regionalen -h WIDGET
}
}

PUFFER (Skalar)
Der gesamte Inhalt des Bearbeitungspuffers. Wenn darauf geschrieben wird, bleibt der Cursor stehen
den gleichen Offset, es sei denn, es würde dadurch außerhalb des Puffers liegen.

PUFFERLINIEN (ganze Zahl)
Die Anzahl der Bildschirmzeilen, die für den aktuell auf dem Bildschirm angezeigten Bearbeitungspuffer erforderlich sind
(d. h. ohne dass nach dem letzten Änderungen an den vorhergehenden Parametern vorgenommen wurden).
erneut anzeigen); schreibgeschützt.

KONTEXT (Skalar)
Der Kontext, in dem zle aufgerufen wurde, um eine Zeile zu lesen; schreibgeschützt. Einer der Werte:

Anfang Der Beginn einer Befehlszeile (an der Eingabeaufforderung). PS1).

Konto Eine Fortsetzung zu einer Befehlszeile (an der Eingabeaufforderung). PS2).

wählen Kurz und wählen Schleife.

variiert Bearbeiten einer Variablen in variiert.

Cursor (ganze Zahl)
Der Offset des Cursors innerhalb des Bearbeitungspuffers. Dieser liegt im Bereich von 0 bis
$#PUFFERund ist per Definition gleich $#LBUFFER. Versucht, den Cursor zu bewegen
Außerhalb des Puffers führt dies dazu, dass der Cursor an das entsprechende Ende des Puffers verschoben wird
der Puffer.

CUTBUFFER (Skalar)
Das letzte Element wird mit einem der „ausgeschnitten“.töten-' Befehle; die Schnur, die der nächste Ruck zieht
würde in die Zeile einfügen. Spätere Einträge im Kill-Ring befinden sich im Array
tötend. Beachten Sie, dass der Befehl `Schlecht Kopieren-Region-als-Kill Schnur' kann benutzt werden um
Legen Sie den Text des Cut-Puffers über eine Shell-Funktion fest und durchlaufen Sie den Kill-Ring im
auf die gleiche Weise wie das interaktive Töten von Text.

HISTNR (ganze Zahl)
Die aktuelle Verlaufsnummer. Das Einstellen hat den gleichen Effekt wie das Bewegen nach oben oder unten
in der Historie in die entsprechende Historienzeile. Ein Versuch, es zu setzen, wird ignoriert
wenn die Zeile nicht im Verlauf gespeichert ist. Beachten Sie, dass dies nicht dasselbe ist wie das
Parameter HISTCMD, die immer die Nummer der Verlaufszeile angibt, zu der hinzugefügt wird
Die Geschichte der Hauptschale. HISTNR bezieht sich auf die Zeile, die innerhalb von zle abgerufen wird.

TASTENKARTE (Skalar)
Der Name der aktuell ausgewählten Keymap; schreibgeschützt.

SCHLÜSSEL (Skalar)
Die zum Aufrufen dieses Widgets eingegebenen Schlüssel als Literalzeichenfolge; schreibgeschützt.

tötend (Array)
Die Liste der zuvor getöteten Gegenstände, wobei der zuletzt getötete Gegenstand zuerst ist. Das
gibt die Elemente an, die von a abgerufen würden reißer in der gleichen Reihenfolge. Notiz,
jedoch, dass der zuletzt getötete Gegenstand darin ist $CUTBUFFER; $killring zeigt die
Array früherer Einträge.

Die Standardgröße für den Kill-Ring beträgt acht, die Länge kann jedoch geändert werden
normale Array-Operationen. Jede leere Zeichenfolge im Kill-Ring wird vom ignoriert
reißer Befehl, daher legt die Größe des Arrays effektiv die maximale Länge fest
des Kill-Rings, während die Anzahl der Strings ungleich Null die aktuelle Länge angibt,
beides so, wie es der Benutzer in der Befehlszeile sieht.

LASTABORTEDSEARCH (Skalar)
Die letzte Suchzeichenfolge, die von einer interaktiven Suche verwendet wurde, die vom Benutzer abgebrochen wurde
(Status 3 vom Such-Widget zurückgegeben).

LETZTE SUCHE (Skalar)
Die letzte von einer interaktiven Suche verwendete Suchzeichenfolge; schreibgeschützt. Dies ist gerade eingestellt
wenn die Suche fehlgeschlagen ist (Status 0, 1 oder 2 vom Such-Widget zurückgegeben), aber nicht, wenn
Es wurde vom Benutzer abgebrochen.

LASTWIDGET (Skalar)
Der Name des zuletzt ausgeführten Widgets; schreibgeschützt.

LBUFFER (Skalar)
Der Teil des Puffers, der links von der Cursorposition liegt. Wenn ja
zugewiesen wird, wird nur dieser Teil des Puffers ersetzt und der Cursor bleibt bestehen
zwischen dem Neuen $LBUFFER und die alte $RBUFFER.

MARK (ganze Zahl)
Like Cursor, aber für die Marke. Mit vi-Mode-Operatoren, die auf eine Bewegung warten
Befehl zum Auswählen eines Textbereichs, Einstellung MARK Ermöglicht die Erweiterung der Auswahl
in beide Richtungen von der anfänglichen Cursorposition aus.

NUMERISCH (ganze Zahl)
Das numerische Argument. Wenn kein numerisches Argument angegeben wurde, ist dieser Parameter nicht gesetzt.
Wenn dies innerhalb einer Widget-Funktion festgelegt ist, werden integrierte Widgets mit aufgerufen Schlecht
Der integrierte Befehl verwendet den zugewiesenen Wert. Wenn es in einem Widget nicht festgelegt ist
Funktion verhalten sich die aufgerufenen integrierten Widgets so, als ob kein numerisches Argument angegeben wäre.

AUSSTEHEND (ganze Zahl)
Die Anzahl der Bytes, die zur Eingabe anstehen, also die Anzahl der Bytes, die bereits eingegeben wurden
getippt und kann sofort gelesen werden. Auf Systemen, auf denen die Shell dazu nicht in der Lage ist
Wenn Sie diese Informationen abrufen, hat dieser Parameter immer den Wert Null. Schreibgeschützt.

VORPUFFER (Skalar)
Bei einer mehrzeiligen Eingabe an der sekundären Eingabeaufforderung enthält dieser schreibgeschützte Parameter
der Inhalt der Zeilen vor der Zeile, in der sich der Cursor gerade befindet.

VORANZEIGE (Skalar)
Text, der vor dem Beginn des bearbeitbaren Textpuffers angezeigt werden soll. Das tut nicht
muss eine vollständige Zeile sein; Um eine vollständige Zeile anzuzeigen, muss ein Zeilenumbruch angehängt werden
ausdrücklich. Der Text wird bei jedem neuen Aufruf zurückgesetzt (jedoch nicht rekursiv).
Aufruf) von zle.

POSTDISPLAY (Skalar)
Text, der nach dem Ende des bearbeitbaren Textpuffers angezeigt werden soll. Dies ist nicht der Fall
eine vollständige Linie sein; Um eine vollständige Zeile anzuzeigen, muss ein Zeilenumbruch vorangestellt werden
ausdrücklich. Der Text wird bei jedem neuen Aufruf zurückgesetzt (jedoch nicht rekursiv).
Aufruf) von zle.

RBUFFER (Skalar)
Der Teil des Puffers, der rechts von der Cursorposition liegt. Wenn ja
zugewiesen wird, wird nur dieser Teil des Puffers ersetzt und der Cursor bleibt bestehen
zwischen dem Alten $LBUFFER und den neuen $RBUFFER.

REGION_ACTIVE (ganze Zahl)
Zeigt an, ob die Region derzeit aktiv ist. Es kann 0 oder 1 zugewiesen werden
deaktivieren bzw. aktivieren Sie die Region. Ein Wert von 2 aktiviert die Region
im zeilenweisen Modus, wobei sich der hervorgehobene Text nur über ganze Zeilen erstreckt; sehen
Charakter Hervorhebung unten mit.

region_highlight (Array)
Für jedes Element dieses Arrays kann eine Zeichenfolge festgelegt werden, die die Hervorhebung beschreibt
Ein beliebiger Bereich der Befehlszeile, der beim nächsten Mal wirksam wird
Die Befehlszeile wird erneut angezeigt. Hervorhebung der nicht editierbaren Teile des Befehls
Linie in VORANZEIGE und POSTDISPLAY sind möglich, aber beachten Sie, dass die P Flagge wird benötigt
für die Zeichenindizierung VORANZEIGE.

Jede Zeichenfolge besteht aus folgenden Teilen:

· Optional ein `P', um den folgenden Start- und Endversatz anzuzeigen
Fügen Sie alle von der Zeichenfolge festgelegten Zeichenfolgen ein VORANZEIGE spezieller Parameter; das ist nötig
wenn die Voranzeigezeichenfolge selbst hervorgehoben werden soll. Möglicherweise folgen Leerzeichen
das `P'.

· Ein Startoffset in den gleichen Einheiten wie Cursor, abgeschlossen durch Leerzeichen.

· Ein Endversatz in den gleichen Einheiten wie Cursor, abgeschlossen durch Leerzeichen.

· Eine Hervorhebungsspezifikation im gleichen Format, das für Kontexte in verwendet wird
Parameter zle_highlight, siehe Abschnitt „Zeichenhervorhebung“ weiter unten; für
Beispiel standout or fg=rot,fett

Zum Beispiel,

region_highlight=("P0 20 deutlich")

Gibt an, dass die ersten zwanzig Zeichen des Textes einschließlich etwaiger Voranzeige
Die Zeichenfolge sollte fett hervorgehoben werden.

Beachten Sie, dass die Wirkung von region_highlight wird nicht gespeichert und verschwindet, sobald die
Zeile wird akzeptiert.

Die endgültige Hervorhebung in der Befehlszeile hängt von beiden ab region_highlight und
zle_highlight; Einzelheiten finden Sie weiter unten im Abschnitt „CHARAKTERHERVORHEBUNG“.

UNDO_CHANGE_NO (ganze Zahl)
Eine Zahl, die den Status des Rückgängig-Verlaufs darstellt. Der einzige Nutzen davon ist
als Argument an die übergeben rückgängig machen Widget, um die Aufzeichnung rückgängig zu machen
Punkt. Schreibgeschützt.

UNDO_LIMIT_NO (ganze Zahl)
Eine Zahl, die einer vorhandenen Änderung im Rückgängig-Verlauf entspricht; vergleichen
UNDO_CHANGE_NO. Wenn dieser auf einen Wert größer als Null eingestellt ist, wird der rückgängig machen Befehl wird
nicht zulassen, dass die Zeile über die angegebene Änderungsnummer hinaus rückgängig gemacht wird. Es ist immer noch
möglich, ` zu verwendenSchlecht rückgängig machen Übernehmen ' in einem Widget, um über diesen Punkt hinaus rückgängig zu machen; darin
In diesem Fall ist ein Rückgängigmachen erst möglich UNDO_LIMIT_NO ist reduziert. Satz
auf 0, um das Limit zu deaktivieren.

Eine typische Verwendung dieser Variablen in einer Widget-Funktion ist wie folgt (beachten Sie die
zusätzlicher Funktionsumfang erforderlich):

() {
aus einer regionalen UNDO_LIMIT_NO=$UNDO_CHANGE_NO
# Ausführen einige unten stehende Formular of rekursive bearbeiten.
}

WIDGET (Skalar)
Der Name des Widgets, das gerade ausgeführt wird; schreibgeschützt.

WIDGETFUNC (Skalar)
Der Name der Shell-Funktion, die ein mit einem von beiden definiertes Widget implementiert Schlecht -N
or Schlecht -C. Im ersteren Fall ist dies das zweite Argument Schlecht -N Befehl
das das Widget definiert hat, oder das erste Argument, wenn es kein zweites Argument gab. In
Im letzteren Fall ist dies das dritte Argument Schlecht -C Befehl, der die definiert hat
Widget. Schreibgeschützt.

WIDGETSTYLE (Skalar)
Beschreibt die Implementierung hinter dem aktuell ausgeführten Abschluss-Widget;
das zweite Argument, das folgte Schlecht -C wann das Widget definiert wurde. Dies ist das
Name eines integrierten Vervollständigungs-Widgets. Für Widgets, die mit definiert sind Schlecht -N das ist eingestellt
zur leeren Zeichenfolge. Schreibgeschützt.

YANK_ACTIVE (ganze Zahl)
YANK_START (ganze Zahl)
YANK_END (ganze Zahl)
Diese drei Parameter geben an, ob Text gerade in die Datei hineingezogen (eingefügt) wurde
Puffer. YANK_START und YANK_END sind in der gleichen Einheit sas Cursor, und sind nur
gültig, wenn YANK_ACTIVE ist nicht Null.

Alle drei sind schreibgeschützt.

ZLE_STATE (Skalar)
Enthält eine Reihe von durch Leerzeichen getrennten Wörtern, die den Strom beschreiben Schlecht Zustand.

Derzeit handelt es sich bei den angezeigten Zuständen um den Einfügemodus, wie er durch festgelegt wurde Überschreibmodus or
vi-ersetzen Widgets und ob Verlaufsbefehle importierte Einträge besuchen als
gesteuert durch das Set-Local-History-Widget. Die Zeichenfolge enthält „einfügen' Wenn
In der Befehlszeile einzufügende Zeichen verschieben vorhandene Zeichen nach rechts
oder `überschreiben' wenn einzufügende Zeichen vorhandene Zeichen überschreiben. Es
enthält `lokale Geschichte' wenn nur lokale Verlaufsbefehle besucht werden oder
`Weltgeschichte' wenn importierte Verlaufsbefehle ebenfalls besucht werden.

Die Teilzeichenfolgen sind in alphabetischer Reihenfolge sortiert, so dass Sie zwei Zeichenketten testen können
Um bestimmte Teilzeichenfolgen auf zukunftssichere Weise zu vergleichen, können Sie Folgendes tun:

if [[ $ZLE_STATE == *globalhistory*einfügen* ]]; dann ...; fi

Spezial Widgets
Es gibt einige benutzerdefinierte Widgets, die speziell für die Shell gelten. Wenn nicht
vorhanden sind, werden keine besonderen Maßnahmen ergriffen. Die bereitgestellte Umgebung ist mit der für alle anderen identisch
anderes Bearbeitungs-Widget.

zle-isearch-exit
Wird am Ende der inkrementellen Suche an der Stelle ausgeführt, an der sich die isearch-Eingabeaufforderung befindet
aus der Anzeige entfernt. Sehen zle-isearch-update zum Beispiel.

zle-isearch-update
Wird im Rahmen der inkrementellen Suche ausgeführt, wenn die Anzeige neu gezeichnet werden soll.
Zusätzliche Ausgaben unterhalb der Eingabeaufforderung für die inkrementelle Suche können mit generiert werden
`Schlecht -M' innerhalb des Widgets. Zum Beispiel,

zle-isearch-update() { Schlecht -M "Linie $HISTNO"; }
Schlecht -N zle-isearch-update

Beachten Sie die Zeilenausgabe von `Schlecht -M' wird beim Verlassen der inkrementellen Suche nicht gelöscht.
Dies kann von a aus erfolgen zle-isearch-exit Widget:

zle-isearch-exit() { Schlecht -M „“; }
Schlecht -N zle-isearch-exit

zle-line-init
Wird jedes Mal ausgeführt, wenn der Zeileneditor gestartet wird, um eine neue Eingabezeile zu lesen. Der
Das folgende Beispiel versetzt den Zeileneditor beim Start in den vi-Befehlsmodus.

zle-line-init() { Schlecht -K vicmd; }
Schlecht -N zle-line-init

(Der Befehl innerhalb der Funktion legt die Tastaturbelegung direkt fest. Dies entspricht Schlecht
vi-cmd-Modus.)

zle-line-finish
Das ist ähnlich wie zle-line-init wird aber jedes Mal ausgeführt, wenn der Zeileneditor dies getan hat
Ich habe eine Eingabezeile fertig gelesen.

zle-history-line-set
Wird ausgeführt, wenn sich die Verlaufszeile ändert.

zle-keymap-select
Wird jedes Mal ausgeführt, wenn sich die Tastaturbelegung ändert, also der spezielle Parameter TASTENKARTE eingestellt ist
einen anderen Wert, während der Zeileneditor aktiv ist. Initialisieren der Tastaturbelegung, wenn
Der Start des Zeileneditors führt nicht zum Aufruf des Widgets.

Die Wertschöpfung $KEYMAP innerhalb der Funktion spiegelt die neue Tastaturbelegung wider. Die alte Tastaturbelegung ist
als einziges Argument übergeben.

Dies kann zum Erkennen von Wechseln zwischen dem vi-Befehl (Opfer) und einfügen
(In der Regel Haupt-) Tastaturbelegungen.

STANDARD WIDGETS


Im Folgenden finden Sie eine Liste aller Standard-Widgets und ihrer Standardbindungen in Emacs
Modus, vi-Befehlsmodus und vi-Einfügemodus (die `Emacs', `Opfer' und `Weine' Tastaturbelegungen,
beziehungsweise).

Beachten Sie, dass Cursortasten in allen drei Tastaturbelegungen an Bewegungstasten gebunden sind. die Shell geht davon aus
dass die Cursortasten die von der Terminalverwaltungsbibliothek gemeldeten Tastenfolgen senden
(termcap oder terminfo). Die in der Liste angezeigten Tastenfolgen basieren auf dem VT100,
auf vielen modernen Terminals üblich, tatsächlich sind diese aber nicht unbedingt gebunden. Im Falle
Weine Keymap dient das anfängliche Escape-Zeichen der Sequenzen auch zur Rückkehr
zu den Opfer Keymap: Ob dies geschieht, wird durch die bestimmt KEYTIMEOUT Parameter, siehe
zshparam(1).

Bewegung
vi-rückwärts-Leerwort (ungebunden) (B) (ungebunden)
Gehen Sie ein Wort zurück, wobei ein Wort als eine Reihe nicht leerer Wörter definiert ist
Zeichen.

vi-rückwärts-leerwort-ende (ungebunden) (gE) (ungebunden)
Gehen Sie zum Ende des vorherigen Wortes, wobei ein Wort als eine Reihe von Wörtern definiert ist
Nicht-Leerzeichen.

Rückwärts-Zeichen (^B ESC-[D) (ungebunden) (ungebunden)
Ein Zeichen zurückgehen.

vi-backward-char (ungebunden) (^H h ^?) (ESC-[D)
Gehen Sie ein Zeichen zurück, ohne die Zeilen zu wechseln.

Rückwärts-Wort (ESC-B ESC-b) (ungebunden) (ungebunden)
Gehen Sie zum Anfang des vorherigen Wortes.

Emacs-Rückwärtswort
Gehen Sie zum Anfang des vorherigen Wortes.

vi-rückwärts-Wort (ungebunden) (b) (ungebunden)
Gehen Sie im vi-Stil zum Anfang des vorherigen Worts.

vi-rückwärts-Wortende (ungebunden) (ge) (ungebunden)
Gehen Sie im vi-Stil zum Ende des vorherigen Wortes.

Zeilenanfang (^A) (ungebunden) (ungebunden)
Gehen Sie zum Anfang der Zeile. Wenn Sie bereits am Anfang der Zeile stehen, bewegen Sie sich
an den Anfang der vorherigen Zeile, falls vorhanden.

vi-Zeilenanfang
Gehen Sie zum Anfang der Zeile, ohne die Zeilen zu ändern.

Downline (ungebunden) (ungebunden) (ungebunden)
Gehen Sie im Puffer eine Zeile nach unten.

Ende der Linie (^E) (ungebunden) (ungebunden)
Gehen Sie zum Ende der Zeile. Wenn Sie sich bereits am Ende der Zeile befinden, gehen Sie zum Ende der Zeile
die nächste Zeile, falls vorhanden.

vi-Ende der Zeile (ungebunden) ($) (ungebunden)
Gehen Sie zum Ende der Zeile. Wenn diesem Befehl ein Argument übergeben wird, ist der Cursor
wird an das Ende der Zeile (Argument - 1) Zeilen nach unten verschoben.

vi-forward-leerwort (ungebunden) (W) (ungebunden)
Gehen Sie ein Wort vorwärts, wobei ein Wort als eine Reihe nicht leerer Zeichen definiert ist.

vi-forward-leerwort-ende (ungebunden) (E) (ungebunden)
Gehen Sie zum Ende des aktuellen Wortes oder, wenn Sie sich am Ende des aktuellen Wortes befinden, zum
Ende des nächsten Wortes, wobei ein Wort als eine Reihe nicht leerer Zeichen definiert ist.

vorwärts-char (^F ESC-[C) (ungebunden) (ungebunden)
Ein Zeichen vorwärts bewegen.

vi-forward-char (ungebunden) (Raum l) (ESC-[C)
Ein Zeichen vorwärts bewegen.

vi-find-nächstes-Zeichen (^X^F) (f) (ungebunden)
Lesen Sie ein Zeichen von der Tastatur und wechseln Sie zum nächsten Vorkommen des Zeichens in der
Linie.

vi-find-next-char-skip (ungebunden) (t) (ungebunden)
Lesen Sie ein Zeichen von der Tastatur und bewegen Sie sich an die Position direkt vor dem nächsten
Vorkommen davon in der Zeile.

vi-find-prev-char (ungebunden) (F) (ungebunden)
Lesen Sie ein Zeichen von der Tastatur und wechseln Sie zum vorherigen Vorkommen des Zeichens
die Linie.

vi-find-prev-char-skip (ungebunden) (T) (ungebunden)
Lesen Sie ein Zeichen von der Tastatur und bewegen Sie es an die Position direkt nach dem
vorheriges Vorkommen in der Zeile.

vi-first-non-leer (ungebunden) (^) (ungebunden)
Gehen Sie zum ersten nicht leeren Zeichen in der Zeile.

vi-forward-word (ungebunden) (w) (ungebunden)
Gehen Sie ein Wort vorwärts, im vi-Stil.

Vorwärtswort (ESC-F ESC-f) (ungebunden) (ungebunden)
Gehen Sie zum Anfang des nächsten Wortes. Die Vorstellung des Herausgebers zu einem Wort wird spezifiziert
an. Nach der Installation können Sie HEIC-Dateien mit der WORDCHARS Parameters.

Emacs-Forward-Wort
Gehen Sie zum Ende des nächsten Wortes.

vi-forward-word-end (ungebunden) (e) (ungebunden)
Gehen Sie zum Ende des nächsten Wortes.

vi-goto-Spalte (ESC-|) (|) (ungebunden)
Wechseln Sie in die durch das numerische Argument angegebene Spalte.

vi-goto-mark (ungebunden) (`) (ungebunden)
Zur angegebenen Markierung bewegen.

vi-goto-mark-line (ungebunden) (') (ungebunden)
Geht zum Anfang der Zeile, die die angegebene Markierung enthält.

vi-repeat-find (ungebunden) (;) (ungebunden)
Wiederholen Sie den letzten vi-find Befehl.

vi-rev-repeat-find (ungebunden) (,) (ungebunden)
Wiederholen Sie den letzten vi-find Befehl in die entgegengesetzte Richtung.

Upline (ungebunden) (ungebunden) (ungebunden)
Eine Zeile im Puffer nach oben verschieben.

Geschichte Kontrollieren
Anfang des Puffers oder der Geschichte (ESC-) (gg) (ungebunden)
Gehen Sie zum Anfang des Puffers oder, falls dieser bereits vorhanden ist, zum ersten Ereignis
in der Verlaufsliste.

Zeilenanfang-Historie
Gehen Sie zum Anfang der Zeile. Wenn bereits am Anfang des Puffers, verschieben
zur vorherigen Verlaufszeile.

Anfang der Geschichte
Gehen Sie zum ersten Ereignis in der Verlaufsliste.

Downline-oder-Geschichte (^N ESC-[B) (j) (ESC-[B)
Gehen Sie eine Zeile im Puffer nach unten, oder, wenn Sie sich bereits in der untersten Zeile befinden, gehen Sie zur nächsten
Ereignis in der Verlaufsliste.

vi-down-line-or-history (ungebunden) (+) (ungebunden)
Gehen Sie eine Zeile im Puffer nach unten, oder, wenn Sie sich bereits in der untersten Zeile befinden, gehen Sie zur nächsten
Ereignis in der Verlaufsliste. Gehen Sie dann zum ersten nicht leeren Zeichen in der Zeile.

Downline-oder-Suche
Gehen Sie eine Zeile im Puffer nach unten oder suchen Sie vorwärts, wenn Sie sich bereits in der untersten Zeile befinden
der Verlauf für eine Zeile, beginnend mit dem ersten Wort im Puffer.

Bei Aufruf aus einer Funktion durch Schlecht Befehl mit Argumenten, das erste Argument ist
wird als Zeichenfolge verwendet, nach der gesucht werden soll, und nicht als das erste Wort im Puffer.

Geschichte (ungebunden) (^N) (ungebunden)
Zum nächsten Ereignis in der Verlaufsliste wechseln.

Geschichte-Anfang-Suche-rückwärts
Suchen Sie im Verlauf rückwärts nach einer Zeile, beginnend mit der aktuellen Zeile bis zum
Mauszeiger. Dadurch verbleibt der Cursor an seiner ursprünglichen Position.

Ende des Puffers oder der Geschichte (ESC->) (ungebunden) (ungebunden)
Gehen Sie zum Ende des Puffers oder, falls bereits vorhanden, zum letzten Ereignis im Puffer
Geschichte Liste.

Zeilenende-Historie
Gehen Sie zum Ende der Zeile. Wenn der Puffer bereits am Ende ist, fahren Sie mit dem nächsten fort
Geschichtslinie.

Ende der Geschichte
Zum letzten Ereignis in der Verlaufsliste wechseln.

vi-fetch-history (ungebunden) (G) (ungebunden)
Rufen Sie die durch das numerische Argument angegebene Verlaufszeile ab. Dies ist standardmäßig der
aktuelle Verlaufszeile (dh diejenige, die noch nicht Geschichte ist).

Verlauf-inkrementelle-Suche-rückwärts (^R ^Xr) (ungebunden) (ungebunden)
Inkrementelle Rückwärtssuche nach einer angegebenen Zeichenfolge. Die Suche ist
Groß- und Kleinschreibung wird nicht beachtet, wenn die Suchzeichenfolge keine Großbuchstaben und keine enthält
Es wurde ein numerisches Argument angegeben. Die Zeichenfolge kann mit ` beginnen^', um die Suche zu verankern
der Anfang der Zeile. Beim Aufruf von einer benutzerdefinierten Funktion wird Folgendes zurückgegeben:
folgende Status: 0, wenn die Suche erfolgreich war; 1, wenn die Suche fehlgeschlagen ist; 2, wenn die
Suchbegriff war ein schlechtes Muster; 3, wenn die Suche durch die abgebrochen wurde Sendepause
Befehl.

Im Minipuffer steht ein eingeschränkter Satz an Bearbeitungsfunktionen zur Verfügung. Schlüssel sind
habe im Special nachgeschaut ich suche keymap, und falls dort nicht in der Haupt-Keymap gefunden
(Beachten Sie, dass standardmäßig die ich suche Die Tastaturbelegung ist leer). Ein Interrupt-Signal, wie
definiert durch die stty-Einstellung, stoppt die Suche und kehrt zur ursprünglichen Zeile zurück.
Ein undefinierter Schlüssel hat den gleichen Effekt. Beachten Sie, dass Folgendes immer ausgeführt wird
dieselbe Aufgabe innerhalb inkrementeller Suchen und kann nicht durch benutzerdefinierte ersetzt werden
Widgets, noch ist der Funktionsumfang erweiterbar. Die unterstützten Funktionen sind:

akzeptieren und halten
Nächsten Verlauf akzeptieren und ableiten
Akzeptieren-Zeile
Akzeptiere den Zeilen- und Down-Verlauf
Führen Sie die übliche Funktion aus, nachdem Sie die inkrementelle Suche beendet haben. Der Befehl
Die angezeigte Zeile wird ausgeführt.

rückwärts-löschen-zeichen
vi-backward-delete-char
Einen Ort im Suchverlauf sichern. Wenn die Suche wiederholt wurde
Dadurch wird ein Zeichen im Minipuffer nicht sofort gelöscht.

Akzeptieren-Suche
Beenden Sie die inkrementelle Suche, behalten Sie die Befehlszeile bei, führen Sie jedoch Nein aus
weitere Maßnahmen. Beachten Sie, dass diese Funktion standardmäßig nicht gebunden ist und keine hat
Wirkung außerhalb der inkrementellen Suche.

rückwärts-löschen-Wort
Rückwärts-Kill-Wort
vi-backward-kill-word
Sichern Sie ein Zeichen im Minipuffer. wenn mehrere Suchanfragen durchgeführt wurden
seit dem Einfügen des Zeichens durchgeführt wurde, wird in den Suchverlauf zurückgespult
der Punkt direkt vor der Eingabe des Zeichens. Daher hat dies den Effekt
des Wiederholens rückwärts-löschen-zeichen.

klarer Bildschirm
Löschen Sie den Bildschirm und bleiben Sie im inkrementellen Suchmodus.

Verlauf-inkrementelle-Suche-rückwärts
Finden Sie das nächste Vorkommen des Inhalts des Minipuffers. Wenn die
Der Minipuffer ist leer, die zuletzt verwendete Suchzeichenfolge ist leer
wieder eingesetzt.

Verlauf-inkrementelle-Suche-vorwärts
Kehren Sie den Sinn der Suche um.

Zauberraum
Fügt ein nicht magisches Leerzeichen ein.

Zitat-Einfügung
vi-quoted-insert
Zitieren Sie das Zeichen, das in den Minipuffer eingefügt werden soll.

erneut anzeigen
Zeigen Sie die Befehlszeile erneut an und bleiben Sie im inkrementellen Suchmodus.

vi-cmd-Modus
Wählen Sie „Opfer' Tastaturbelegung; das `Haupt-' Keymap (Einfügemodus) wird ausgewählt
anfänglich.

Darüber hinaus sind die Änderungen aufgeführt, die im vi-Einfügemodus vorgenommen wurden
zu einem einzigen Rückgängig-Ereignis zusammengeführt.

vi-repeat-search
vi-rev-repeat-search
Wiederholen Sie die Suche. Die Richtung der Suche ist im angegeben
Mini-Puffer.

Jedes Zeichen, das nicht an eine der oben genannten Funktionen gebunden ist, oder selbst einfügen or
self-insert-unmeta, führt dazu, dass der Modus verlassen wird. Der Charakter wird dann angeschaut
erstellt und in der zu diesem Zeitpunkt gültigen Tastaturbelegung ausgeführt.

Beim Aufruf aus einer Widget-Funktion durch Schlecht Befehl, die inkrementelle Suche
Befehle können ein String-Argument annehmen. Dies wird als eine Schlüsselfolge behandelt
für Argumente zum Bindungsschlüssel Befehl und wird als erste Eingabe für den Befehl verwendet.
Alle Zeichen in der Zeichenfolge, die bei der inkrementellen Suche nicht verwendet werden, werden gelöscht
stillschweigend ignoriert. Zum Beispiel,

Schlecht Verlauf-inkrementelle-Suche-rückwärts Zange

wird rückwärts suchen Zange, wobei der Minipuffer mit der Zeichenfolge verbleibt
`Zange'.

Verlauf-inkrementelle-Suche-vorwärts (^S ^Xs) (ungebunden) (ungebunden)
Inkrementelle Vorwärtssuche nach einer angegebenen Zeichenfolge. Die Suche ist
Groß- und Kleinschreibung wird nicht beachtet, wenn die Suchzeichenfolge keine Großbuchstaben und keine enthält
Es wurde ein numerisches Argument angegeben. Die Zeichenfolge kann mit ` beginnen^', um die Suche zu verankern
der Anfang der Zeile. Die im Minipuffer verfügbaren Funktionen sind dieselben
wie für Verlauf-inkrementelle-Suche-rückwärts.

Verlauf-inkrementelle-Muster-Suche-rückwärts
Verlauf-inkrementelle-Muster-Suche-vorwärts
Diese Widgets verhalten sich ähnlich wie die entsprechenden Widgets mit Nein -Muster, Aber
Die vom Benutzer eingegebene Suchzeichenfolge wird unter Berücksichtigung der aktuellen als Muster behandelt
Einstellungen der verschiedenen Optionen, die sich auf den Mustervergleich auswirken. Siehe DATEINAME
GENERATION in zshexpn(1) für eine Beschreibung von Mustern. Wenn kein numerisches Argument vorhanden war
Die angegebenen Kleinbuchstaben in der Suchzeichenfolge können mit den Großbuchstaben in der Suchzeichenfolge übereinstimmen
Geschichte. Die Zeichenfolge kann mit ` beginnen^', um die Suche am Anfang von zu verankern
die Linie.

Die Eingabeaufforderung ändert sich und weist auf ein ungültiges Muster hin. Dies kann einfach darauf hinweisen
Das Muster ist noch nicht vollständig.

Beachten Sie, dass nur nicht überlappende Übereinstimmungen gemeldet werden, also ein Ausdruck mit
Platzhalter geben möglicherweise weniger Übereinstimmungen in einer Zeile zurück, als bei der Inspektion sichtbar sind.

Geschichte-Suche-zurück (ESC-P ESC-p) (ungebunden) (ungebunden)
Suchen Sie im Verlauf rückwärts nach einer Zeile, die mit dem ersten Wort im beginnt
Puffer.

Bei Aufruf aus einer Funktion durch Schlecht Befehl mit Argumenten, das erste Argument ist
wird als Zeichenfolge verwendet, nach der gesucht werden soll, und nicht als das erste Wort im Puffer.

vi-history-search-backward (ungebunden) (/) (ungebunden)
Durchsuchen Sie den Verlauf rückwärts nach einer angegebenen Zeichenfolge. Die Zeichenfolge kann mit beginnen
`^', um die Suche am Anfang der Zeile zu verankern.

Im Minipuffer steht ein eingeschränkter Satz an Bearbeitungsfunktionen zur Verfügung. Ein
Ein Interrupt-Signal, wie in der stty-Einstellung definiert, stoppt die Suche. Der
Im Minipuffer verfügbare Funktionen sind: Akzeptieren-Zeile, rückwärts-löschen-zeichen,
vi-backward-delete-char, Rückwärts-Kill-Wort, vi-backward-kill-word, klarer Bildschirm,
erneut anzeigen, Zitat-Einfügung und vi-quoted-insert.

vi-cmd-Modus wird genauso behandelt wie Accept-Line und Zauberraum wird behandelt als
Raum. Jedes andere Zeichen, das nicht an self-insert oder self-insert-unmeta gebunden ist
piepst und wird ignoriert. Wenn die Funktion im vi-Befehlsmodus aufgerufen wird, wird die
Es werden Bindungen des aktuellen Einfügemodus verwendet.

Bei Aufruf aus einer Funktion durch Schlecht Befehl mit Argumenten, das erste Argument ist
wird als Zeichenfolge verwendet, nach der gesucht werden soll, und nicht als das erste Wort im Puffer.

Geschichte-Suche-vorwärts (ESC-N ESC-n) (ungebunden) (ungebunden)
Suchen Sie im Verlauf vorwärts nach einer Zeile, die mit dem ersten Wort im beginnt
Puffer.

Bei Aufruf aus einer Funktion durch Schlecht Befehl mit Argumenten, das erste Argument ist
wird als Zeichenfolge verwendet, nach der gesucht werden soll, und nicht als das erste Wort im Puffer.

vi-history-search-forward (ungebunden) (?) (ungebunden)
Suchen Sie im Verlauf vorwärts nach einer angegebenen Zeichenfolge. Die Zeichenfolge kann mit beginnen
`^', um die Suche am Anfang der Zeile zu verankern. Die verfügbaren Funktionen in
Die Mini-Puffer sind die gleichen wie für vi-history-search-backward. Umgang mit Argumenten
ist auch das Gleiche wie für diesen Befehl.

Infer-Next-History (^X^N) (ungebunden) (ungebunden)
Suchen Sie in der Verlaufsliste nach einer Zeile, die mit der aktuellen übereinstimmt, und rufen Sie das Ereignis ab
folgt ihm.

letztes Wort einfügen (ESC-_ ESC-.) (ungebunden) (ungebunden)
Fügen Sie das letzte Wort des vorherigen Verlaufsereignisses an der Cursorposition ein. Wenn ein
Wenn ein positives numerisches Argument angegeben wird, fügen Sie das Wort am Ende des vorherigen ein
Geschichtsereignis. Wenn das Argument Null oder negativ ist, fügen Sie das Wort von links ein
(Null fügt das vorherige Befehlswort ein). Durch Wiederholen dieses Befehls wird das Wort ersetzt
gerade eingefügt mit dem letzten Wort aus dem Verlaufsereignis vor dem gerade verwendeten;
Numerische Argumente können auf die gleiche Weise verwendet werden, um ein Wort aus diesem Ereignis auszuwählen.

Beim Aufruf von einer Shell-Funktion, die von einem benutzerdefinierten Widget aufgerufen wird, ist der Befehl
kann ein bis drei Argumente annehmen. Das erste Argument gibt einen Verlaufsoffset an
Dies gilt für aufeinanderfolgende Aufrufe dieses Widgets: Wenn es -1 ist, ist dies der Standardwert
Das Verhalten wird verwendet. Wenn es jedoch 1 ist, werden aufeinanderfolgende Aufrufe vorwärts durchlaufen
die Geschichte. Der Wert 0 kann verwendet werden, um anzugeben, dass die Verlaufszeile von untersucht wurde
Die vorherige Ausführung des Befehls wird erneut überprüft. Beachten Sie das Negative
Zahlen sollten ein ` vorangestellt werden--' Argument, um eine Verwechslung mit Optionen zu vermeiden.

Wenn zwei Argumente angegeben werden, gibt das zweite das Wort in der Befehlszeile an
normale Array-Index-Notation (als natürlichere Alternative zur numerischen
Streit). Daher ist 1 das erste Wort und -1 (Standard) das letzte Wort.

Wenn ein drittes Argument angegeben wird, wird sein Wert ignoriert, aber er wird verwendet, um dies anzuzeigen
Der Verlaufsoffset ist relativ zur aktuellen Verlaufszeile und nicht zu dieser
erinnerte sich nach den vorherigen Aufrufen von letztes Wort einfügen.

Das Standardverhalten des Befehls entspricht beispielsweise

Schlecht letztes Wort einfügen -- -1 -1

während der Befehl

Schlecht letztes Wort einfügen -- -1 1 -

kopiert immer das erste Wort der Zeile im Verlauf unmittelbar vor der Zeile
bearbeitet wird. Dies hat den Nebeneffekt, dass spätere Aufrufe des Widgets auftreten
relativ zu dieser Linie sein.

vi-repeat-search (ungebunden) (n) (ungebunden)
Wiederholen Sie die letzte VI-Verlaufssuche.

vi-rev-repeat-search (ungebunden) (N) (ungebunden)
Wiederholen Sie die letzte VI-Verlaufssuche, jedoch in umgekehrter Reihenfolge.

up-line-or-history (^P ESC-[A) (k) (ESC-[A)
Gehen Sie im Puffer eine Zeile nach oben oder, wenn Sie sich bereits in der obersten Zeile befinden, zur vorherigen
Ereignis in der Verlaufsliste.

vi-up-line-oder-geschichte (ungebunden) (-) (ungebunden)
Gehen Sie im Puffer eine Zeile nach oben oder, wenn Sie sich bereits in der obersten Zeile befinden, zur vorherigen
Ereignis in der Verlaufsliste. Gehen Sie dann zum ersten nicht leeren Zeichen in der Zeile.

up-line-or-search
Gehen Sie im Puffer eine Zeile nach oben oder suchen Sie rückwärts, wenn Sie sich bereits in der obersten Zeile befinden
Verlauf für eine Zeile, beginnend mit dem ersten Wort im Puffer.

Bei Aufruf aus einer Funktion durch Schlecht Befehl mit Argumenten, das erste Argument ist
wird als Zeichenfolge verwendet, nach der gesucht werden soll, und nicht als das erste Wort im Puffer.

Up-Geschichte (ungebunden) (^P) (ungebunden)
Zum vorherigen Ereignis in der Verlaufsliste wechseln.

Geschichte-Anfang-Suche-vorwärts
Suchen Sie im Verlauf vorwärts nach einer Zeile, beginnend mit der aktuellen Zeile bis zum
Mauszeiger. Dadurch verbleibt der Cursor an seiner ursprünglichen Position.

set-local-history
Standardmäßig besuchen Verlaufsbewegungsbefehle sowohl die importierten als auch die lokalen Linien
Linien. Mit diesem Widget können Sie dies ein- und ausschalten oder mit der numerischen Eingabe einstellen
Streit. Null für lokale und importierte Leitungen und ungleich Null nur für lokale Leitungen.

Ändern Text
vi-add-eol (ungebunden) (A) (ungebunden)
Gehen Sie zum Ende der Zeile und wechseln Sie in den Einfügemodus.

vi-add-next (ungebunden) (a) (ungebunden)
Wechseln Sie nach der aktuellen Cursorposition in den Einfügemodus, ohne Zeilen zu ändern.

rückwärts-löschen-zeichen (^H ^?) (ungebunden) (ungebunden)
Löschen Sie das Zeichen hinter dem Cursor.

vi-backward-delete-char (ungebunden) (X) (^H)
Löschen Sie das Zeichen hinter dem Cursor, ohne die Zeilen zu ändern. Wenn Sie sich im Einfügemodus befinden,
Dadurch wird nicht über den Punkt hinaus gelöscht, an dem der Einfügemodus zuletzt aufgerufen wurde.

rückwärts-löschen-Wort
Löschen Sie das Wort hinter dem Cursor.

Rückwärts-Kill-Linie
Töte vom Anfang der Zeile bis zur Cursorposition.

Rückwärts-Kill-Wort (^W ESC-^H ESC-^?) (ungebunden) (ungebunden)
Töte das Wort hinter dem Cursor.

vi-backward-kill-word (ungebunden) (ungebunden) (^W)
Töte das Wort hinter dem Cursor, ohne über den Punkt hinauszugehen, an dem sich der Einfügemodus befand
zuletzt eingegeben.

Großbuchstaben-Wort (ESC-C ESC-c) (ungebunden) (ungebunden)
Schreiben Sie das aktuelle Wort groß und gehen Sie daran vorbei.

vi-change (ungebunden) (c) (ungebunden)
Lesen Sie einen Bewegungsbefehl von der Tastatur und töten Sie ihn von der Cursorposition bis zum
Endpunkt der Bewegung. Wechseln Sie dann in den Einfügemodus. Wenn der Befehl lautet vi-change,
die aktuelle Zeile ändern.

Aus Kompatibilitätsgründen mit vi, wenn der Befehl lautet vi-forward-word or
vi-forward-leerwort, das Leerzeichen nach dem Wort ist nicht enthalten. Wenn Sie möchten
Für ein konsistenteres Verhalten mit den enthaltenen Leerzeichen verwenden Sie den folgenden Schlüssel
Bindung:

Bindungsschlüssel -a -s cw Bi

vi-change-eol (ungebunden) (C) (ungebunden)
Töte bis zum Ende der Zeile und gehe in den Einfügemodus.

vi-change-whole-line (ungebunden) (S) (ungebunden)
Beenden Sie die aktuelle Zeile und wechseln Sie in den Einfügemodus.

Kopieren-Region-als-Kill (ESC-W ESC-w) (ungebunden) (ungebunden)
Kopieren Sie den Bereich vom Cursor bis zur Markierung in den Kill-Puffer.

Bei Aufruf über eine ZLE-Widget-Funktion in der Form „Schlecht Kopieren-Region-als-Kill Schnur'
dann Schnur wird als Text verwendet, der in den Kill-Puffer kopiert werden soll. Der Cursor, der
Die Markierung und der Text in der Befehlszeile werden in diesem Fall nicht verwendet.

kopieren-vorheriges-Wort (ESC-^_) (ungebunden) (ungebunden)
Duplizieren Sie das Wort links vom Cursor.

copy-prev-shell-word
Like kopieren-vorheriges-Wort, aber das Wort wird mithilfe der Shell-Analyse gefunden, wohingegen
kopieren-vorheriges-Wort sucht nach Leerzeichen. Dies macht einen Unterschied, wenn das Wort zitiert wird
und enthält Leerzeichen.

vi-löschen (ungebunden) (d) (ungebunden)
Lesen Sie einen Bewegungsbefehl von der Tastatur und töten Sie ihn von der Cursorposition bis zum
Endpunkt der Bewegung. Wenn der Befehl lautet vi-löschen, töte die aktuelle Zeile.

Löschzeichen
Löschen Sie das Zeichen unter dem Cursor.

vi-delete-char (ungebunden) (x) (ungebunden)
Löschen Sie das Zeichen unter dem Cursor, ohne über das Zeilenende hinauszugehen.

Löschwort
Löschen Sie das aktuelle Wort.

Down-Case-Wort (ESC-L ESC-l) (ungebunden) (ungebunden)
Wandeln Sie das aktuelle Wort in Kleinbuchstaben um und gehen Sie darüber hinaus.

Tötungswort (ESC-D ESC-d) (ungebunden) (ungebunden)
Töte das aktuelle Wort.

gosmacs-transpose-chars
Vertauschen Sie die beiden Zeichen hinter dem Cursor.

vi-Einzug (ungebunden) (>) (ungebunden)
Mehrere Zeilen einrücken.

vi-einfügen (ungebunden) (i) (ungebunden)
Wechseln Sie in den Einfügemodus.

vi-insert-bol (ungebunden) (I) (ungebunden)
Gehen Sie zum ersten nicht leeren Zeichen in der Zeile und rufen Sie den Einfügemodus auf.

vi-beitreten (^X^J) (J) (ungebunden)
Verbinde die aktuelle Zeile mit der nächsten.

Kill-Line (^K) (ungebunden) (ungebunden)
Töte vom Cursor bis zum Ende der Zeile. Wenn Sie bereits am Ende der Leitung sind,
Töte das Newline-Zeichen.

vi-kill-line (ungebunden) (ungebunden) (^U)
Kill vom Cursor zurück zu der Stelle, an der der Einfügemodus zuletzt aufgerufen wurde.

vi-kill-eol (ungebunden) (D) (ungebunden)
Töte vom Cursor bis zum Ende der Zeile.

Kill-Region
Töte vom Cursor bis zur Markierung.

Kill-Puffer (^X^K) (ungebunden) (ungebunden)
Töte den gesamten Puffer.

ganze Linie töten (^U) (ungebunden) (ungebunden)
Töte die aktuelle Zeile.

vi-match-bracket (^X^B) (%) (ungebunden)
Gehen Sie zum Klammerzeichen (eines von {}, () or []), die mit der unter dem übereinstimmt
Mauszeiger. Wenn sich der Cursor nicht auf einem Klammerzeichen befindet, gehen Sie weiter, ohne fortzufahren
Gehen Sie über das Ende der Zeile hinaus, um eine zu finden, und gehen Sie dann zur entsprechenden Klammer.

vi-open-line-above (ungebunden) (O) (ungebunden)
Öffnen Sie eine Zeile über dem Cursor und rufen Sie den Einfügemodus auf.

vi-open-line-below (ungebunden) (o) (ungebunden)
Öffnen Sie eine Zeile unter dem Cursor und rufen Sie den Einfügemodus auf.

vi-oper-swap-case (ungebunden) (g~) (ungebunden)
Lesen Sie einen Bewegungsbefehl von der Tastatur und tauschen Sie die Groß-/Kleinschreibung aller Zeichen aus
die Cursorposition zum Endpunkt der Bewegung. Wenn der Bewegungsbefehl lautet
vi-oper-swap-case, vertauschen Sie die Groß-/Kleinschreibung aller Zeichen in der aktuellen Zeile.

Überschreibmodus (^X^O) (ungebunden) (ungebunden)
Wechseln Sie zwischen Überschreibmodus und Einfügemodus.

vi-vorher stellen (ungebunden) (P) (ungebunden)
Fügen Sie den Inhalt des Kill-Puffers vor dem Cursor ein. Wenn der Kill-Puffer
eine Folge von Zeilen (im Gegensatz zu Zeichen) enthält, fügen Sie sie oberhalb der aktuellen ein
Linie.

vi-nachher setzen (ungebunden) (p) (ungebunden)
Fügen Sie den Inhalt des Kill-Puffers nach dem Cursor ein. Wenn der Kill-Puffer
eine Folge von Zeilen (im Gegensatz zu Zeichen) enthält, fügen Sie sie unterhalb der aktuellen ein
Linie.

Put-Replace-Auswahl (ungebunden) (ungebunden) (ungebunden)
Ersetzen Sie den Inhalt der aktuellen Region oder Auswahl durch den Inhalt der
Puffer töten. Wenn der Kill-Puffer eine Folge von Zeilen enthält (im Gegensatz zu
Zeichen), wird die aktuelle Zeile durch die eingefügten Zeilen geteilt.

Zitat-Einfügung (^V) (ungebunden) (ungebunden)
Fügen Sie das nächste eingegebene Zeichen wörtlich in den Puffer ein. Ein Interrupt-Charakter
wird nicht eingefügt.

vi-quoted-insert (ungebunden) (ungebunden) (^Q ^V)
Zeigen Sie ein ` an^' an der Cursorposition und fügen Sie das nächste eingegebene Zeichen ein
Puffer im wahrsten Sinne des Wortes. Ein Unterbrechungszeichen wird nicht eingefügt.

Zitatzeile (ESC-') (ungebunden) (ungebunden)
Zitieren Sie die aktuelle Zeile; das heißt, setzen Sie ein `'' Charakter am Anfang und am Ende,
und konvertieren Sie alle `'' Zeichen zu `'\'''.

Zitat-Region (ESC-") (ungebunden) (ungebunden)
Zitieren Sie den Bereich vom Cursor bis zur Markierung.

vi-ersetzen (ungebunden) (R) (ungebunden)
Wechseln Sie in den Überschreibmodus.

vi-repeat-change (ungebunden) (.) (ungebunden)
Wiederholen Sie die letzte Textänderung im VI-Modus. Wenn eine Zählung mit dem verwendet wurde
Modifikation, es wird erinnert. Wenn diesem Befehl eine Anzahl zugewiesen wird, hat er Vorrang
die gespeicherte Anzahl und wird für zukünftige Verwendungen dieses Befehls gespeichert. Der Schnitt
Die Pufferspezifikation wird ebenfalls gespeichert.

vi-replace-chars (ungebunden) (r) (ungebunden)
Ersetzen Sie das Zeichen unter dem Cursor durch ein von der Tastatur gelesenes Zeichen.

selbst einfügen (druckbare Zeichen) (ungebunden) (druckbare Zeichen und einige Kontrollen
Figuren)
Fügen Sie an der Cursorposition ein Zeichen in den Puffer ein.

self-insert-unmeta (ESC-^I ESC-^J ESC-^M) (ungebunden) (ungebunden)
Fügen Sie ein Zeichen in den Puffer ein, nachdem Sie das Metabit entfernt und ^M konvertiert haben
zu ^J.

vi-Ersatz (ungebunden) (s) (ungebunden)
Ersetzen Sie die nächsten Zeichen.

vi-swap-case (ungebunden) (~) (ungebunden)
Tauschen Sie die Groß-/Kleinschreibung des Zeichens unter dem Cursor aus und bewegen Sie sich daran vorbei.

Transponieren-Zeichen (^T) (ungebunden) (ungebunden)
Tauschen Sie die beiden Zeichen links vom Cursor aus, wenn Sie sich am Ende der Zeile befinden, andernfalls
Tauschen Sie das Zeichen unter dem Cursor mit dem Zeichen links aus.

Transponieren-Wörter (ESC-T ESC-t) (ungebunden) (ungebunden)
Tauschen Sie das aktuelle Wort mit dem davorstehenden aus.

vi-unident (ungebunden) (<) (ungebunden)
Den Einzug mehrerer Zeilen rückgängig machen.

Up-Case-Wort (ESC-U ESC-u) (ungebunden) (ungebunden)
Wandeln Sie das aktuelle Wort in Großbuchstaben um und gehen Sie darüber hinaus.

Ruck (^Y) (ungebunden) (ungebunden)
Fügen Sie den Inhalt des Kill-Puffers an der Cursorposition ein.

reißer (ESC-y) (ungebunden) (ungebunden)
Entfernen Sie den gerade herausgezogenen Text, drehen Sie den Kill-Ring (die Geschichte der zuvor getöteten Personen).
Text) und ziehen Sie das neue Oberteil ab. Funktioniert nur folgende Ruck, vi-vorher stellen, vi-nachher setzen
or reißer.

Vi-Ruck (ungebunden) (y) (ungebunden)
Lesen Sie einen Bewegungsbefehl von der Tastatur und kopieren Sie die Region vom Cursor
Position zum Endpunkt der Bewegung in den Kill-Puffer. Wenn der Befehl lautet
Vi-Ruck, kopieren Sie die aktuelle Zeile.

vi-yank-whole-line (ungebunden) (Y) (ungebunden)
Kopieren Sie die aktuelle Zeile in den Kill-Puffer.

vi-yank-eol
Kopieren Sie den Bereich von der Cursorposition bis zum Ende der Zeile in den Kill
Puffer. Dies ist wohl das, was Y in vi tun sollte, aber es ist nicht das, was es tatsächlich tut
tut.

Argumente
Ziffernargument (ESC-0..ESC-9) (1-9) (ungebunden)
Beginnen Sie ein neues numerisches Argument oder fügen Sie es zum aktuellen hinzu. Siehe auch
vi-Ziffer-oder-Zeilenanfang. Dies funktioniert nur, wenn es an ein Schlüsselsequenzende gebunden ist
in einer Dezimalziffer.

Innerhalb einer Widget-Funktion behandelt ein Aufruf dieser Funktion die letzte Taste der Taste
Sequenz, die das Widget als Ziffer aufgerufen hat.

Negargument (ESC--) (ungebunden) (ungebunden)
Ändert das Vorzeichen des folgenden Arguments.

Universal-Argument
Multiplizieren Sie das Argument des nächsten Befehls mit 4. Alternativ, wenn dieser Befehl lautet
gefolgt von einer ganzen Zahl (positiv oder negativ), verwenden Sie diese als Argument für
nächster Befehl. Daher können Ziffern mit diesem Befehl nicht wiederholt werden. Zum Beispiel, wenn
Dieser Befehl wird zweimal ausgeführt, gefolgt von vorwärts-char, geh vorwärts
sechzehn Leerzeichen; wenn stattdessen darauf folgt -2 und dann vorwärts-char, rückwärts bewegen
zwei Leerzeichen.

Wenn innerhalb einer Widget-Funktion ein Argument übergeben wird, z. B. „Schlecht Universal-Argument num',
Das numerische Argument wird auf gesetzt num; das ist äquivalent zu `NUMERISCH=num'.

Argumentbasis
Verwenden Sie das vorhandene numerische Argument als numerische Basis, das im Bereich 2 liegen muss
bis einschließlich 36. Nachfolgende Verwendung von Ziffernargument und Universal-Argument werden wir
Geben Sie ein neues numerisches Argument in der angegebenen Basis ein. Die übliche Hexadezimalkonvention
verwendet wird: der Buchstabe a or A entspricht 10 und so weiter. Argumente in Basen
Die Eingabe von Ziffern ab 10 ist bequemer
Universal-Argument, Da ESC-a usw. sind in der Regel nicht daran gebunden Ziffernargument.

Die Funktion kann mit einem Befehlsargument innerhalb eines benutzerdefinierten Widgets verwendet werden. Der
Der folgende Code setzt die Basis auf 16 und ermöglicht dem Benutzer die Eingabe eines hexadezimalen Arguments
bis eine Taste außerhalb des Ziffernbereichs eingegeben wird:

Schlecht Argumentbasis 16
Schlecht Universal-Argument

Abschlüsse
Akzeptieren und Menü abschließen
Fügen Sie in einer Menüvervollständigung die aktuelle Vervollständigung in den Puffer ein und gehen Sie zu
der nächstmögliche Abschluss.

vollständiges Wort
Versuchen Sie, das aktuelle Wort zu vervollständigen.

Zeichen-oder-Liste löschen (^D) (ungebunden) (ungebunden)
Löschen Sie das Zeichen unter dem Cursor. Befindet sich der Cursor am Ende der Zeile,
Listen Sie mögliche Vervollständigungen für das aktuelle Wort auf.

cmd-pfad erweitern
Erweitern Sie den aktuellen Befehl auf seinen vollständigen Pfadnamen.

erweitern oder vervollständigen (TAB) (ungebunden) (TAB)
Versuchen Sie eine Shell-Erweiterung für das aktuelle Wort. Wenn dies fehlschlägt, versuchen Sie den Abschluss.

Expand-or-Complete-Präfix
Versuchen Sie, das aktuelle Wort bis zum Cursor zu erweitern.

Erweitern-Geschichte (ESC-Raum ESC-!) (ungebunden) (ungebunden)
Führen Sie eine Verlaufserweiterung für den Bearbeitungspuffer durch.

Wort erweitern (^X*) (ungebunden) (ungebunden)
Versuchen Sie eine Shell-Erweiterung für das aktuelle Wort.

Listenauswahl (ESC-^D) (^D =) (^D)
Listen Sie mögliche Vervollständigungen für das aktuelle Wort auf.

Liste erweitern (^Xg ^XG) (^G) (^G)
Listen Sie die Erweiterung des aktuellen Wortes auf.

Zauberraum
Führen Sie eine Verlaufserweiterung durch und fügen Sie ein Leerzeichen in den Puffer ein. Dies ist beabsichtigt
an den Raum gebunden sein.

Menü-komplett
Like vollständiges Wort, außer dass die Menüvervollständigung verwendet wird. Siehe die MENU_COMPLETE
.

Menü-Erweitern oder Vervollständigen
Like erweitern oder vervollständigen, außer dass die Menüvervollständigung verwendet wird.

Reverse-Menü-vollständig
Führen Sie eine Menüvervollständigung durch, z Menü-komplett, außer dass es sich um eine Menüvervollständigung handelt
bereits in Bearbeitung, wechseln Sie zu früher Fertigstellung statt der nächsten.

Ende der Liste
Wenn bei einem vorherigen Abschluss eine Liste unterhalb der Eingabeaufforderung angezeigt wurde, kann dieses Widget angezeigt werden
Wird verwendet, um die Eingabeaufforderung unter die Liste zu verschieben.

Weitere Anwendungsbereiche
akzeptieren und halten (ESC-A ESC-a) (ungebunden) (ungebunden)
Schieben Sie den Inhalt des Puffers auf den Pufferstapel und führen Sie ihn aus.

Nächsten Verlauf akzeptieren und ableiten
Den Inhalt des Puffers ausführen. Durchsuchen Sie dann die Verlaufsliste nach einer Zeile
mit dem aktuellen übereinstimmen und das folgende Ereignis auf den Pufferstapel verschieben.

Akzeptieren-Zeile (^J ^M) (^J ^M) (^J ^M)
Beenden Sie die Bearbeitung des Puffers. Normalerweise führt dies dazu, dass der Puffer als ausgeführt wird
Shell-Befehl.

Akzeptiere den Zeilen- und Down-Verlauf (^O) (ungebunden) (ungebunden)
Führen Sie die aktuelle Zeile aus und verschieben Sie das nächste Verlaufsereignis auf den Pufferstapel.

automatisches Suffix-Entfernen
Wenn durch die vorherige Aktion dem Wort ein Suffix (Leerzeichen, Schrägstrich usw.) hinzugefügt wurde
Befehlszeile, entfernen Sie es. Sonst nichts tun. Das Entfernen des Suffixes beendet alle
aktiver Menüabschluss bzw. Menüauswahl.

Dieses Widget soll von benutzerdefinierten Widgets aufgerufen werden, um ein gewünschtes Ziel durchzusetzen
Suffix-Entfernungsverhalten.

Auto-Suffix-Beibehaltung
Wenn durch die vorherige Aktion dem Wort ein Suffix (Leerzeichen, Schrägstrich usw.) hinzugefügt wurde
Befehlszeile, erzwingen Sie die Beibehaltung. Sonst nichts tun. Beibehaltung der
Das Suffix beendet jede aktive Menüvervollständigung oder Menüauswahl.

Dieses Widget soll von benutzerdefinierten Widgets aufgerufen werden, um ein gewünschtes Ziel durchzusetzen
Suffix-Erhaltungsverhalten.

Piep Piepton, es sei denn, der BEEP Option ist nicht gesetzt.

Klammereinfügung
Dieses Widget wird aufgerufen, wenn Text in den Terminalemulator eingefügt wird. Es ist nicht
soll an tatsächliche Schlüssel gebunden sein, sondern an die spezielle generierte Sequenz
vom Terminalemulator beim Einfügen von Text. Wenn ein numerisches Argument angegeben wird,
Shell-Anführungszeichen werden vor dem Einfügen auf den eingefügten Text angewendet. Wenn angerufen
Von einer Widget-Funktion kann ein Argument angegeben werden, um eine Variable anzugeben, auf die zugegriffen werden soll
eingefügter Text wird zugewiesen.

Siehe auch die zle_bracketed_paste Parameters.

vi-cmd-Modus (^X^V) (ungebunden) (^[)
Geben Sie den Befehlsmodus ein; das heißt, wählen Sie „Opfer' Tastaturbelegung. Ja, das ist verbindlich
Standard im Emacs-Modus.

vi-caps-lock-panic
Hängen, bis eine beliebige Kleinbuchstabentaste gedrückt wird. Dies ist für VI-Benutzer ohne Mental
Fähigkeit, den Überblick über die Feststelltaste zu behalten (wie der Autor).

klarer Bildschirm (^L ESC-^L) (^L) (^L)
Löschen Sie den Bildschirm und zeichnen Sie die Eingabeaufforderung neu.

Region deaktivieren
Machen Sie die aktuelle Region inaktiv. Dies deaktiviert den visuellen Auswahlmodus im Vim-Stil, wenn
es ist aktiv.

Schlüssel kurz beschreiben
Liest eine Tastenfolge und gibt dann die an diese Folge gebundene Funktion aus.

tausch-point-and-mark (^X^X) (ungebunden) (ungebunden)
Tauschen Sie die Cursorposition (Punkt) mit der Position der Markierung aus. Es sei denn, a
Wird ein negatives numerisches Argument angegeben, wird der Bereich zwischen Punkt und Markierung aktiviert
damit es hervorgehoben werden kann. Wenn ein numerisches Argument von Null angegeben wird, ist die Region
aktiviert, aber Punkt und Marke werden nicht vertauscht.

Ausführen-benannter-cmd (ESC-x) (:) (ungebunden)
Lesen Sie den Namen eines Editorbefehls und führen Sie ihn aus. Ein eingeschränkter Bearbeitungssatz
Funktionen stehen im Minipuffer zur Verfügung. Schlüssel werden im Special nachgeschlagen
Befehl keymap, und falls dort nicht in der Haupt-Keymap gefunden. Ein Interrupt-Signal, wie
definiert durch die stty-Einstellung, bricht die Funktion ab. Beachten Sie Folgendes
Führen Sie immer die gleiche Aufgabe innerhalb des aus ausgeführter-named-cmd Umwelt und kann nicht
durch benutzerdefinierte Widgets ersetzt werden, noch ist der Funktionsumfang erweiterbar. Der
Zulässige Funktionen sind: rückwärts-löschen-zeichen, vi-backward-delete-char, klarer Bildschirm,
erneut anzeigen, Zitat-Einfügung, vi-quoted-insert, Rückwärts-Kill-Wort,
vi-backward-kill-word, ganze Linie töten, vi-kill-line, Rückwärts-Kill-Linie,
Listenauswahl, Zeichen-oder-Liste löschen, vollständiges Wort, Akzeptieren-Zeile, erweitern oder vervollständigen
und Expand-or-Complete-Präfix.

Kill-Region tötet das letzte Wort und vi-cmd-mode wird genauso behandelt wie
Akzeptieren-Zeile. Die Leerzeichen und Tabulatorzeichen, sofern sie nicht an eine dieser Funktionen gebunden sind,
vervollständigt den Namen und listet dann die Möglichkeiten auf, wenn die AUTO_LIST Option ist
Satz. Jedes andere Zeichen, an das nicht gebunden ist selbst einfügen or self-insert-unmeta
piepst und wird ignoriert. Es werden die Bindungen des aktuellen Einfügemodus verwendet.

Derzeit darf dieser Befehl nicht neu definiert oder namentlich aufgerufen werden.

Führe-last-named-cmd aus (ESC-z) (ungebunden) (ungebunden)
Wiederholen Sie die zuletzt mit ausgeführte Funktion Ausführen-benannter-cmd.

Derzeit darf dieser Befehl nicht neu definiert oder namentlich aufgerufen werden.

get-line (ESC-G ESC-g) (ungebunden) (ungebunden)
Entfernen Sie die oberste Zeile aus dem Pufferstapel und fügen Sie sie an der Cursorposition ein.

Pfund-Einsatz (ungebunden) (#) (ungebunden)
Wenn am Anfang des Puffers kein #-Zeichen steht, fügen Sie eines am Anfang hinzu
jeder Zeile. Wenn es eines gibt, entfernen Sie ein # aus jeder Zeile, die eines enthält. In beiden
In diesem Fall akzeptieren Sie die aktuelle Zeile. Der INTERACTIVE_COMMENTS Option muss eingestellt sein
Dies soll irgendeinen Nutzen haben.

vi-Pfund-Einsatz
Wenn am Anfang der aktuellen Zeile kein #-Zeichen steht, fügen Sie eines hinzu. Wenn da
ist einer, entfernen Sie ihn. Der INTERACTIVE_COMMENTS Dafür muss die Option gesetzt sein
irgendeinen Nutzen.

Push-Eingang
Schieben Sie das gesamte aktuelle mehrzeilige Konstrukt auf den Pufferstapel und kehren Sie zum zurück
Höchststufe (PS1) Eingabeaufforderung. Wenn das aktuelle Parser-Konstrukt nur aus einer einzigen Zeile besteht,
das ist genau so Push-Linie. Das nächste Mal, wenn der Editor gestartet wird oder angezeigt wird
get-line, wird das Konstrukt oben vom Pufferstapel abgenommen und geladen
in den Bearbeitungspuffer.

Push-Linie (^Q ESC-Q ESC-q) (ungebunden) (ungebunden)
Schieben Sie den aktuellen Puffer auf den Pufferstapel und löschen Sie den Puffer. Das nächste Mal
Der Editor wird gestartet, der Puffer wird oben vom Pufferstapel entfernt und
in den Bearbeitungspuffer geladen.

push-line-or-edit
Auf der obersten Ebene (PS1) Eingabeaufforderung, äquivalent zu Push-Linie. An einer sekundären (PS2)
Verschieben Sie bei Eingabeaufforderung das gesamte aktuelle mehrzeilige Konstrukt in den Editorpuffer. Der
Letzteres entspricht Push-Eingang gefolgt von get-line.

Lesebefehl
Nur nützlich bei einem benutzerdefinierten Widget. Ein Tastendruck wird wie gewohnt gelesen
Operation, aber anstelle des Befehls, der ausgeführt wird, wird der Name des Befehls angezeigt, der ausgeführt wird
ausgeführt werden würde, wird im Shell-Parameter gespeichert ANTWORTEN. Dies kann als verwendet werden
Argument einer Zukunft Schlecht Befehl. Wenn die Tastenfolge nicht gebunden ist, ist Status 1
ist zurückgekommen; typischerweise jedoch ANTWORTEN eingestellt ist undefinierter Schlüssel um auf etwas Nutzloses hinzuweisen
Tastenfolge.

rekursive Bearbeitung
Nur nützlich bei einem benutzerdefinierten Widget. An diesem Punkt der Funktion ist der Editor
erlangt die Kontrolle zurück, bis eines der Standard-Widgets, die normalerweise dazu führen würden, dass zle dazu führt
Ausgang (normalerweise ein Akzeptieren-Zeile (durch Drücken der Return-Taste verursacht) wird ausgeführt.
Stattdessen kehrt die Kontrolle zum benutzerdefinierten Widget zurück. Der zurückgegebene Status ist
ungleich Null, wenn die Rückgabe durch einen Fehler verursacht wurde, die Funktion aber weiterhin ausgeführt wird
ausgeführt und kann daher aufräumen. Dies macht es für das benutzerdefinierte Widget sicher
Ändern Sie die Befehlszeile oder Tastenkombinationen vorübergehend.

Das folgende Widget, Feststelltaste, dient als Beispiel.
self-insert-ucase() {
LBUFFER+=${(U)KEYS[-1]}
}

Ganzzahlstatistik

zle -N self-insert self-insert-ucase
zle -Eine Feststelltaste zum Speichern der Feststelltaste
zle -A akzeptieren-Zeile-Feststelltaste

zle rekursive Bearbeitung
stat=$?

zle -A .self-insert self-insert
zle -A save-caps-lock caps-lock
zle -D save-caps-lock

(( stat )) && zle send-break

gib $stat zurück
Dies führt dazu, dass eingegebene Buchstaben in Großbuchstaben eingefügt werden, bis entweder Akzeptieren-Zeile (dh
normalerweise wird die Eingabetaste eingegeben oder die Feststelltaste Widget wird erneut aufgerufen; Die
später wird durch Speichern der alten Definition von gehandhabt Feststelltaste as Feststelltaste speichern und
dann erneut binden, um es aufzurufen Akzeptieren-Zeile. Beachten Sie, dass ein Fehler aus der rekursiven
edit wird als Rückgabestatus ungleich Null erkannt und mithilfe von weitergegeben Sendepause
Widget.

erneut anzeigen (ungebunden) (^R) (^R)
Zeigt den Bearbeitungspuffer erneut an.

Reset-Eingabeaufforderung (ungebunden) (ungebunden) (ungebunden)
Erzwingen Sie dann, dass die Eingabeaufforderungen sowohl auf der linken als auch auf der rechten Seite des Bildschirms erneut erweitert werden
Zeigt den Bearbeitungspuffer erneut an. Dies spiegelt Änderungen beider Eingabeaufforderungsvariablen wider
sich selbst und Veränderungen in der Ausdehnung der Werte (z. B. Veränderungen in der Zeit).
oder Verzeichnis oder Änderungen am Wert von Variablen, auf die sich die Eingabeaufforderung bezieht).

Andernfalls wird die Eingabeaufforderung nur bei jedem Start von zle und bei der Anzeige erweitert
als durch die Ausgabe von einem anderen Teil der Shell (z. B. einem Job) unterbrochen wurde
Benachrichtigung), was dazu führt, dass die Befehlszeile erneut gedruckt wird.

Sendepause (^G ESC-^G) (ungebunden) (ungebunden)
Brechen Sie die aktuelle Editorfunktion ab, z Führe den benannten Befehl aus, oder der Herausgeber
selbst, z. B. wenn Sie in sind variiert. Andernfalls wird das Parsen der aktuellen Zeile abgebrochen.
in diesem Fall ist die abgebrochene Zeile in der Shell-Variablen verfügbar ZLE_LINE_ABORTED.
Wenn der Editor von innen abgebrochen wird variiert, Die Variable ZLE_VARED_ABORTED wird gesetzt.

Laufhilfe (ESC-H ESC-h) (ungebunden) (ungebunden)
Schieben Sie den Puffer auf den Pufferstapel und führen Sie den Befehl ausLaufhilfe cmd',
woher cmd ist der aktuelle Befehl. Laufhilfe ist normalerweise ein Alias Mann.

vi-set-buffer (ungebunden) (") (ungebunden)
Geben Sie einen Puffer an, der im folgenden Befehl verwendet werden soll. Es gibt 37 Puffer
angegeben werden: die 26 „benannten“ Puffer "a zu "z, der „Ruck“-Puffer "0, die neun
Puffer in der Warteschlange "1 zu "9 und der Puffer des „Schwarzen Lochs“. "_. Die genannten Puffer können
auch angegeben werden als "A zu "Z.

Wenn ein Puffer für einen Befehl zum Ausschneiden, Ändern oder Ziehen angegeben wird, der betroffene Text
ersetzt den vorherigen Inhalt des angegebenen Puffers. Wenn ein benannter Puffer vorhanden ist
Wird ein Großbuchstaben angegeben, wird stattdessen der neu ausgeschnittene Text an den Puffer angehängt
es überschreiben. Bei Verwendung des "_ Puffer, nichts passiert. Dies kann nützlich sein für
Löschen von Text, ohne die normalen Register zu beeinträchtigen.

Wenn für einen Ausschneide- oder Änderungsbefehl kein Puffer angegeben ist, "1 verwendet wird, und der Inhalt
of "1 zu "8 werden jeweils entlang eines Puffers verschoben; Die Inhalte von "9 ist verloren. Wenn nein
Puffer wird für einen Yank-Befehl angegeben, "0 wird eingesetzt. Zum Schluss noch ein Einfügebefehl
Ohne einen angegebenen Puffer wird der Text aus dem letzten Befehl eingefügt
unabhängig von etwaigen Puffern, die möglicherweise mit diesem Befehl verwendet wurden.

Beim Aufruf aus einer Widget-Funktion durch Schlecht Befehl kann der Puffer optional sein
mit einem Argument angegeben. Zum Beispiel,

Schlecht vi-set-buffer A

vi-set-mark (ungebunden) (m) (ungebunden)
Setzen Sie die angegebene Markierung an der Cursorposition.

set-mark-command (^@) (ungebunden) (ungebunden)
Setzen Sie die Markierung an der Cursorposition. Wenn mit einem negativen numerischen Argument aufgerufen,
Setzen Sie die Markierung nicht, sondern deaktivieren Sie den Bereich, sodass er nicht mehr hervorgehoben wird
(Es ist weiterhin für andere Zwecke verwendbar). Andernfalls wird die Region als aktiv markiert.

Zauberwort (ESC-$ ESC-S ESC-s) (ungebunden) (ungebunden)
Versuchen Sie eine Rechtschreibkorrektur für das aktuelle Wort.

teilen-rückgängig machen
Unterbricht die Rückgängig-Sequenz bei der aktuellen Änderung. Dies ist im VI-Modus nützlich
Im Einfügemodus vorgenommene Änderungen werden beim Aufrufen des Befehlsmodus zusammengeführt. Ähnlich,
rückgängig machen wird normalerweise alle von einem benutzerdefinierten Widget vorgenommenen Änderungen als eine Einheit rückgängig machen.

undefinierter Schlüssel
Dieser Befehl wird ausgeführt, wenn eine Tastenfolge, die an keinen Befehl gebunden ist, ausgeführt wird
getippt. Standardmäßig piept es.

rückgängig machen (^_ ^Xu ^X^U) (u) (ungebunden)
Machen Sie die letzte Textänderung schrittweise rückgängig. Bei Aufruf von einem benutzerdefinierten
Widget, akzeptiert ein optionales Argument, das einen vorherigen Status des Rückgängig-Verlaufs angibt
als zurückgegeben von der UNDO_CHANGE_NO Variable; Bis dahin werden Änderungen rückgängig gemacht
Zustand erreicht wird, vorbehaltlich etwaiger von der UNDO_LIMIT_NO variabel.

Beachten Sie, dass beim Aufruf aus dem vi-Befehlsmodus die vollständige vorherige Änderung beim Einfügen erfolgt
Der Modus wird zurückgesetzt, da die Änderungen zusammengeführt wurden, als der Befehlsmodus ausgewählt wurde.

Redo (ungebunden) (^R) (ungebunden)
Rückgängig gemachte Textänderungen schrittweise wiederherstellen.

vi-undo-change (ungebunden) (ungebunden) (ungebunden)
Machen Sie die letzte Textänderung rückgängig. Bei Wiederholung wiederholen Sie die Änderung.

Visueller Modus (ungebunden) (v) (ungebunden)
Schalten Sie den visuellen Auswahlmodus im Vim-Stil um. Wenn derzeit der zeilenweise visuelle Modus aktiviert ist
aktiviert, dann wird es auf zeichenweise umgestellt. Wenn es nach einem Operator verwendet wird,
Es erzwingt, dass der nachfolgende Bewegungsbefehl zeichenweise behandelt wird
Bewegung.

Visual-Line-Modus (ungebunden) (V) (ungebunden)
Schalten Sie den zeilenweisen visuellen Auswahlmodus im Vim-Stil um. Wenn der visuelle Modus zeichenweise ist
Wenn die Funktion derzeit aktiviert ist, wird sie auf zeilenweise umgestellt. Bei Verwendung nach einem
Operator erzwingt, dass der nachfolgende Bewegungsbefehl als zeilenweiser Befehl behandelt wird
Bewegung.

Was-Cursor-Position (^X=) (ga) (ungebunden)
Geben Sie das Zeichen unter dem Cursor und seinen Code als Oktal-, Dezimal- und Hexadezimalzahl aus
Nummer, die aktuelle Cursorposition im Puffer und die Spalte des Cursors
in der aktuellen Zeile.

wo ist
Lesen Sie den Namen eines Editorbefehls und drucken Sie die Liste der Tastenfolgen aus
Rufen Sie den angegebenen Befehl auf. Es steht ein eingeschränkter Satz an Bearbeitungsfunktionen zur Verfügung
im Minipuffer. Schlüssel werden im Special nachgeschlagen Befehl Keymap, und wenn nicht
finden Sie dort in der Haupt-Keymap.

welcher-Befehl (ESC-?) (ungebunden) (ungebunden)
Schieben Sie den Puffer auf den Pufferstapel und führen Sie den Befehl auswelcher-Befehl cmd'.
woher cmd ist der aktuelle Befehl. welcher-Befehl ist normalerweise ein Alias woher.

vi-Ziffer-oder-Zeilenanfang (ungebunden) (0) (ungebunden)
Wenn der letzte ausgeführte Befehl eine Ziffer als Teil eines Arguments war, fahren Sie fort
Streit. Andernfalls führen Sie vi-beginning-of-line aus.

Text Objekte
Textobjekte sind Befehle, mit denen man einen Textblock auswählen kann
Kriterien. Sie sind eine Funktion des VIM-Texteditors und daher in erster Linie für die Verwendung gedacht
mit vi-Operatoren oder aus dem visuellen Auswahlmodus. Sie können jedoch auch ab verwendet werden
vi-insert oder emacs-Modus. Die unten aufgeführten Tastenkombinationen gelten für viopp und visuell Tastaturbelegungen.

Wählen Sie ein leeres Wort aus (aW)
Wählen Sie ein Wort einschließlich angrenzender Leerzeichen aus, wobei ein Wort als eine Reihe von definiert ist
Nicht-Leerzeichen. Mit einem numerischen Argument werden mehrere Wörter ausgewählt.

Wählen Sie ein Shell-Wort aus (aa)
Wählen Sie das aktuelle Befehlsargument aus und wenden Sie dabei die normalen Regeln für Anführungszeichen an.

Wählen Sie ein Wort aus (aw)
Wählen Sie ein Wort einschließlich angrenzender Leerzeichen aus, indem Sie die normale Wortdefinition im VI-Stil verwenden.
Mit einem numerischen Argument werden mehrere Wörter ausgewählt.

Leerwort auswählen (iW)
Wählen Sie ein Wort aus, wobei ein Wort als eine Reihe nicht leerer Zeichen definiert ist. Mit einem
numerisches Argument, mehrere Wörter werden ausgewählt.

Select-in-Shell-Wort (ia)
Wählen Sie das aktuelle Befehlsargument aus und wenden Sie dabei die normalen Regeln für Anführungszeichen an. Wenn die
Das Argument beginnt und endet mit passenden Anführungszeichen, diese sind nicht enthalten
die Auswahl.

In Wort auswählen (iw)
Wählen Sie ein Wort aus, indem Sie die normale Wortdefinition im VI-Stil verwenden. Mit einem numerischen Argument,
Es werden mehrere Wörter ausgewählt.

CHARAKTER Hervorhebung


Der Zeileneditor bietet die Möglichkeit, Zeichen oder Bereiche der Zeile hervorzuheben, die ein haben
besondere Bedeutung. Dies wird durch den Array-Parameter gesteuert zle_highlight, wenn es
wurde vom Benutzer festgelegt.

Wenn der Parameter den einzelnen Eintrag enthält keine Sämtliche Hervorhebungen sind deaktiviert. Beachten Sie das
Es wird weiterhin erwartet, dass der Parameter ein Array ist.

Andernfalls sollte jeder Eintrag des Arrays aus einem Wort bestehen, das einen Kontext für angibt
Hervorhebung, dann ein Doppelpunkt, dann eine durch Kommas getrennte Liste der Hervorhebungstypen
in diesem Zusammenhang gelten.

Folgende Kontexte können hervorgehoben werden:

Standard
Jeder Text in der Befehlszeile, der nicht durch andere Hervorhebungen beeinflusst wird. Text
außerhalb des bearbeitbaren Bereichs der Befehlszeile ist davon nicht betroffen.

ich suche
Wenn eines der inkrementellen Verlaufssuch-Widgets aktiv ist, wird der Bereich des
Befehlszeile, die mit der Suchzeichenfolge oder dem Suchmuster übereinstimmt.

Region Der Bereich zwischen dem Cursor (Punkt) und der Markierung, wie mit festgelegt set-mark-command.
Die Region wird nur hervorgehoben, wenn sie aktiv ist, was der Fall ist, wenn
set-mark-command or tausch-point-and-mark wurde angerufen und die Leitung nicht
nachträglich geändert wurden. Die Region kann per Anruf deaktiviert werden
set-mark-command mit einem negativen numerischen Argument oder durch Aufruf reaktiviert werden
tausch-point-and-mark mit einem numerischen Nullargument. Beachten Sie, dass unabhängig davon, ob die
Die Tatsache, dass die Region aktiv ist, hat keinen Einfluss auf ihre Verwendung innerhalb von Widgets, sie bestimmt lediglich
ob es hervorgehoben ist.

besondere
Einzelne Zeichen, die keine direkt druckbare Darstellung haben, aber in angezeigt werden
auf besondere Weise durch den Zeileneditor. Diese Zeichen werden im Folgenden beschrieben.

Suffix Dieser Kontext wird ergänzend für Zeichen verwendet, die als Suffixe gekennzeichnet sind
wird entfernt, wenn die Vervollständigung an diesem Punkt endet, das offensichtlichste Beispiel
ein Schrägstrich sein (/) nach einem Verzeichnisnamen. Beachten Sie, dass das Entfernen von Suffixen erfolgt
konfigurierbar; Die Umstände, unter denen das Suffix entfernt wird, können unterschiedlich sein
für unterschiedliche Ausführungen.

Einfügen Nach einem Befehl zum Einfügen von Text werden die eingefügten Zeichen angezeigt.

Wann region_highlight festgelegt ist, die Kontexte, die eine Region beschreiben – ich suche, Region,
Suffix und Einfügen -- werden dann zuerst angewendet region_highlight angewendet wird, dann die
verbleibenden zle_highlight Kontexte angewendet werden. Wenn ein bestimmter Charakter betroffen ist
Bei mehreren Spezifikationen gewinnt die letzte Spezifikation.

zle_highlight kann zusätzliche Felder enthalten, um zu steuern, wie Terminalsequenzen ausgeführt werden
Farbwechsel werden ausgegeben. Auf jede der folgenden Angaben folgt ein Doppelpunkt und eine Zeichenfolge
die gleiche Form wie bei den Tastenbelegungen. Dies wird für die allermeisten nicht notwendig sein
Terminals, da die in Klammern angegebenen Standardeinstellungen weit verbreitet sind.

fg_start_code (\e[3)
Der Beginn der Escape-Sequenz für die Vordergrundfarbe. Darauf folgt ein
ASCII-Ziffer, die die Farbe darstellt.

fg_default_code (9)
Die Zahl, die anstelle der Farbe verwendet werden soll, um die Standard-Vordergrundfarbe zurückzusetzen.

fg_end_code (m)
Das Ende der Escape-Sequenz für die Vordergrundfarbe.

bg_start_code (\e[4)
Der Beginn der Escape-Sequenz für die Hintergrundfarbe. Darauf folgt ein
ASCII-Ziffer, die die Farbe darstellt.

bg_default_code (9)
Die Zahl, die anstelle der Farbe verwendet werden soll, um die Standardhintergrundfarbe zurückzusetzen.

bg_end_code (m)
Das Ende der Escape-Sequenz für die Hintergrundfarbe.

Die verfügbaren Hervorhebungsarten sind die folgenden. Beachten Sie, dass nicht alle Arten von
Hervorhebungen sind auf allen Terminals verfügbar:

keine Auf den gegebenen Kontext wird keine Hervorhebung angewendet. Dies ist nicht sinnvoll
erscheinen mit anderen Hervorhebungsarten; Es wird verwendet, um einen Standardwert zu überschreiben.

fg=Farbe
Die Vordergrundfarbe sollte auf eingestellt sein Farbe, eine dezimale Ganzzahl oder der Name einer einzelnen Zahl
einer der acht am weitesten verbreiteten Farben.

Nicht alle Terminals unterstützen dies und von denen, die dies tun, bieten nicht alle die Möglichkeit dazu
Testen Sie die Unterstützung, daher sollte der Benutzer anhand des Terminaltyps entscheiden. Am meisten
Terminals unterstützen die Farben Schwarz, rot markiert, grünen, gelben, blauen, Magenta, Cyan und
Weiß, die nach Namen festgelegt werden kann. Zusätzlich. Standard kann zum Einstellen verwendet werden
Standard-Vordergrundfarbe des Terminals. Abkürzungen sind erlaubt; b or bl wählt aus
Schwarz. Einige Terminals erzeugen möglicherweise zusätzliche Farben, wenn die fett Attribut ist
auch vorhanden.

Auf neueren Terminals und auf Systemen mit einer aktuellen Terminaldatenbank die Nummer
Die Anzahl der unterstützten Farben kann mit dem Befehl ` getestet werdenechotc Co'; Wenn dies gelingt, dann
Gibt eine Begrenzung der Anzahl der Farben an, die von der Linie erzwungen werden
Editor. Die Anzahl der Farben ist in jedem Fall auf 256 begrenzt (also der Bereich 0 bis
255).

Farbe wird auch als Farbe bezeichnet.

bg=Farbe
Die Hintergrundfarbe sollte auf eingestellt sein Farbe. Dies funktioniert ähnlich wie die
Vordergrundfarbe, mit der Ausnahme, dass der Hintergrund normalerweise nicht von der Fettschrift betroffen ist
Attribut.

fett Die Zeichen im jeweiligen Kontext werden in Fettschrift dargestellt. Nicht alle Terminals
Unterscheiden Sie fette Schriftarten.

standout
Die Zeichen im angegebenen Kontext werden im herausragenden Modus des Terminals angezeigt. Der
Der tatsächliche Effekt ist spezifisch für das Terminal. Auf vielen Terminals handelt es sich um ein inverses Video.
Auf einigen dieser Terminals wird der Cursor hervorgehoben angezeigt, wenn er nicht blinkt
Modus negiert, sodass nicht klar ist, wo sich der Cursor tatsächlich befindet. Zu solch
Terminals kann einer der anderen Effekte zum Hervorheben der Region vorzuziehen sein
und passende Suchzeichenfolge.

unterstreichen
Die Zeichen im angegebenen Kontext werden unterstrichen angezeigt. Einige Terminals zeigen das an
stattdessen Vordergrund in einer anderen Farbe; In diesem Fall wird es kein Leerzeichen geben
markiert.

Die oben als „besonders“ beschriebenen Zeichen sind wie folgt. Die hier beschriebene Formatierung
wird unabhängig davon verwendet, ob die Zeichen hervorgehoben sind:

ASCII-Steuerzeichen
Steuerzeichen im ASCII-Bereich werden als ` angezeigt^', gefolgt von der Basis
Charakter.

Nicht druckbare Multibyte-Zeichen
Dieses Element gilt für Steuerzeichen, die nicht im ASCII-Bereich liegen, sowie für andere
Zeichen wie folgt. Wenn die MULTIBYTE Option ist wirksam, Multibyte-Zeichen
Zeichen, die nicht im ASCII-Zeichensatz enthalten sind und deren Breite Null beträgt, werden behandelt
als Kombination von Zeichen, wenn die Option COMBINING_CHARS ist eingeschaltet. Wenn die Option ist
aus, oder wenn ein Zeichen dort erscheint, wo ein Kombinationszeichen ungültig ist, wird das
Zeichen wird als nicht druckbare behandelt.

Nicht druckbare Multibyte-Zeichen werden als Hexadezimalzahl zwischen Winkeln angezeigt
Klammern. Die Zahl ist der Codepunkt des Zeichens im breiten Zeichensatz;
Dies kann je nach Betriebssystem Unicode sein oder auch nicht.

Ungültige Multibyte-Zeichen
Besitzt das MULTIBYTE Wenn die Option wirksam ist, ist dies bei jeder Folge von einem oder mehreren Bytes der Fall
kein gültiges Zeichen im aktuellen Zeichensatz ist, wird als eine Reihe von behandelt
Bytes werden jeweils als Sonderzeichen angezeigt. Dieser Fall kann von anderen unterschieden werden
nicht druckbare Zeichen, da die Bytes als zwei hexadezimale Ziffern dargestellt werden
in spitzen Klammern, im Unterschied zu den vier oder acht Ziffern, die für verwendet werden
nicht druckbare Zeichen, die im aktuellen Zeichensatz dennoch gültig sind.

Nicht alle Systeme unterstützen dies: Damit es funktioniert, muss die Darstellung des Systems umfangreich sein
Zeichen müssen Codewerte aus dem Universal Character Set sein, wie durch IS0 definiert
10646 (auch als Unicode bekannt).

Umbrochene Zeichen mit doppelter Breite
Wenn in der letzten Spalte einer Zeile ein Zeichen doppelter Breite erscheint, ist dies stattdessen der Fall
wird in der nächsten Zeile angezeigt. Der an der ursprünglichen Position verbleibende Leerraum beträgt
als Sonderzeichen hervorgehoben.

If zle_highlight nicht festgelegt ist oder für einen bestimmten Kontext kein Wert gilt, gelten die Standardeinstellungen
angewendet sind gleichbedeutend mit

zle_highlight=(region:standout Besonderes: herausragend
Suffix:fett issearch:underline)

Das heißt, sowohl die Region als auch die Sonderzeichen werden im Hervorhebungsmodus angezeigt.

Innerhalb von Widgets können beliebige Bereiche durch Setzen des speziellen Arrays hervorgehoben werden
Parameter region_highlight; siehe oben.

Verwenden Sie zshzle online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad




×
Werbung
❤ ️Hier einkaufen, buchen oder kaufen – kostenlos, damit die Dienste kostenlos bleiben.