Fish-Terminal + iTerm, Shell-Integration nur ausführen, wenn das Terminal iTerm ist

Fish-Terminal + iTerm, Shell-Integration nur ausführen, wenn das Terminal iTerm ist

iTerm verfügt über ein Shell-Integrationsskript, das einige ausgefallene Funktionen ermöglicht, wie beispielsweise die Möglichkeit, zur letzten Eingabeaufforderung zu scrollen (falls es viele Standardausgaben gab, z. B. beim Kompilieren von Code). Wenn das Terminal jedoch nicht iTerm ist, schlägt dieses Shell-Skript fehl und verunreinigt die Eingabeaufforderung.

Ich versuche, es zu bereinigen, indem ich die Shell-Integration nur ausführe, wenn das Terminal iTerm ist.

Antwort1

Wenn Sie dies in Ihre ~/.config/fish/config.fish einfügen, sollte es funktionieren

if test $TERM_PROGRAM = iTerm.app
    test -e {$HOME}/.iterm2_shell_integration.fish ; and source {$HOME}/.iterm2_shell_integration.fish
end

Antwort2

Wenn Sie dies in Ihre einfügen, ~/.config/fish/config.fishsollte es funktionierenUndÜberprüfen Sie, ob $TERM_PROGRAMes gesetzt wurde.

test -n "$TERM_PROGRAM"
and test $TERM_PROGRAM = iTerm.app
and test -e {$HOME}/.iterm2_shell_integration.fish
and source {$HOME}/.iterm2_shell_integration.fish

verwandte Informationen