A resposta simples para a sua pergunta é você precisa definir share_history , você faz isso com:
setopt share_history
Desde que você obviamente já fez isso (e essa opção realmente funciona). Eu sugiro que você verifique:
- se os ambos shells têm a opção definida;
- se você não está digitando comandos com um espaço à esquerda (pois
histignorespacefaz com que eles sejam ignorados) - Você tem
$HISTFILEdefinido para o mesmo valor em todos os shells? - se você está realmente salvando algum histórico? Diga, se você emitir
echo 123na guia-1. Vá para a guia 2, chamehistory. Está lá? (como por seu problema, não). Agora emita,fc -R(significa reler o arquivo do histórico) e, em seguida,historyestá lá agora? Se não, você também pode querer chamarfc -A(-Airá anexar o seu histórico ao arquivo) na tab-1 para ter certeza de que o histórico está escrito no arquivo.