set -Ux(ユニバーサル変数のエクスポート)が働かない?
既に同じ名前のグローバル変数が設定されています.
EDITOR
やTZ
といった環境変数はset -Ux
によってユニバーサルに設定できます.
しかし, fishが起動する前に既に環境変数が設定されている場合(ログインスクリプトやシステムの管理者によって),
それはグローバル変数として設定されます.
[変数スコープ]は"inside out"の検索方式をとっていて, ローカル変数, グローバル変数それからユニバーサル変数の順に変数を確認していきます.
これはグローバル変数の方がユニバーサール変数よりも優先順位が高いことを意味しています.
この問題を避けるために, fishの継承の設定を変えることが考えられます.
これが不可能なら, 次のような設定を[設定ファイル] (大抵の場合, ~/.config/fish/config.fish
)に記述してください.
set -gx EDITOR vim