tmux 中没有 zsh 语法突出显示

tmux 中没有 zsh 语法突出显示

我的经验是正确的zsh-syntax-highlighting(参见这里) 首次打开 shell 会话时,但一旦输入tmux,语法突出显示就不再出现。

我发现这个 Github 问题描述一个类似但看似不同的问题,因为用户能够在第一个窗格中看到语法突出显示。

我首先安装了zsh,然后安装oh-my-zsh了 ,最后zsh-syntax-highlighting通过pacmanArch 并在我的底部.zshrc(没有任何条件)获取了它,如下所示:

source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

我不明白为什么这个功能在 tmux 中似乎不起作用。除了这个之外,所有其他配置/主题/插件/源文件似乎都运行良好。我缺少什么?

编辑:

  • TERM中的变量.zshrcexport TERM="xterm-256color"
  • $TERM在tmux 外部回显给出xterm-256color.

  • TERM中的变量.tmux.confset -g default-terminal "screen-256color".

  • $TERM在 tmux 内部回显也给出了xterm-256color.

答案1

不要TERM在 shell 启动文件中设置。 TERM由您正在运行的终端决定,而不是由 shell 决定。

您的 shell 启动文件将TERM覆盖tmux.

答案2

我想是在升级到 OS El Capitan 后,这个问题就停止了。我的 ~/.zshrc 中有这个:(alias tmux="TERM=screen-256color-bce tmux"取自另一个 stackexchange 答案)。我将其更改为alias tmux="TERM=screen-256color tmux",现在一切都恢复正常了。

我意识到这个答案不会直接帮助您,但可能对其他人有帮助。

相关内容