Não defina TERM em seus arquivos de inicialização do shell. TERM é determinado pelo terminal que você está executando, não pelo seu shell.
Seu arquivo de inicialização do shell está substituindo o TERM definido por tmux .
Eu experimentei o zsh-syntax-highlighting (veja aqui ) ao abrir uma sessão de shell pela primeira vez, mas Assim que eu inserir tmux , o destaque da sintaxe não aparecerá mais.
Eu encontrei esta questão do Github descrevendo um problema semelhante, mas aparentemente diferente, como o o usuário pode ver o realce de sintaxe no primeiro painel.
Instalei pela primeira vez zsh , depois oh-my-zsh e, finalmente, zsh-syntax-highlighting via pacman no Arch e obtive-o na parte inferior do meu .zshrc (sem nenhum condicional) da seguinte forma:
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
Eu não entendo porque especificamente esse recurso não parece funcionar no tmux. Todas as outras configurações / temas / plugins / arquivos originados parecem funcionar bem, exceto por este. O que estou perdendo?
EDITAR:
TERM em .zshrc é export TERM="xterm-256color"
Ecoando $TERM fora do tmux dá xterm-256color .
A variável TERM em .tmux.conf é set -g default-terminal "screen-256color" .
$TERM dentro do tmux também fornece xterm-256color . Não defina TERM em seus arquivos de inicialização do shell. TERM é determinado pelo terminal que você está executando, não pelo seu shell.
Seu arquivo de inicialização do shell está substituindo o TERM definido por tmux .
Acho que foi depois de atualizar para o OS El Capitan quando isso parou para mim. Eu tinha isso no meu ~ / .zshrc: alias tmux="TERM=screen-256color-bce tmux" (retirado de outra resposta stackexchange).
Eu mudei para alias tmux="TERM=screen-256color tmux" e tudo funciona novamente agora.
Eu percebo que essa resposta não ajuda você diretamente, mas pode ajudar outras pessoas.