Atualmente, eu tenho o zsh configurado de forma que o histórico de comandos seja compartilhado entre todas as sessões imediatamente.
Digamos que eu tenha um emulador de terminal aberto com duas guias, cada uma com uma sessão zsh, A1 e A2. Se eu inserir ls -la em A1 e, em seguida, for para A2 e pressionar a tecla de seta para cima, verei ls -la no prompt de comando.
Gostaria de alterá-lo para que as sessões não compartilhem o histórico de comandos, embora, quando você inicia uma nova sessão, obtenha todo o histórico anterior de todas as sessões anteriores.
zsh
command-history
Arte
fonte
fonte
Respostas:
Você provavelmente já está
INC_APPEND_HISTORY
pronto.A
INC_APPEND_HISTORY
opção, deman zshoptions
:A opção que você deseja é
APPEND_HISTORY
:Você pode ler sobre essas opções em
man zshoptions
,man zshall
ou online aqui .Para defini-los, no seu
~/.zshrc
ou similar, você deve ter:Esteja ciente de que, se você estiver usando oh-my-zsh, por padrão, acredito,
INC_APPEND_HISTORY
será usado. Não tenho 100% de certeza de como as coisas são carregadas, mas se aoh-my-zsh
opção substituir a que você definiu~/.zshrc
, você pode mexer com ela~/.oh-my-zsh/lib/history.zsh
fonte
echo unsetopt INC_APPEND_HISTORY >~/.oh-my-zsh/custom/history.zsh
Para adicionar à resposta aceita, se você usar
oh-my-zsh
, provavelmente tem aSHARE_HISTORY
opção ativada por padrão.Para obter a separação entre os shells em execução + todo o histórico combinado em um terminal recém-aberto, é necessário comentar ou remover a seguinte linha:
de
~/.oh-my-zsh/lib/history.zsh
fonte
~/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/lib/history.zsh
unsetopt share_history
seu.zshrc
depois deoh-my-zsh
carregado. Documentado aqui .