Base16颜色在tmux ssh下中断

时间:2018-01-24 20:03:48

标签: ssh zsh tmux

我正在为我的所有机器使用相同的点文件。

在我的本地机器上,当sshing到时,tmux中的一切工作都很好 我的一台机器颜色坏了。颜色也常常在tmux之外进行sshing。

可以在图像中看到常规设置

see image

1 个答案:

答案 0 :(得分:0)

由于远程主机上没有运行tmux会话(tmux在本地运行,其中一个窗格中发生了ssh),因此没有设置$TMUX环境变量。

Base16脚本期望有一个这样的标志,以便正确设置RGB

     if [ -n "$TMUX" ]; then
      # Tell tmux to pass the escape sequences through
      # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324)
      put_template() { printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' $@; }
      put_template_var() { printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' $@; }
      put_template_custom() { printf '\033Ptmux;\033\033]%s%s\033\033\\\033\\' $@; }
     elif [ "${TERM%%[-.]*}" = "screen" ]; then
    ...

目前解决方法是修复每个脚本中的if语句。