Ich habe vor kurzem unter Ubuntu von Bash zu Zsh gewechselt und bin ziemlich glücklich darüber. Es gibt jedoch etwas, das ich wirklich vermisse, und ich habe nicht herausgefunden, wie ich dasselbe erreichen kann.
Wenn ich in Bash einen langen Befehl eingab und bemerkte, dass ich vorher etwas anderes ausführen musste, musste ich es einfach wie folgt auskommentieren:
me@home> #mysuperlongcommand with some arguments
me@home> thecommandIhavetorunfirst #and then: then up up
me@home> #mysuperlongcommand with some arguments #I just need to uncomment it!
Diese ziemlich wiederkehrende Situation ist jedoch nicht so einfach zu lösen wie mit zsh
, da #mysuperlongcommand
sie als solche ausgeführt wird (und zu Folgendem führt : zsh: command not found: #mysuperlongcommand
.
quelle
set -k
wenn es nur eine einmalige ist. Aber ich würde diesetopt
Zeile aus dieser Antwort in meinem zshrcich benutze
Aus dem zsh-Handbuch:
So sieht es aus:
Wenn Sie die
INTERACTIVE_COMMENTS
Option (setopt INTERACTIVE_COMMENTS
) festlegen , können Sie auch Kommentare in interaktiven Shells verwenden, wie Sie es gewohnt sind.quelle
read -z
und bearbeitet werdenprint -z
, so dass Sie mit einigen Skripten und temporären Dateien. Dann ist ein benutzerdefiniertes zle-Widget zum Speichern der Befehlszeile in einer temporären Datei möglicherweise einfacher, und der freigegebene Verlauf ist noch einfacher.Ich mache das auch oft. Ich schneide den Befehl long aus, führe den Befehl aus, der zuerst ausgeführt werden muss, und füge dann den Befehl long wieder ein. Dies ist ganz einfach: STRG + U schneidet den aktuellen Befehl in einen Puffer, STRG + Y fügt ihn ein. Funktioniert in zsh und bash.
quelle
Zusätzlich zu dem
setopt interactivecomments
Vorschlag von @Lajnold möchten Sie möglicherweise Folgendes hinzufügen, um zu verhindern, dass bestimmte Kommentare in den Verlauf geschrieben werden (von /superuser/352788/how-to-prevent-a- Befehl-in-der-Zshell-vom-Speichern-in-der-Geschichte ):Dies überschreibt die in ZSH integrierte Funktion zshaddhistory ():
Als Referenz ist dies die Standardeinstellung von zshaddhistory () http://zsh.sourceforge.net/Doc/Release/Functions.html
quelle