/ / So deaktivieren Sie die Bestätigung von Verlaufserweiterungen wie "!!" - zsh, Befehlsverlauf

So deaktivieren Sie die Bestätigung von Verlaufserweiterungen wie "!!" - zsh, Befehlsverlauf

Zsh

Zsh kümmert sich wirklich gut um mich und manchmal auch darumkann ein bisschen zu viel bekommen. Eine der Zeiten, in denen ich lieber möchte, dass es nicht in meinem Geschäft ist, ist, wenn ich sicherstellen möchte, dass ich den angegebenen Befehl ausführen möchte. Die Funktionen, mit denen ich dies erlebe, sind:

Die Befehle:
sudo !! - Führe den vorherigen Befehl mit dem Präfix sudo aus
und
^old^new - Führe den vorherigen Befehl aus, aber ersetze das erste Vorkommen von "alt" durch "neu"


Das Problem:
Wenn ich einen der beiden oben aufgeführten Befehle eingebe und drücke EnterAnstatt den Befehl sofort auszuführen, wird der Befehl zu dem erweitert, was tatsächlich ausgeführt wird, und ich muss drücken Enter noch einmal, um es tatsächlich auszuführen. Erstes Weltproblem, aber immer noch.

1 $ pwd
2 /home/neil
3 $ sudo !!
4 $ sudo pwd
5 /home/neil

Ich möchte Schritt 4 überspringen. Dies wird in bash standardmäßig übersprungen.

Antworten:

9 für Antwort № 1

Das ist einfach ... wenn Sie die entsprechende Option kennen:

unsetopt HIST_VERIFY

Gib das in dein ~/.zshrc und TU source ~/.zshrc wenn Sie möchten, dass dieses Verhalten dauerhaft ist.

Erklärung von man zshoptions:

HIST_VERIFY Wenn der Benutzer eine Zeile mit Verlaufserweiterung eingibt, führen Sie die Zeile nicht direkt aus, sondern führen Sie eine Verlaufserweiterung durch und laden Sie die Zeile erneut Zeile in den Bearbeitungspuffer.


Verwandte Fragen
Bemerkungen
Einen Kommentar hinzufügen