In der Dokumentation in Abschnitt 18.4 Widgets heißt es , dass die Aufgabe eines Widgets einfach darin besteht, eine kleine Aktion auszuführen. Ich kann jedoch keine allgemeine Beschreibung finden, wie diese Aktionen aufgerufen werden, dh wie ein Widget aufgerufen wird.
Ich habe in Beispielen gesehen (siehe zum Beispiel diese Fragen und Antworten ), dass Widgets mithilfe von Schlüsseln an Schlüssel gebunden werden können bindkey KEY WIDGET
. Dann kann man das Widget mit aufrufen KEY
.
Ich wollte umschalten set-local-history
und versuchte:
$ zle set-local-history 1
zle: widgets can only be called when ZLE is active
zle -h
funktioniert nicht, aber ich habe hier eine Beschreibung der Argumente gefunden . Aber es scheint nicht so etwas zu geben --call
.
Was mache ich falsch? Wie ist es möglich, das Widget ohne Bindkey aufzurufen? Wie kann ich den aktuellen Status drucken? ( set-local-history
schaltet den Status um)
ZLE_STATE
wird nur innerhalb von Widget-Funktionen definiert. Ich habe meine Antwort verfeinert. Was ist dein Ziel? [Wilde Vermutung: Um den lokalen / globalen Verlauf in meiner Eingabeaufforderung anzuzeigen, verwende ich ein Widget, um (i.) Eine Shell-Variablezle set-local-history
*globalhistory*insert*
" statt " " lautet*insert*globalhistory*
, basierend auf dem Lesen des Satzes vor dem Beispiel?Wenn Sie verwenden
tmux
, können Sie den gebundenen Schlüssel mit aufrufensend-keys
.Beispiele:
quelle