Befehlszeilenvorhersage

Antworten:

8

Zsh wird mit dem insert-and-predictWidget ¹ Edition geliefert, mit dem basierend auf Ihrem Befehlsverlauf spontan Abschlüsse vorgeschlagen werden .

¹ oder auf Ihrer Maschine. info -f zsh --index-search=predict-onLESS=$LESS+/predict-on man zshcontrib

Um es auszuprobieren:

autoload predict-on
predict-toggle() {
  ((predict_on=1-predict_on)) && predict-on || predict-off
}
zle -N predict-toggle
bindkey '^Z'   predict-toggle
zstyle ':predict' toggle true
zstyle ':predict' verbose true

Und Ctrl-Zzum Ein- und Ausschalten verwenden.

Stéphane Chazelas
quelle
Es scheint, dass dies nur den Verlauf verwendet, um das anzubieten, was Sie das letzte Mal eingegeben haben, das den gleichen Anfang hatte. Ziemlich ähnlich wie ^Rin Bash.
Peterph
@peterph, das ist es, was Sie in der Dokumentation vielleicht schnell lesen lassen, aber es geht darüber hinaus und ist sehr anpassbar. Ich finde es jedoch zu nervig / aufdringlich, um verwendet werden zu können (aber vielleicht, weil ich nicht (genug) Zeit damit verbracht habe, es zu stimmen)
Stéphane Chazelas
Nun, ich denke, dies ist eine Funktion, die nur für ein paar Wiederholungen nützlich wird. Für alles andere ist entweder aliasoder ein Skript besser. Es sei denn, es würde natürlich wirklich eine Analyse der Befehle durchführen, um festzustellen, z. B. welche Argumente in nachfolgenden Befehlen einander entsprechen (was in dem Artikel auch tatsächlich erwähnt wird).
Peterph
Kann ich es mit einem einfachen Befehl ausschalten? Ich möchte nichts an einen Schlüssel binden, ich möchte nur das Ding ausschalten