我的经验是正确的zsh-syntax-highlighting
(参见这里) 首次打开 shell 会话时,但一旦输入tmux
,语法突出显示就不再出现。
我发现这个 Github 问题描述一个类似但看似不同的问题,因为用户能够在第一个窗格中看到语法突出显示。
我首先安装了zsh
,然后安装oh-my-zsh
了 ,最后zsh-syntax-highlighting
通过pacman
Arch 并在我的底部.zshrc
(没有任何条件)获取了它,如下所示:
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
我不明白为什么这个功能在 tmux 中似乎不起作用。除了这个之外,所有其他配置/主题/插件/源文件似乎都运行良好。我缺少什么?
编辑:
TERM
中的变量.zshrc
是export TERM="xterm-256color"
$TERM
在tmux 外部回显给出xterm-256color
.TERM
中的变量.tmux.conf
是set -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"
,现在一切都恢复正常了。
我意识到这个答案不会直接帮助您,但可能对其他人有帮助。