Fish ターミナル + iTerm、ターミナルが iTerm の場合のみシェル統合を実行します

Fish ターミナル + iTerm、ターミナルが iTerm の場合のみシェル統合を実行します

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

関連情報