
iTerm には、最後のプロンプトまでスクロールする機能など、いくつかの高度な機能を有効にするシェル統合スクリプトがあります (コードのコンパイル時など、stdout が大量にある場合)。ただし、ターミナルが iTerm でない場合、そのシェル スクリプトは失敗し、プロンプトが汚染されます。
ターミナルが iTerm の場合にのみシェル統合を実行するようにクリーンアップしようとしています。
答え1
これを~/.config/fish/config.fishに記述すればうまくいくはずです
if test $TERM_PROGRAM = iTerm.app
test -e {$HOME}/.iterm2_shell_integration.fish ; and source {$HOME}/.iterm2_shell_integration.fish
end
答え2
これをあなたの中に入れると~/.config/fish/config.fish
うまくいくはずですそして設定されているかどうかを確認します$TERM_PROGRAM
。
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