Ersetzen Sie das Argument N im vorherigen Befehl
Ich bin vor kurzem zu ZSH gewandert, und ich möchte ein bisschen effizienter werden, um Argumente in Befehlen zu ersetzen. Im Besonderen möchte ich das Argument "N" beim letzten Aufruf des Befehls "cmd" ersetzen. Ich möchte nicht wissen, was das vorherige Argumentmuster war, ich möchte nur, dass das gesamte Argument ersetzt wird.
Angenommen, ich habe diesen Befehl irgendwo in meiner Geschichte.
foo arg-1 arg-2 arg-3
Und ich möchte das erste Positionsargument bei meinem nächsten Aufruf durch "arg-replace" ersetzen. zshexpn
Ich schaute durch und dachte, ich könnte so etwas tun:
!foo:1:s/.*/arg-replaced/ [TAB]
Mit den erwarteten Ergebnissen:
foo arg-replaced arg-2 arg-3
Dies führt jedoch zu einem Fehler "zsh: Substitution fehlgeschlagen".
Ich habe mir die Frage angesehen " Wie ersetze ich ein bestimmtes Argument eines vorherigen Befehls in zsh? " Und es scheint fast das zu sein, was ich will, mit der Ausnahme, dass es nur den vorherigen Befehl ersetzt, anstatt die Historie nach meinem Befehlsmuster zu durchsuchen. Ich denke, dies sollte von der standardmäßigen Zsh-Erweiterung unterstützt werden, aber ich bin verdammt, wenn ich herausfinden kann, wie ich das erreichen kann.
0 Antworten auf die Frage
Verwandte Probleme
-
6
Welche zsh-Funktionen verwenden Sie?
-
5
Transparente Eingabeaufforderung in Vista?
-
4
Verwenden Sie den Windows-Aktenkoffer von der Befehlszeile aus
-
8
Die Windows-Shell töten
-
4
Warum sind einige Befehle nicht vorhanden?
-
11
Gibt es eine einfache Möglichkeit, MP3-Dateien zu teilen?
-
2
Wie kann ich OSX Terminal.app dazu bringen, den Vollbildmodus zu öffnen und nicht zu kaskadieren?
-
4
Remote-Ordner unter Linux synchronisieren
-
3
Mac OS X: herkömmliche Orte, an denen Binärdateien gespeichert werden sollen
-
2
Mac OS X: einfaches Skript gesucht