Gibt es eine Möglichkeit, eine Regexp-String-Ersetzung auf der aktuellen Zeile in der Bash auszuführen?Bash-Reg-Exp-Substitution
Ich finde mich ziemlich oft in der Situation, wo ich eine lange Kommandozeile eingegeben habe und dann merke, dass ich irgendwo in der Zeile ein Wort ändern möchte.
Mein aktueller Ansatz ist es, die Linie zu beenden, drücken Ctrl + A (zum Anfang der Zeile zu erhalten), legen Sie eine # (um die Zeile aus kommentieren), drücken Sie die Eingabetaste und dann die ^oldword^newword
verwenden Syntax (^oldword^newword
führt den vorherigen Befehl nach dem Ersetzen von oldword durch newword aus).
Aber es muss einen besseren (schneller) Weg geben, dies zu erreichen. (Die Maus ist nicht möglich, da ich die meiste Zeit in einer SSH-Sitzung bin).
Wahrscheinlich gibt es dafür einen Emacs-ähnlichen Tastenbefehl, von dem ich nichts weiß.
Edit: Ich habe versucht mit vi-Modus. Etwas Komisches ist passiert. Obwohl ich ein liebender Vim-User bin, hatte ich ernsthafte Probleme mit meinem geliebten Bash. All diese Fingerbewegungen, die in mein Unterbewusstsein eingebrannt waren, hörten plötzlich auf zu arbeiten. Ich kehrte schnell in den Emacs-Modus zurück und dachte darüber nach, Emacs als meinen Lieblingsredakteur auszuprobieren (obwohl ich denke, dass das Gleiche wieder passieren könnte).
Es funktioniert in der Tat auch mit Bash, und ich würde sagen, das ist die beste Antwort, wenn Sie mit Ihrer aktuellen Kommandozeile vollwertige "Editor-Sachen" machen wollen. – jwd