Gibt es ein Fischäquivalent für precmd (zsh) / PROMPT_COMMAND (bash)?
Ich suche nach einer Möglichkeit, eine umfassendere Historie mit Pfad, Datum und Befehl in einer separaten Protokolldatei zu speichern
Es gibt verschiedene Möglichkeiten, dies zu tun. Fishs Prompt ist ein bisschen Code in einer Funktion namens fish_prompt
. Sie können es über funced fish_prompt
ändern und diese Änderungen dann mit funcsave fish_prompt
auf der Disc speichern (dies wird in ~/.config/fish/functions/fish_prompt.fish gespeichert, das Sie auch direkt ändern können wenn Sie es wünschen).
Andernfalls gibt es das Ereignis fish_prompt
, das kurz vor einer Eingabeaufforderung ausgelöst wird. Du kannst einen Hörer dafür schreiben wie
function dostuff --on-event fish_prompt
# do your stuff
end
Beachten Sie, dass dies nicht im Funktionsverzeichnis gespeichert werden kann, da diese automatisch geladen werden. Speichern Sie es in config.fish, einer Datei, die von ihm bezogen wird, oder (in der nächsten fish-Version) ~/.config/fish/conf.d (in einer Datei mit der Endung ".fish").
Es gibt auch die Ereignisse fish_preexec
und fish_postexec
, die direkt vor bzw. nach einem Job ausgelöst werden.
@gawells , hat das deine Frage beantwortet?
Ja, hat es getan danke
Hilfreichster Kommentar
Es gibt verschiedene Möglichkeiten, dies zu tun. Fishs Prompt ist ein bisschen Code in einer Funktion namens
fish_prompt
. Sie können es überfunced fish_prompt
ändern und diese Änderungen dann mitfuncsave fish_prompt
auf der Disc speichern (dies wird in ~/.config/fish/functions/fish_prompt.fish gespeichert, das Sie auch direkt ändern können wenn Sie es wünschen).Andernfalls gibt es das Ereignis
fish_prompt
, das kurz vor einer Eingabeaufforderung ausgelöst wird. Du kannst einen Hörer dafür schreiben wieBeachten Sie, dass dies nicht im Funktionsverzeichnis gespeichert werden kann, da diese automatisch geladen werden. Speichern Sie es in config.fish, einer Datei, die von ihm bezogen wird, oder (in der nächsten fish-Version) ~/.config/fish/conf.d (in einer Datei mit der Endung ".fish").
Es gibt auch die Ereignisse
fish_preexec
undfish_postexec
, die direkt vor bzw. nach einem Job ausgelöst werden.