代码之家  ›  专栏  ›  技术社区  ›  Tommy

tmux+鱼壳;conf来源两次

  •  1
  • Tommy  · 技术社区  · 6 年前

    当我开始的时候 tmux ,我的 ~/.config/fish/config.fish 似乎是来源 再一次 . 这意味着任何 set PATH foo $PATH 我的陈述 config 再次执行,这将导致路径变量中有重复的条目。这不是激烈的,但它是恼人的回声路径。当它这么长的时候

    我怎样才能避免这个问题?

    编辑:我的tmux文件中唯一与fish相关的实体是

    #fix vim set -g default-shell $SHELL set -g default-command "reattach-to-user-namespace -l ${SHELL}" set -g default-command 'reattach-to-user-namespace $SHELL --login'

    1 回复  |  直到 6 年前
        1
  •  4
  •   Kurtis Rader    6 年前

    这个 ~/.config/fish/config.fish 配置文件由每个新的fish实例读取。有几种方法可以达到你的要求。一种选择是始终设置 PATH 从零开始。也就是说,不要将现有路径修改为追加或添加到它,而是将它设置为给定机器所需的精确路径。有点像

    set -gx PATH $HOME/bin /usr/local/bin /usr/bin/ /bin
    test -d /opt/X11/bin
    and set PATH $PATH /opt/X11/bin
    

    另一个选项是仅当目录不在路径中时才添加它们:

    contains /usr/local/bin $PATH
    or set PATH /usr/local/bin $PATH
    

    或者仅在不在tmux会话内时进行修改:

    if not set -q TMUX
        set PATH /argle/bargle $PATH
    end